116 lines
2.3 KiB
C++
116 lines
2.3 KiB
C++
// 종합솔루션.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "WiseClientV2.MainFrame.h"
|
|
#include "WiseClientV2.CoreFrame.h"
|
|
#include <PacketHandler/PacketHandler.h>
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
DECLARE_BASE_WISE_STEP_FUNCTION()
|
|
{
|
|
DISPMSG("WiseClient V2 Update\n");
|
|
|
|
CoreFrame::GetCoreFrame()->Init();
|
|
// User할당
|
|
Manipulater::CreateLogicFlowByWiseMode();
|
|
|
|
BOOL bContinue = TRUE;
|
|
while(bContinue)
|
|
{
|
|
Sleep(10);
|
|
bContinue = MainFrame::GetMainFrame()->Update();
|
|
}
|
|
};
|
|
|
|
REGISTER_STEP_HANDLER_BASE(eWISE_ROUTINES_INIT_MAIN_FRAME);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// <MODULE VARIABLEs>
|
|
static MainFrame* s_pMainFrame = NULL;
|
|
|
|
MainFrame::MainFrame()
|
|
{
|
|
WorkLoadManager::CreateInstance();
|
|
}
|
|
|
|
MainFrame::~MainFrame()
|
|
{
|
|
WorkLoadManager::DestroyInstance();
|
|
PacketHandler::ClosePacketHandler();
|
|
SAFE_DELETE(Manipulater::IOCPServerREF());
|
|
}
|
|
|
|
void MainFrame::CreateInstance()
|
|
{
|
|
if(!s_pMainFrame)
|
|
s_pMainFrame = new MainFrame();
|
|
}
|
|
|
|
void MainFrame::DestroyInstance()
|
|
{
|
|
SAFE_DELETE(s_pMainFrame);
|
|
}
|
|
|
|
MainFrame* MainFrame::GetMainFrame()
|
|
{
|
|
return s_pMainFrame;
|
|
}
|
|
|
|
//#include <Object/WiseUser.h>
|
|
|
|
// <METHODs>
|
|
BOOL MainFrame::Update()
|
|
{
|
|
// 네트워크 엔진의 경우는 다른 엔진을 사용할 수 있다고 염두해두자.
|
|
//IOCPServer* pIOCPServer = Manipulater::IOCPServerREF();
|
|
//pIOCPServer->Update();
|
|
|
|
//WiseUser* pUser = new WiseUser();
|
|
////pUser->Init(NULL);
|
|
//WiseUserDelegator rUSER = pUser;
|
|
//sSIG_NOTIFY sNTF;
|
|
//rUSER.OnMsg(&sNTF);
|
|
|
|
if(!ConsoleProcess())
|
|
return FALSE;
|
|
|
|
WorkLoadManager::Update();
|
|
|
|
CoreFrame::GetCoreFrame()->Update(NULL);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
#include <conio.h>
|
|
|
|
BOOL MainFrame::ConsoleProcess()
|
|
{
|
|
if(!kbhit())
|
|
return TRUE;
|
|
|
|
CHAR chr = (CHAR)getch();
|
|
|
|
switch(chr)
|
|
{
|
|
case 0x1B:
|
|
{
|
|
BYTE stream[100];
|
|
sSIG_STEP& rSIGNAL = *(new (stream) sSIG_STEP());
|
|
rSIGNAL.SUBTYPE() = sSIG_STEP::CLOSURE_STEP;
|
|
sSIG_STEP_ARG& rARG = rSIGNAL.InstanceOf<sSIG_STEP_ARG>();
|
|
rARG.SetInfo(LFG_MAX, S_000920_CLOSURE_EXCEPTION_LF);
|
|
CoreFrame::GetCoreFrame()->Update(&rSIGNAL);
|
|
WorkLoadManager::ReleaseTaskAll();
|
|
//exit(0);
|
|
}
|
|
return FALSE;
|
|
}
|
|
|
|
return TRUE;
|
|
}
|
|
|