📄 warlibobjects.cpp
字号:
#include "StdAfx.h"#include "WarLibObjects.h" // class implemented/////////////////////////////// PUBLIC /////////////////////////////////////////============================= LIFECYCLE ====================================WarLibObjects::WarLibObjects() :mpWarOs(NULL), mpPluginEngineObject(NULL), mpThreadEngineObject(NULL),mpShutdownEngineObject(NULL), mpLogEngine(NULL), mpSessionManagerObject(NULL), mpFileEngineObject(NULL),mpSocketEngineObject(NULL), mpServerEngineObject(NULL),mpCpsLimitObject(NULL), mpWarSvrWin32NtEngineObject(NULL){ ::CoInitialize(NULL); WarSmartPointer::Initialize(); WarUrlType::Initialize();}// WarLibObjectsWarLibObjects::~WarLibObjects(){#define KILL_IT(ptr) if (NULL != ptr) {delete ptr; ptr = NULL;} try { KILL_IT(mpWarSvrWin32NtEngineObject); KILL_IT(mpTextEngine); KILL_IT(mpCpsLimitObject); KILL_IT(mpServerEngineObject); KILL_IT(mpSocketEngineObject); KILL_IT(mpFileEngineObject); KILL_IT(mpSessionManagerObject); mGlobalTimerObjectPtr = NULL; KILL_IT(mpLogEngine); KILL_IT(mpShutdownEngineObject); KILL_IT(mpThreadEngineObject); KILL_IT(mpPluginEngineObject); KILL_IT(mpWarOs); } catch(std::exception& ex) { std::cerr << "WarLibObjects::~WarLibObjects(): " "Failed to do a controlled shutdown. " << ex.what() << std::endl; ::abort(); } catch(...) { std::cerr << "WarLibObjects::~WarLibObjects(): " << "Caught an unknown exception." << std::endl; ::abort(); } ::CoUninitialize();}// ~WarLibObjects//============================= OPERATORS ====================================//============================= OPERATIONS ===================================void WarLibObjects::Open() throw (std::exception){ // Create objects in the right order. Many of // these objects depends upon each other!! try { mpWarOs = new WarOs; WarUrlType::Initialize(); mpTextEngine = new WarLngTextEngine; mpPluginEngineObject = new WarPluginEngine; mpThreadEngineObject = new WarThreadEngine; mpShutdownEngineObject = new WarShutdownEngine; mpLogEngine = new WarLogEngine; mGlobalTimerObjectPtr = new WarTimer; mGlobalTimerObjectPtr->Open(); mpSessionManagerObject = new WarSessionManager; mpFileEngineObject = new WarFileEngine; mpSocketEngineObject = new WarSocketEngine; mpServerEngineObject = new WarSvrEngine; mpCpsLimitObject = new WarSocketCpsLimit; mpWarSvrWin32NtEngineObject = new WarSvrWin32NtEngine; mpServerEngineObject->Initialize(); } catch(std::exception& ex) { std::cerr << "WarLibObjects::Open(): Failed to start up. " << ex.what() << std::endl; ::abort(); } catch(...) { std::cerr << "WarLibObjects::Open(): Failed to start up. " << "Caught an unknown exception." << std::endl; ::abort(); }}//============================= CALLBACK ===================================//============================= ACCESS ===================================//============================= INQUIRY ===================================/////////////////////////////// PROTECTED ////////////////////////////////////////////////////////////////// PRIVATE ///////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -