*/
#include "DSBufferRef.h"
-#include "DSBufferRefPrivate.h"
#include "DSDebugLog.h"
namespace display_server
{
DSBufferRef::DSBufferRef(std::shared_ptr<IDSBuffer> dsBuffer)
- : _d_ptr(std::make_unique<DSBufferRefPrivate>(this, dsBuffer))
-{}
-
-DSBufferRef::~DSBufferRef()
-{}
-
-std::shared_ptr<IDSBuffer> DSBufferRef::refDSBufferGet()
-{
- DS_GET_PRIV(DSBufferRef);
-
- return priv->refDSBufferGet();
-}
-
-DSBufferRefPrivate::DSBufferRefPrivate(DSBufferRef *p_ptr, std::shared_ptr<IDSBuffer> dsBuffer)
- : DSObjectPrivate(p_ptr),
- __p_ptr(p_ptr),
- __dsBuffer(dsBuffer)
+ : __dsBuffer(dsBuffer)
{
__dsBuffer->ref();
}
-DSBufferRefPrivate::~DSBufferRefPrivate()
+DSBufferRef::~DSBufferRef()
{
- if (__dsBuffer)
- __dsBuffer->unref();
+ __dsBuffer->unref();
}
-std::shared_ptr<IDSBuffer> DSBufferRefPrivate::refDSBufferGet()
+std::shared_ptr<IDSBuffer> DSBufferRef::refDSBufferGet()
{
return __dsBuffer;
}
#define __DS_BUFFER_REF_H__
#include <DSCore.h>
-#include <DSObject.h>
#include <IDSBuffer.h>
namespace display_server
{
-class DSBufferRefPrivate;
-
-class DSBufferRef : public DSObject
+class DSBufferRef
{
-DS_PIMPL_USE_PRIVATE(DSBufferRef);
public:
explicit DSBufferRef(std::shared_ptr<IDSBuffer> dsBuffer);
virtual ~DSBufferRef();
std::shared_ptr<IDSBuffer> refDSBufferGet();
+
+private:
+ std::shared_ptr<IDSBuffer> __dsBuffer;
};
}
+++ /dev/null
-/*
-* Copyright © 2020 Samsung Electronics co., Ltd. All Rights Reserved.
-*
-* Permission is hereby granted, free of charge, to any person obtaining a
-* copy of this software and associated documentation files (the "Software"),
-* to deal in the Software without restriction, including without limitation
-* the rights to use, copy, modify, merge, publish, distribute, sublicense,
-* and/or sell copies of the Software, and to permit persons to whom the
-* Software is furnished to do so, subject to the following conditions:
-*
-* The above copyright notice and this permission notice (including the next
-* paragraph) shall be included in all copies or substantial portions of the
-* Software.
-*
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-* DEALINGS IN THE SOFTWARE.
-*/
-
-#ifndef __DS_BUFFER_REF_PRIVATE_H__
-#define __DS_BUFFER_REF_PRIVATE_H__
-
-#include "DSBufferRef.h"
-
-namespace display_server
-{
-
-class DSBufferRefPrivate : public DSObjectPrivate
-{
- DS_PIMPL_USE_PUBLIC(DSBufferRef);
-public:
- DSBufferRefPrivate() = delete;
- DSBufferRefPrivate(DSBufferRef *p_ptr, std::shared_ptr<IDSBuffer> dsBuffer);
-
- ~DSBufferRefPrivate();
-
- std::shared_ptr<IDSBuffer> refDSBufferGet();
-
-private:
- std::shared_ptr<IDSBuffer> __dsBuffer;
-};
-
-}
-
-#endif
'DSBuffer/DSBufferManagerPrivate.h',
'DSBuffer/DSBufferRef.cpp',
'DSBuffer/DSBufferRef.h',
- 'DSBuffer/DSBufferRefPrivate.h',
'DSCallback/DSCallback.h',
'DSCanvas/DSCanvas.cpp',
'DSCompositor/DSCompositor.cpp',