Refactoring homescreen.
[profile/ivi/ico-uxf-homescreen.git] / src / syscond / CicoSysConDaemon.cpp
1 /*
2  * Copyright (c) 2013, TOYOTA MOTOR CORPORATION.
3  *
4  * This program is licensed under the terms and conditions of the
5  * Apache License, version 2.0.  The full text of the Apache License is at
6  * http://www.apache.org/licenses/LICENSE-2.0
7  *
8  */
9
10 /*========================================================================*/    
11 /**
12  *  @file   CicoSysConDaemon.cpp
13  *
14  *  @brief  
15  */
16 /*========================================================================*/    
17
18 #include <exception>
19 #include <iostream>
20 #include <string>
21
22 #include "CicoSysConDaemon.h"
23 #include "ico_syc_error.h"
24 #include "CicoLog.h"
25 #include "CicoSCSystemConfig.h"
26 #include "CicoSCServer.h"
27 #include "CicoSCWayland.h"
28 #include "CicoSCWindowController.h"
29 #include "CicoSCInputController.h"
30 #include "CicoSCLifeCycleController.h"
31 #include "CicoSCUserManager.h"
32 #include "CicoSCResourceManager.h"
33
34 /**
35  *  Default Constructor
36  */
37 CicoSysConDaemon::CicoSysConDaemon()
38 {
39     ICO_DBG("CicoSysConDaemon::CicoSysConDaemon Enter");
40     ICO_DBG("CicoSysConDaemon::CicoSysConDaemon Leave");
41 }
42
43 /**
44  *  Destructor
45  */
46 CicoSysConDaemon::~CicoSysConDaemon()
47 {
48     ICO_DBG("CicoSysConDaemon::~CicoSysConDaemon Enter");
49     ICO_DBG("CicoSysConDaemon::~CicoSysConDaemon Leave");
50 }
51
52 bool
53 CicoSysConDaemon::onCreate(void *user_data)
54 {
55     ICO_DBG("CicoSysConDaemon::onCreate Enter");
56
57     try {
58         int ret = ICO_SYC_EOK;
59         CicoSCSystemConfig::getInstance()->load("/usr/apps/org.tizen.ico.system-controller/res/config/system.xml");
60
61         CicoSCLifeCycleController *lifecycle =
62             CicoSCLifeCycleController::getInstance();
63         CicoSCWindowController *winctrl     = new CicoSCWindowController();
64         CicoSCInputController  *inputctrl   = new CicoSCInputController();
65         CicoSCResourceManager  *resourcemgr = new CicoSCResourceManager();
66
67         ret = resourcemgr->initialize();
68         if (ICO_SYC_EOK != ret) {
69             return false;
70         }
71
72         winctrl->setResourceManager(resourcemgr);
73
74         CicoSCUserManager *usermgr = CicoSCUserManager::getInstance();
75         usermgr->load("/usr/apps/org.tizen.ico.system-controller/res/config/user.xml");
76
77         CicoSCServer *server = CicoSCServer::getInstance();
78         server->setWindowCtrl(winctrl);
79         server->setInputCtrl(inputctrl);
80         server->setUserMgr(usermgr);
81         server->setResourceMgr(resourcemgr);
82
83         server->startup(18081, (const char*)"ico_syc_protocol");
84         ret = CicoSCWayland::getInstance()->intialize();
85         if (ICO_SYC_EOK != ret) {
86             return false;
87         }
88         CicoSCWayland::getInstance()->addEcoreMainWlFdHandler();
89         
90         usermgr->initialize();
91
92
93     }
94     catch (const std::exception& e) {
95         std::cerr << e.what() << std::endl;
96         ICO_ERR("catch exception %s", e.what());
97         ICO_DBG("CicoSysConDaemon::onCreate Leave(false)");
98         return false;
99     }
100     catch (const std::string& str) {
101         std::cerr << str << std::endl;
102         ICO_ERR("catch exception %s", str.c_str());
103         ICO_DBG("CicoSysConDaemon::onCreate Leave(false)");
104         return false;
105     }
106     catch (...) {
107         ICO_ERR("catch exception unknown");
108         ICO_DBG("CicoSysConDaemon::onCreate Leave(false)");
109         return false;
110     }
111
112     ICO_DBG("CicoSysConDaemon::onCreate Leave(true)");
113
114     return true;
115 }
116
117 #if 0
118 void
119 CicoSysConDaemon::onTerminate(void *user_data)
120 {
121     _DBG("CicoSysConDaemon::onTerminate entry");
122 }
123
124 void
125 CicoSysConDaemon::onPause(void *user_data)
126 {
127     _DBG("CicoSysConDaemon::onPause entry");
128 }
129
130 void
131 CicoSysConDaemon::onResume(void *user_data)
132 {
133     _DBG("CicoSysConDaemon::onResume entry");
134 }
135
136 void
137 CicoSysConDaemon::onService(service_h service, void *user_data)
138 {
139     _DBG("CicoSysConDaemon::onService entry");
140 }
141 #endif
142 /* vim: set expandtab ts=4 sw=4: */