Additional functions of policy and resource management.
[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
66         CicoSCResourceManager  *resourcemgr = new CicoSCResourceManager();
67         resourcemgr->setWindowController(winctrl);
68         resourcemgr->setInputController(inputctrl);
69         ret = resourcemgr->initialize();
70         if (ICO_SYC_EOK != ret) {
71             return false;
72         }
73
74         winctrl->setResourceManager(resourcemgr);
75
76         CicoSCUserManager *usermgr = CicoSCUserManager::getInstance();
77         usermgr->load("/usr/apps/org.tizen.ico.system-controller/res/config/user.xml");
78
79         CicoSCServer *server = CicoSCServer::getInstance();
80         server->setWindowCtrl(winctrl);
81         server->setInputCtrl(inputctrl);
82         server->setUserMgr(usermgr);
83         server->setResourceMgr(resourcemgr);
84
85         server->startup(18081, (const char*)"ico_syc_protocol");
86         ret = CicoSCWayland::getInstance()->intialize();
87         if (ICO_SYC_EOK != ret) {
88             return false;
89         }
90         CicoSCWayland::getInstance()->addEcoreMainWlFdHandler();
91         
92         usermgr->initialize();
93
94
95     }
96     catch (const std::exception& e) {
97         std::cerr << e.what() << std::endl;
98         ICO_ERR("catch exception %s", e.what());
99         ICO_DBG("CicoSysConDaemon::onCreate Leave(false)");
100         return false;
101     }
102     catch (const std::string& str) {
103         std::cerr << str << std::endl;
104         ICO_ERR("catch exception %s", str.c_str());
105         ICO_DBG("CicoSysConDaemon::onCreate Leave(false)");
106         return false;
107     }
108     catch (...) {
109         ICO_ERR("catch exception unknown");
110         ICO_DBG("CicoSysConDaemon::onCreate Leave(false)");
111         return false;
112     }
113
114     ICO_DBG("CicoSysConDaemon::onCreate Leave(true)");
115
116     return true;
117 }
118
119 #if 0
120 void
121 CicoSysConDaemon::onTerminate(void *user_data)
122 {
123     _DBG("CicoSysConDaemon::onTerminate entry");
124 }
125
126 void
127 CicoSysConDaemon::onPause(void *user_data)
128 {
129     _DBG("CicoSysConDaemon::onPause entry");
130 }
131
132 void
133 CicoSysConDaemon::onResume(void *user_data)
134 {
135     _DBG("CicoSysConDaemon::onResume entry");
136 }
137
138 void
139 CicoSysConDaemon::onService(service_h service, void *user_data)
140 {
141     _DBG("CicoSysConDaemon::onService entry");
142 }
143 #endif
144 /* vim: set expandtab ts=4 sw=4: */