DSWaylandServer: add wl_output interface related prototype codes 55/241555/1
authorJunkyeong Kim <jk0430.kim@samsung.com>
Wed, 1 Jul 2020 08:00:33 +0000 (17:00 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Thu, 20 Aug 2020 09:45:13 +0000 (18:45 +0900)
Change-Id: I9269b2be415cba8e0ae84d40bb6588231d9f7622

src/DSWaylandServer/DSWaylandOutput.cpp [new file with mode: 0644]
src/DSWaylandServer/DSWaylandOutput.h [new file with mode: 0644]
src/DSWaylandServer/DSWaylandOutputPrivate.h [new file with mode: 0644]
src/meson.build
tests/DSWaylandOutput-test.cpp [new file with mode: 0644]
tests/meson.build

diff --git a/src/DSWaylandServer/DSWaylandOutput.cpp b/src/DSWaylandServer/DSWaylandOutput.cpp
new file mode 100644 (file)
index 0000000..1d47d49
--- /dev/null
@@ -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<DSWaylandOutputPrivate>(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 (file)
index 0000000..ce93851
--- /dev/null
@@ -0,0 +1,31 @@
+#ifndef _DS_WAYLAND_OUTPUT_H_
+#define _DS_WAYLAND_OUTPUT_H_
+
+#include <DSObject.h>
+
+namespace display_server
+{
+
+class DSWaylandOutputPrivate;
+
+class DSWaylandOutput : public DSObject
+{
+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;
+};
+
+}
+
+#endif
diff --git a/src/DSWaylandServer/DSWaylandOutputPrivate.h b/src/DSWaylandServer/DSWaylandOutputPrivate.h
new file mode 100644 (file)
index 0000000..8dd08e3
--- /dev/null
@@ -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
index 9ccbde6..db4e54b 100644 (file)
@@ -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 (file)
index 0000000..3f90d0b
--- /dev/null
@@ -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);
+}
index eca62d1..abf9099 100644 (file)
@@ -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',
        ]