bool Shadows::InitApp() { iShowInfo = 0; bFPSMode = false; // Custom command line processing vector<CmdLineParameter>::const_iterator iter; const vector<CmdLineParameter> ¶ms = GetCommandLineParams(); for (iter = params.begin(); iter != params.end(); iter++) { if (iter->sName == "showinfo") { iShowInfo = atoi(iter->sValue.c_str()); } if (iter->sName == "fpsmode") { bFPSMode = (bool)atoi(iter->sValue.c_str()); } } return true; }
DWORD CSage::Start() { USES_CONVERSION; //CEgRegKey key; TCHAR pModName [1024] = { 0 }; //detecting the module version ::GetModuleFileName( NULL, pModName, sizeof(pModName) ); CModuleVersion ver; ver.GetModuleVersionInfo(pModName); std::string sMsg("Fail to Setup user groups."); UserGroups clParams; m_nGroupsCount = GetCommandLineParams(clParams); if (m_SageConnector.SetGroups(clParams) == E_FAIL) { CTracer::TraceError(E_FAIL, sMsg.c_str()); return E_FAIL; } TCHAR pVer[100] = { 0 }; ver.GetValue(_T("ProductVersion"), pVer); CTracer::Trace(_T("------------------------------------")); CTracer::Trace(_T("FIX Interface Connector v.%s"), pVer ); CTracer::Trace(_T("Press Ctrl + C to stop the server...")); CTracer::Trace(_T("------------------------------------")); DWORD dwFlags; if(GetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), &dwFlags)) { dwFlags &= ~(ENABLE_QUICK_EDIT | ENABLE_INSERT_MODE); SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), dwFlags); } m_hStopApplication = CreateEvent(NULL, TRUE, FALSE, _T("E53B916B-95BA-4e1f-917A-338580A74D91")); if (m_hStopApplication == NULL) { return CTracer::TraceError(); } BOOL bRes = SetConsoleCtrlHandler(HandlerRoutine, TRUE); if (bRes == FALSE) return CTracer::TraceError(); CTracer::Trace(_T("Starting Sage connector...")); DWORD dwRes = m_SageConnector.Start(); if (dwRes) { CTracer::Trace(_T("Failed to start Sage connector.")); return dwRes; } CTracer::Trace(_T("FIX Interface connector started.")); CTracer::Trace(_T("Server started.")); return 0; }