add the DSRenderFactory class and its concrete classes.
=========================================================================
make the initial code of the abstract factory pattern for the DSRender
At this time, there are two concrete factories.
- DSRenderFactoryEcoreEvas
- DSRenderFactoryDali
Each concrete factory creates three resouces below.
- DSRenderEngine
- DSRenderSurface
- DSRenderView
Change-Id: Ia0c3bf3ffac66c3b649a37c4a9d490c46e3c639c
'src/lib/DSRender/DSRenderView.cpp',
'src/lib/DSRender/DSRenderViewEcoreEvas.cpp',
'src/lib/DSRender/DSRenderViewDali.cpp',
+ 'src/lib/DSRender/DSRenderFactoryEcoreEvas.cpp',
+ 'src/lib/DSRender/DSRenderFactoryDali.cpp',
]
pkgconfig = import('pkgconfig')
--- /dev/null
+#ifndef _DSRENDERFACTORY_H_
+#define _DSRENDERFACTORY_H_
+
+#include "DSRenderEngine.h"
+#include "DSRenderSurface.h"
+#include "DSRenderView.h"
+
+namespace display_server
+{
+ class DSRenderFactory
+ {
+ public:
+ virtual ~DSRenderFactory() = default;
+
+ virtual DSRenderEngine* createDSRenderEngine() = 0;
+ virtual DSRenderSurface* createDSRenderSurface() = 0;
+ virtual DSRenderView* createDSRenderView() = 0;
+ };
+}
+
+#endif
--- /dev/null
+#include "DSRenderFactoryDali.h"
+
+namespace display_server
+{
+ DSRenderFactoryDali::DSRenderFactoryDali(/* args */)
+ {
+ }
+
+ DSRenderFactoryDali::~DSRenderFactoryDali()
+ {
+ }
+
+ DSRenderEngine* DSRenderFactoryDali::createDSRenderEngine()
+ {
+ DSRenderEngine* renderer = new DSRenderEngineDali;
+ return renderer;
+ }
+
+ DSRenderSurface* DSRenderFactoryDali::createDSRenderSurface()
+ {
+ DSRenderSurface* renderSurface = new DSRenderSurfaceDali;
+ return renderSurface;
+ }
+
+ DSRenderView* DSRenderFactoryDali::createDSRenderView()
+ {
+ DSRenderView* renderView = new DSRenderViewDali;
+ return renderView;
+ }
+} // namespace display_server
--- /dev/null
+#ifndef _DSRENDERFACTORYDALI_H_
+#define _DSRENDERFACTORYDALI_H_
+
+#include "DSRenderFactory.h"
+#include "DSRenderEngineDali.h"
+#include "DSRenderSurfaceDali.h"
+#include "DSRenderViewDali.h"
+
+namespace display_server
+{
+ class DSRenderFactoryDali : public DSRenderFactory
+ {
+ private:
+ /* data */
+ public:
+ DSRenderFactoryDali(/* args */);
+ ~DSRenderFactoryDali();
+
+ DSRenderEngine* createDSRenderEngine() override;
+ DSRenderSurface* createDSRenderSurface() override;
+ DSRenderView* createDSRenderView() override;
+ };
+}
+
+#endif
--- /dev/null
+#include "DSRenderFactoryEcoreEvas.h"
+
+namespace display_server
+{
+ DSRenderFactoryEcoreEvas::DSRenderFactoryEcoreEvas(/* args */)
+ {
+ }
+
+ DSRenderFactoryEcoreEvas::~DSRenderFactoryEcoreEvas()
+ {
+ }
+
+ DSRenderEngine* DSRenderFactoryEcoreEvas::createDSRenderEngine()
+ {
+ DSRenderEngine* renderer = new DSRenderEngineEcoreEvas;
+ return renderer;
+ }
+
+ DSRenderSurface* DSRenderFactoryEcoreEvas::createDSRenderSurface()
+ {
+ DSRenderSurface* renderSurface = new DSRenderSurfaceEcoreEvas;
+ return renderSurface;
+ }
+
+ DSRenderView* DSRenderFactoryEcoreEvas::createDSRenderView()
+ {
+ DSRenderView* renderView = new DSRenderViewEcoreEvas;
+ return renderView;
+ }
+} // namespace display_server
\ No newline at end of file
--- /dev/null
+#ifndef _DSRENDERFACTORYECOREEVAS_H_
+#define _DSRENDERFACTORYECOREEVAS_H_
+
+#include "DSRenderFactory.h"
+#include "DSRenderEngineEcoreEvas.h"
+#include "DSRenderSurfaceEcoreEvas.h"
+#include "DSRenderViewEcoreEvas.h"
+
+namespace display_server
+{
+ class DSRenderFactoryEcoreEvas : public DSRenderFactory
+ {
+ private:
+ /* data */
+ public:
+ DSRenderFactoryEcoreEvas(/* args */);
+ ~DSRenderFactoryEcoreEvas();
+
+ DSRenderEngine* createDSRenderEngine() override;
+ DSRenderSurface* createDSRenderSurface() override;
+ DSRenderView* createDSRenderView() override;
+ };
+}
+
+#endif