#include "DSCanvas.h"
+#include "DSCanvasPrivate.h"
#include "DSDebugLog.h"
namespace display_server
{
DSCanvas::DSCanvas()
- : __policyArea(nullptr),
- __displayArea(nullptr)
+ : DS_INIT_PRIVATE_PTR(DSCanvas)
{}
DSCanvas::~DSCanvas()
bool DSCanvas::attachPolicyArea(std::shared_ptr<DSPolicyArea> policyArea)
{
- if (policyArea) {
- DSLOG_ERR("DSCanvas", "canvas has already policyArea(%p).", policyArea);
+ DS_GET_PRIV(DSCanvas);
+
+ if (!priv->attachPolicyArea(policyArea))
+ return false;
+
+ return true;
+}
+
+bool DSCanvas::attachDisplayArea(std::shared_ptr<DSDisplayArea> displayArea)
+{
+ DS_GET_PRIV(DSCanvas);
+
+ if (!priv->attachDisplayArea(displayArea))
+ return false;
+
+ return true;
+}
+
+DSCanvasPrivate::DSCanvasPrivate(DSCanvas *p_ptr)
+ : DSObjectPrivate(p_ptr),
+ __p_ptr(p_ptr),
+ __policyArea(nullptr),
+ __displayArea(nullptr)
+{}
+
+DSCanvasPrivate::~DSCanvasPrivate()
+{}
+
+bool DSCanvasPrivate::attachPolicyArea(std::shared_ptr<DSPolicyArea> policyArea)
+{
+ if (__policyArea) {
+ DSLOG_ERR("DSCanvasPrivate", "canvas has already policyArea(%p).", policyArea);
return false;
}
return true;
}
-bool DSCanvas::attachDisplayArea(std::shared_ptr<DSDisplayArea> displayArea)
+bool DSCanvasPrivate::attachDisplayArea(std::shared_ptr<DSDisplayArea> displayArea)
{
if (__displayArea) {
- DSLOG_ERR("DSCanvas", "canvas has already displayArea(%p).", __displayArea);
+ DSLOG_ERR("DSCanvasPrivate", "canvas has already displayArea(%p).", __displayArea);
return false;
}
-#ifndef _DSCANVAS_H_
-#define _DSCANVAS_H_
+#ifndef __DS_CANVAS_H__
+#define __DS_CANVAS_H__
+#include <DSCore.h>
+#include <DSObject.h>
#include <DSPolicyArea.h>
#include <DSDisplayArea.h>
#include <memory>
namespace display_server
{
-class DSCanvas
+
+class DSCanvasPrivate;
+
+class DSCanvas : public DSObject
{
+DS_PIMPL_USE_PRIVATE(DSCanvas);
public:
- DSCanvas();
+ explicit DSCanvas();
virtual ~DSCanvas();
bool attachPolicyArea(std::shared_ptr<DSPolicyArea> polcyArea);
bool attachDisplayArea(std::shared_ptr<DSDisplayArea> displayArea);
-
-private:
- std::shared_ptr<DSPolicyArea> __policyArea;
- std::shared_ptr<DSDisplayArea> __displayArea;
};
+
}
#endif
\ No newline at end of file
--- /dev/null
+#ifndef __DS_CANVAS_PRIVATE_H__
+#define __DS_CANVAS_PRIVATE_H__
+
+#include "DSCanvas.h"
+
+namespace display_server
+{
+
+class DSCanvasPrivate : public DSObjectPrivate
+{
+DS_PIMPL_USE_PUBLIC(DSCanvas);
+public:
+ DSCanvasPrivate() = delete;
+ DSCanvasPrivate(DSCanvas *p_ptr);
+ ~DSCanvasPrivate();
+
+ bool attachPolicyArea(std::shared_ptr<DSPolicyArea> polcyArea);
+ bool attachDisplayArea(std::shared_ptr<DSDisplayArea> displayArea);
+
+private:
+ std::shared_ptr<DSPolicyArea> __policyArea;
+ std::shared_ptr<DSDisplayArea> __displayArea;
+};
+
+}
+
+#endif
\ No newline at end of file