From e86dafbbab4b2e8e5bf8f1195c99bd8402467e9b Mon Sep 17 00:00:00 2001 From: jeon Date: Mon, 29 Jun 2020 14:02:03 +0900 Subject: [PATCH] DSWaylandServer: imply Pimpl structure to DSWaylandTizenInputDeviceManager Change-Id: I0589c90c9729af4fb9a0f97fc2cf59c61c144554 --- src/DSWaylandServer/DSWaylandTizenInputDevice.cpp | 4 +++- src/DSWaylandServer/DSWaylandTizenInputDevice.h | 16 ++++++++++++++-- .../DSWaylandTizenInputDeviceManager.cpp | 6 +++++- .../DSWaylandTizenInputDeviceManager.h | 16 ++++++++++++++-- .../DSWaylandTizenInputDeviceManagerPrivate.h | 6 ++++-- .../DSWaylandTizenInputDevicePrivate.h | 6 ++++-- tests/DSWaylandTizenInputDevice-test.cpp | 21 +++++++++++++++++++++ tests/DSWaylandTizenInputDeviceManager-test.cpp | 21 +++++++++++++++++++++ tests/meson.build | 2 ++ 9 files changed, 88 insertions(+), 10 deletions(-) create mode 100644 tests/DSWaylandTizenInputDevice-test.cpp create mode 100644 tests/DSWaylandTizenInputDeviceManager-test.cpp diff --git a/src/DSWaylandServer/DSWaylandTizenInputDevice.cpp b/src/DSWaylandServer/DSWaylandTizenInputDevice.cpp index 840a346..90c8e0f 100644 --- a/src/DSWaylandServer/DSWaylandTizenInputDevice.cpp +++ b/src/DSWaylandServer/DSWaylandTizenInputDevice.cpp @@ -3,7 +3,8 @@ namespace display_server { -DSWaylandTizenInputDevicePrivate::DSWaylandTizenInputDevicePrivate() +DSWaylandTizenInputDevicePrivate::DSWaylandTizenInputDevicePrivate(DSWaylandTizenInputDevice *p_ptr) + : DSObjectPrivate(p_ptr) { } DSWaylandTizenInputDevicePrivate::~DSWaylandTizenInputDevicePrivate() @@ -20,6 +21,7 @@ void DSWaylandTizenInputDevicePrivate::tizen_input_device_release(Resource *reso DSWaylandTizenInputDevice::DSWaylandTizenInputDevice() + : DSObject(std::make_unique(this)) { } diff --git a/src/DSWaylandServer/DSWaylandTizenInputDevice.h b/src/DSWaylandServer/DSWaylandTizenInputDevice.h index a5f2c53..2f0060d 100644 --- a/src/DSWaylandServer/DSWaylandTizenInputDevice.h +++ b/src/DSWaylandServer/DSWaylandTizenInputDevice.h @@ -1,17 +1,29 @@ #ifndef _DS_WAYLAND_TIZEN_INPUT_DEVICE_H_ #define _DS_WAYLAND_TIZEN_INPUT_DEVICE_H_ +#include + namespace display_server { -class DSWaylandTizenInputDevice +class DSWaylandTizenInputDevicePrivate; + +class DSWaylandTizenInputDevice : public DSObject { public: DSWaylandTizenInputDevice(); virtual ~DSWaylandTizenInputDevice(); private: - + inline DSWaylandTizenInputDevicePrivate *__d_func() + { + return reinterpret_cast(_d_ptr.get()); + } + inline const DSWaylandTizenInputDevicePrivate *__d_func() const + { + return reinterpret_cast(_d_ptr.get()); + } + friend class DSWaylandTizenInputDevicePrivate; }; } diff --git a/src/DSWaylandServer/DSWaylandTizenInputDeviceManager.cpp b/src/DSWaylandServer/DSWaylandTizenInputDeviceManager.cpp index b748bf1..ec41cc6 100644 --- a/src/DSWaylandServer/DSWaylandTizenInputDeviceManager.cpp +++ b/src/DSWaylandServer/DSWaylandTizenInputDeviceManager.cpp @@ -4,9 +4,12 @@ namespace display_server { -DSWaylandTizenInputDeviceManagerPrivate::DSWaylandTizenInputDeviceManagerPrivate() + +DSWaylandTizenInputDeviceManagerPrivate::DSWaylandTizenInputDeviceManagerPrivate(DSWaylandTizenInputDeviceManager *p_ptr) + : DSObjectPrivate(p_ptr) { } + DSWaylandTizenInputDeviceManagerPrivate::~DSWaylandTizenInputDeviceManagerPrivate() { } @@ -55,6 +58,7 @@ void DSWaylandTizenInputDeviceManagerPrivate::tizen_input_device_manager_generat DSWaylandTizenInputDeviceManager::DSWaylandTizenInputDeviceManager() + : DSObject(std::make_unique(this)) { } diff --git a/src/DSWaylandServer/DSWaylandTizenInputDeviceManager.h b/src/DSWaylandServer/DSWaylandTizenInputDeviceManager.h index 8c2f3f6..36ce7e5 100644 --- a/src/DSWaylandServer/DSWaylandTizenInputDeviceManager.h +++ b/src/DSWaylandServer/DSWaylandTizenInputDeviceManager.h @@ -1,17 +1,29 @@ #ifndef _DS_WAYLAND_TIZEN_INPUT_DEVICE_MANAGER_H_ #define _DS_WAYLAND_TIZEN_INPUT_DEVICE_MANAGER_H_ +#include + namespace display_server { -class DSWaylandTizenInputDeviceManager +class DSWaylandTizenInputDeviceManagerPrivate; + +class DSWaylandTizenInputDeviceManager : public DSObject { public: DSWaylandTizenInputDeviceManager(); virtual ~DSWaylandTizenInputDeviceManager(); private: - + inline DSWaylandTizenInputDeviceManagerPrivate *__d_func() + { + return reinterpret_cast(_d_ptr.get()); + } + inline const DSWaylandTizenInputDeviceManagerPrivate *__d_func() const + { + return reinterpret_cast(_d_ptr.get()); + } + friend class DSWaylandTizenInputDeviceManagerPrivate; }; } diff --git a/src/DSWaylandServer/DSWaylandTizenInputDeviceManagerPrivate.h b/src/DSWaylandServer/DSWaylandTizenInputDeviceManagerPrivate.h index 0187d10..a3cb000 100644 --- a/src/DSWaylandServer/DSWaylandTizenInputDeviceManagerPrivate.h +++ b/src/DSWaylandServer/DSWaylandTizenInputDeviceManagerPrivate.h @@ -2,14 +2,16 @@ #define _DS_WAYLAND_TIZEN_INPUT_DEVICE_MANAGER_PRIVATE_H_ #include "dswayland-server-tizen-extension.h" +#include "DSWaylandTizenInputDeviceManager.h" namespace display_server { -class DSWaylandTizenInputDeviceManagerPrivate : public DSWaylandServer::tizen_input_device_manager +class DSWaylandTizenInputDeviceManagerPrivate : public DSObjectPrivate, public DSWaylandServer::tizen_input_device_manager { public: - DSWaylandTizenInputDeviceManagerPrivate(); + DSWaylandTizenInputDeviceManagerPrivate() = delete; + DSWaylandTizenInputDeviceManagerPrivate(DSWaylandTizenInputDeviceManager *p_ptr); ~DSWaylandTizenInputDeviceManagerPrivate() override; protected: diff --git a/src/DSWaylandServer/DSWaylandTizenInputDevicePrivate.h b/src/DSWaylandServer/DSWaylandTizenInputDevicePrivate.h index ef06efe..eb1efd2 100644 --- a/src/DSWaylandServer/DSWaylandTizenInputDevicePrivate.h +++ b/src/DSWaylandServer/DSWaylandTizenInputDevicePrivate.h @@ -2,14 +2,16 @@ #define _DS_WAYLAND_TIZEN_INPUT_DEVICE_PRIVATE_H_ #include "dswayland-server-tizen-extension.h" +#include "DSWaylandTizenInputDevice.h" namespace display_server { -class DSWaylandTizenInputDevicePrivate : public DSWaylandServer::tizen_input_device +class DSWaylandTizenInputDevicePrivate : public DSObjectPrivate, public DSWaylandServer::tizen_input_device { public: - DSWaylandTizenInputDevicePrivate(); + DSWaylandTizenInputDevicePrivate() = delete; + DSWaylandTizenInputDevicePrivate(DSWaylandTizenInputDevice *p_ptr); ~DSWaylandTizenInputDevicePrivate() override; protected: diff --git a/tests/DSWaylandTizenInputDevice-test.cpp b/tests/DSWaylandTizenInputDevice-test.cpp new file mode 100644 index 0000000..39a28c4 --- /dev/null +++ b/tests/DSWaylandTizenInputDevice-test.cpp @@ -0,0 +1,21 @@ +#include "libds-tests.h" +#include "DSWaylandTizenInputDevice.h" + +using namespace display_server; + +class DSWaylandTizenInputDeviceTest : public ::testing::Test +{ +public: + void SetUp(void) override + {} + void TearDown(void) override + {} +}; + +TEST_F(DSWaylandTizenInputDeviceTest, NewDSWaylandTizenInputDevice) +{ + DSWaylandTizenInputDevice *inputDevice = new DSWaylandTizenInputDevice; + delete inputDevice; + EXPECT_TRUE(true); +} + diff --git a/tests/DSWaylandTizenInputDeviceManager-test.cpp b/tests/DSWaylandTizenInputDeviceManager-test.cpp new file mode 100644 index 0000000..963bb1b --- /dev/null +++ b/tests/DSWaylandTizenInputDeviceManager-test.cpp @@ -0,0 +1,21 @@ +#include "libds-tests.h" +#include "DSWaylandTizenInputDeviceManager.h" + +using namespace display_server; + +class DSWaylandTizenInputDeviceManagerTest : public ::testing::Test +{ +public: + void SetUp(void) override + {} + void TearDown(void) override + {} +}; + +TEST_F(DSWaylandTizenInputDeviceManagerTest, NewDSWaylandTizenInputDeviceManager) +{ + DSWaylandTizenInputDeviceManager *inputDeviceManager = new DSWaylandTizenInputDeviceManager; + delete inputDeviceManager; + EXPECT_TRUE(true); +} + diff --git a/tests/meson.build b/tests/meson.build index 9f9fc8c..06ffc85 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -15,6 +15,8 @@ libds_tests_srcs = [ 'DSDebugLog-test.cpp', 'DSDisplayDeviceTDMImpl-test.cpp', 'DSSignal-test.cpp', + 'DSWaylandTizenInputDeviceManager-test.cpp', + 'DSWaylandTizenInputDevice-test.cpp', ] gmock_dep = dependency('gmock', method : 'pkg-config') -- 2.7.4