DSWaylandOutput: use macros of Pimpl 35/241635/1
authorJunkyeong Kim <jk0430.kim@samsung.com>
Thu, 16 Jul 2020 07:29:37 +0000 (16:29 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Thu, 20 Aug 2020 09:54:04 +0000 (18:54 +0900)
Change-Id: I2195d8bbe647d72445e81f1fa689bdb0cb70d764

src/DSWaylandServer/DSWaylandOutput.cpp
src/DSWaylandServer/DSWaylandOutput.h
src/DSWaylandServer/DSWaylandOutputPrivate.h
tests/DSWaylandOutput-test.cpp

index 1d47d49..1feb389 100644 (file)
@@ -3,10 +3,13 @@
 
 namespace display_server
 {
+
 DSWaylandOutputPrivate::DSWaylandOutputPrivate(DSWaylandOutput *p_ptr)
-       : DSObjectPrivate(p_ptr)
+       : DSObjectPrivate(p_ptr),
+         __p_ptr(p_ptr)
 {
 }
+
 DSWaylandOutputPrivate::~DSWaylandOutputPrivate()
 {
 }
@@ -22,7 +25,7 @@ void DSWaylandOutputPrivate::output_release(wl_output::Resource *resource)
 }
 
 DSWaylandOutput::DSWaylandOutput()
-       : DSObject(std::make_unique<DSWaylandOutputPrivate>(this))
+       : DS_INIT_PRIVATE_PTR(DSWaylandOutput)
 {
 }
 
index ce93851..846e523 100644 (file)
@@ -2,28 +2,20 @@
 #define _DS_WAYLAND_OUTPUT_H_
 
 #include <DSObject.h>
+#include <DSCore.h>
 
 namespace display_server
 {
 
 class DSWaylandOutputPrivate;
 
-class DSWaylandOutput : public DSObject
+class DS_DECL_EXPORT DSWaylandOutput : public DSObject
 {
+DS_PIMPL_USE_PRIVATE(DSWaylandOutput);
+
 public:
        DSWaylandOutput();
        virtual ~DSWaylandOutput();
-
-private:
-       inline DSWaylandOutputPrivate *__d_func()
-       {
-               return reinterpret_cast<DSWaylandOutputPrivate *>(_d_ptr.get());
-       }
-       inline const DSWaylandOutputPrivate *__d_func() const
-       {
-               return reinterpret_cast<DSWaylandOutputPrivate *>(_d_ptr.get());
-       }
-       friend class DSWaylandOutputPrivate;
 };
 
 }
index 8dd08e3..031d307 100644 (file)
@@ -7,8 +7,10 @@
 namespace display_server
 {
 
-class DSWaylandOutputPrivate : public DSObjectPrivate, public DSWaylandServer::wl_output
+class DS_DECL_EXPORT DSWaylandOutputPrivate : public DSObjectPrivate, public DSWaylandServer::wl_output
 {
+DS_PIMPL_USE_PUBLIC(DSWaylandOutput);
+
 public:
        DSWaylandOutputPrivate() = delete;
        DSWaylandOutputPrivate(DSWaylandOutput *p_ptr);
@@ -17,6 +19,7 @@ public:
 protected:
        void output_bind_resource(Resource *resource) override;
        void output_release(Resource *resource) override;
+
 private:
        /* data */
 };
index 3f90d0b..01143db 100644 (file)
@@ -15,6 +15,8 @@ public:
 TEST_F(DSWaylandOutputTest, NewDSWaylandOutput)
 {
        DSWaylandOutput *output = new DSWaylandOutput;
-       delete output;
-       EXPECT_TRUE(true);
+       EXPECT_TRUE(output != nullptr);
+
+       if (output)
+               delete output;
 }