-
Notifications
You must be signed in to change notification settings - Fork 36
/
Copy pathnuiServerApplication.cpp
66 lines (51 loc) · 1.77 KB
/
nuiServerApplication.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include "nuiServerApplication.h"
LOG_DECLARE("CCV");
static bool config_syslog = false;
int g_config_delay = 200;
static void signal_term(int signal)
{
nuiJsonRpcApi::getInstance()->stopApi(true);
}
int main(int argc, char **argv)
{
int exit_ret = 0;
// Initialize Signals
#ifndef _WIN32
signal(SIGPIPE, SIG_IGN);
#endif
signal(SIGTERM, signal_term);
signal(SIGINT, signal_term);
// Initialize Debug
nuiDebugLogger::init(config_syslog);
// Initialize JSON Configuration
nuiFrameworkManagerErrorCode loadCode = nuiFrameworkManager::getInstance()->loadSettingsFromJson("data/default_config.json");
if(loadCode != NUI_FRAMEWORK_MANAGER_OK){
LOG(NUI_CRITICAL, "Failed to Initialize Configuration");
return loadCode;
}
// Initialize JSON RPC
if(!nuiJsonRpcApi::getInstance()->init("127.0.0.1", 7500)) {
LOG(NUI_CRITICAL, "Failed to Initialize JSON RPC");
goto exit_critical;
} else nuiJsonRpcApi::getInstance()->startApi();
// Initialize Framework
nuiFrameworkManagerErrorCode frameworkInitStatus = nuiFrameworkManager::getInstance()->initializeFrameworkManager();
if(frameworkInitStatus != NUI_FRAMEWORK_MANAGER_OK) {
if(frameworkInitStatus == NUI_FRAMEWORK_ROOT_INITIALIZATION_FAILED)
LOG(NUI_CRITICAL, "Failed to Initialize framework root");
//if(frameworkInitStatus == NUI_FRAMEWORK_WRONG_FILE)
//LOG(NUI_CRITICAL, "Incorrect File");
} else nuiFrameworkManager::getInstance()->workflowStart();
do {
SLEEP(g_config_delay);
} while ( nuiJsonRpcApi::getInstance()->isFinished() == false );
// Stop Framework
nuiFrameworkManager::getInstance()->workflowStop();
nuiFrameworkManager::getInstance()->workflowQuit();
exit_standard:
// No cleanup required - Thread is done.
return exit_ret;
exit_critical:
exit_ret = 1;
goto exit_standard;
}