From 84ee4db78b5ec528a33ebdf155dcb13ef2c994fb Mon Sep 17 00:00:00 2001 From: Junkyeong Kim Date: Wed, 1 Jul 2020 17:00:33 +0900 Subject: [PATCH] DSWaylandServer: add wl_output interface related prototype codes Change-Id: I9269b2be415cba8e0ae84d40bb6588231d9f7622 --- src/DSWaylandServer/DSWaylandOutput.cpp | 33 ++++++++++++++++++++++++++++ src/DSWaylandServer/DSWaylandOutput.h | 31 ++++++++++++++++++++++++++ src/DSWaylandServer/DSWaylandOutputPrivate.h | 26 ++++++++++++++++++++++ src/meson.build | 3 +++ tests/DSWaylandOutput-test.cpp | 20 +++++++++++++++++ tests/meson.build | 1 + 6 files changed, 114 insertions(+) create mode 100644 src/DSWaylandServer/DSWaylandOutput.cpp create mode 100644 src/DSWaylandServer/DSWaylandOutput.h create mode 100644 src/DSWaylandServer/DSWaylandOutputPrivate.h create mode 100644 tests/DSWaylandOutput-test.cpp diff --git a/src/DSWaylandServer/DSWaylandOutput.cpp b/src/DSWaylandServer/DSWaylandOutput.cpp new file mode 100644 index 0000000..1d47d49 --- /dev/null +++ b/src/DSWaylandServer/DSWaylandOutput.cpp @@ -0,0 +1,33 @@ +#include "DSWaylandOutput.h" +#include "DSWaylandOutputPrivate.h" + +namespace display_server +{ +DSWaylandOutputPrivate::DSWaylandOutputPrivate(DSWaylandOutput *p_ptr) + : DSObjectPrivate(p_ptr) +{ +} +DSWaylandOutputPrivate::~DSWaylandOutputPrivate() +{ +} + +void DSWaylandOutputPrivate::output_bind_resource(wl_output::Resource *resource) +{ + //To Do + //send scale, geometry, mode, done +} + +void DSWaylandOutputPrivate::output_release(wl_output::Resource *resource) +{ +} + +DSWaylandOutput::DSWaylandOutput() + : DSObject(std::make_unique(this)) +{ +} + +DSWaylandOutput::~DSWaylandOutput() +{ +} + +} // namespace display_server \ No newline at end of file diff --git a/src/DSWaylandServer/DSWaylandOutput.h b/src/DSWaylandServer/DSWaylandOutput.h new file mode 100644 index 0000000..ce93851 --- /dev/null +++ b/src/DSWaylandServer/DSWaylandOutput.h @@ -0,0 +1,31 @@ +#ifndef _DS_WAYLAND_OUTPUT_H_ +#define _DS_WAYLAND_OUTPUT_H_ + +#include + +namespace display_server +{ + +class DSWaylandOutputPrivate; + +class DSWaylandOutput : public DSObject +{ +public: + DSWaylandOutput(); + virtual ~DSWaylandOutput(); + +private: + inline DSWaylandOutputPrivate *__d_func() + { + return reinterpret_cast(_d_ptr.get()); + } + inline const DSWaylandOutputPrivate *__d_func() const + { + return reinterpret_cast(_d_ptr.get()); + } + friend class DSWaylandOutputPrivate; +}; + +} + +#endif diff --git a/src/DSWaylandServer/DSWaylandOutputPrivate.h b/src/DSWaylandServer/DSWaylandOutputPrivate.h new file mode 100644 index 0000000..8dd08e3 --- /dev/null +++ b/src/DSWaylandServer/DSWaylandOutputPrivate.h @@ -0,0 +1,26 @@ +#ifndef _DS_WAYLAND_OUTPUT_PRIVATE_H_ +#define _DS_WAYLAND_OUTPUT_PRIVATE_H_ + +#include "dswayland-server-wayland.h" +#include "DSWaylandOutput.h" + +namespace display_server +{ + +class DSWaylandOutputPrivate : public DSObjectPrivate, public DSWaylandServer::wl_output +{ +public: + DSWaylandOutputPrivate() = delete; + DSWaylandOutputPrivate(DSWaylandOutput *p_ptr); + ~DSWaylandOutputPrivate() override; + +protected: + void output_bind_resource(Resource *resource) override; + void output_release(Resource *resource) override; +private: + /* data */ +}; + +} + +#endif diff --git a/src/meson.build b/src/meson.build index 9ccbde6..db4e54b 100644 --- a/src/meson.build +++ b/src/meson.build @@ -55,6 +55,9 @@ libds_wayland_srcs = [ 'DSWaylandServer/dswayland-server-text.h', 'DSWaylandServer/dswayland-server-tizen-launch.cpp', 'DSWaylandServer/dswayland-server-tizen-launch.h', + 'DSWaylandServer/DSWaylandOutput.cpp', + 'DSWaylandServer/DSWaylandOutput.h', + 'DSWaylandServer/DSWaylandOutputPrivate.h', 'DSWaylandServer/DSWaylandTizenInputDevice.cpp', 'DSWaylandServer/DSWaylandTizenInputDevice.h', 'DSWaylandServer/DSWaylandTizenInputDevicePrivate.h', diff --git a/tests/DSWaylandOutput-test.cpp b/tests/DSWaylandOutput-test.cpp new file mode 100644 index 0000000..3f90d0b --- /dev/null +++ b/tests/DSWaylandOutput-test.cpp @@ -0,0 +1,20 @@ +#include "libds-tests.h" +#include "DSWaylandOutput.h" + +using namespace display_server; + +class DSWaylandOutputTest : public ::testing::Test +{ +public: + void SetUp(void) override + {} + void TearDown(void) override + {} +}; + +TEST_F(DSWaylandOutputTest, NewDSWaylandOutput) +{ + DSWaylandOutput *output = new DSWaylandOutput; + delete output; + EXPECT_TRUE(true); +} diff --git a/tests/meson.build b/tests/meson.build index eca62d1..abf9099 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -15,6 +15,7 @@ libds_tests_srcs = [ 'DSDebugLog-test.cpp', 'DSDisplayDeviceTDMImpl-test.cpp', 'DSSignal-test.cpp', + 'DSWaylandOutput-test.cpp', 'DSWaylandTizenInputDeviceManager-test.cpp', 'DSWaylandTizenInputDevice-test.cpp', ] -- 2.7.4