Add Storage Layer objects to Cynara singleton
authorLukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Wed, 18 Jun 2014 16:42:14 +0000 (18:42 +0200)
committerRafal Krypa <r.krypa@samsung.com>
Thu, 3 Jul 2014 12:19:09 +0000 (14:19 +0200)
Change-Id: I5e1a8ba06f811d3611956666329e8811424134ad

src/service/main/Cynara.cpp
src/service/main/Cynara.h

index 2d4b1b9..ff03530 100644 (file)
  */
 
 #include <stddef.h>
+
+#include <storage/InMemoryStorageBackend.h>
+
 #include "Cynara.h"
 
 namespace Cynara {
 
-Cynara::Cynara() : m_logic(nullptr), m_socketManager(nullptr) {
+Cynara::Cynara()
+    : m_logic(nullptr), m_socketManager(nullptr), m_storage(nullptr), m_storageBackend(nullptr) {
 }
 
 Cynara* Cynara::getInstance(void) {
@@ -39,6 +43,8 @@ Cynara::~Cynara() {
 void Cynara::init(void) {
     getInstance()->m_logic = new Logic();
     getInstance()->m_socketManager = new SocketManager();
+    getInstance()->m_storageBackend = new InMemoryStorageBackend();
+    getInstance()->m_storage = new Storage(*getInstance()->m_storageBackend);
 }
 
 void Cynara::run(void) {
@@ -46,16 +52,22 @@ void Cynara::run(void) {
 }
 
 void Cynara::finalize(void) {
-    delete getInstance()->m_socketManager;
     delete getInstance()->m_logic;
+    delete getInstance()->m_socketManager;
+    delete getInstance()->m_storageBackend;
+    delete getInstance()->m_storage;
 }
 
-LogicCynara::getLogic(void) {
+Logic *Cynara::getLogic(void) {
     return getInstance()->m_logic;
 }
 
-SocketManagerCynara::getSocketManager(void) {
+SocketManager *Cynara::getSocketManager(void) {
     return getInstance()->m_socketManager;
 }
 
+Storage *Cynara::getStorage(void) {
+    return getInstance()->m_storage;
+}
+
 } // namespace Cynara
index 0d335ac..5a024fb 100644 (file)
@@ -25,6 +25,8 @@
 
 #include <logic/Logic.h>
 #include <sockets/SocketManager.h>
+#include <storage/Storage.h>
+#include <storage/StorageBackend.h>
 
 namespace Cynara {
 
@@ -32,10 +34,12 @@ class Cynara {
 private:
     Logic *m_logic;
     SocketManager *m_socketManager;
+    Storage *m_storage;
+    StorageBackend *m_storageBackend;
 
     Cynara();
 
-    static CynaragetInstance(void);
+    static Cynara *getInstance(void);
 
 public:
     ~Cynara();
@@ -44,8 +48,9 @@ public:
     static void run(void);
     static void finalize(void);
 
-    static Logic* getLogic(void);
-    static SocketManager* getSocketManager(void);
+    static Logic *getLogic(void);
+    static SocketManager *getSocketManager(void);
+    static Storage *getStorage(void);
 
 };