Files
Sun1602/Tools/SUNAutoScriptMaker/SunServerPage.cpp
T
2022-10-26 12:25:11 +08:00

463 lines
12 KiB
C++

// SunServerPage.cpp : 구현 파일입니다.
//
#include "stdafx.h"
#include "SUNAutoScriptMaker.h"
#include "SunServerPage.h"
#include "InfoManager.h"
#include ".\sunserverpage.h"
#include "SunServerInfo.h"
// SunServerPage 대화 상자입니다.
IMPLEMENT_DYNAMIC(SunServerPage, CPropertyPage)
SunServerPage::SunServerPage()
: CPropertyPage(SunServerPage::IDD)
, m_nCommonFile(0)
, m_nCommonGM(0)
, m_nCommonField(0)
, m_nCommonBattle(0)
, m_nCommonVillage(0)
, m_nCommonService(0)
, m_nCommonCryptoGraphy(0)
, m_strWopsLogPath(_T(""))
, m_nWopsLogOption(0)
, m_nSunLogOption(0)
, m_nSunLogLevel(0)
, m_strSunLogPath(_T(""))
, m_nClientAccept(0)
, m_nClientConnect(0)
, m_nClientSendBuf(0)
, m_nClientRecvBuf(0)
, m_nClientTimeOut(0)
, m_nClientPacketSize(0)
, m_nClientAcceptThread(0)
, m_nClientConnectThread(0)
, m_nClientIoThread(0)
, m_nServerAccept(0)
, m_nServerConnect(0)
, m_nServerSendBuf(0)
, m_nServerRecvBuf(0)
, m_nServerTimeOut(0)
, m_nServerPacketSize(0)
, m_nServerAcceptThread(0)
, m_nServerConnectThread(0)
, m_nServerIoThread(0)
{
}
SunServerPage::~SunServerPage()
{
}
void SunServerPage::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT_COMMON_FILE, m_nCommonFile);
DDX_Text(pDX, IDC_EDIT_COMMON_GM, m_nCommonGM);
DDX_Text(pDX, IDC_EDIT_COMMON_FIELD, m_nCommonField);
DDX_Text(pDX, IDC_EDIT_COMMON_BATTLE, m_nCommonBattle);
DDX_Text(pDX, IDC_EDIT_COMMON_VILLAGE, m_nCommonVillage);
DDX_Text(pDX, IDC_EDIT_COMMON_SERVICE, m_nCommonService);
DDX_Text(pDX, IDC_EDIT_COMMON_CRYPTOGRAPHY, m_nCommonCryptoGraphy);
DDX_Text(pDX, IDC_EDIT_WOPSLOG_PATH, m_strWopsLogPath);
DDX_Text(pDX, IDC_EDIT_WOPSLOG_OPTION, m_nWopsLogOption);
DDX_Text(pDX, IDC_EDIT_SUNLOG_OPTION, m_nSunLogOption);
DDX_Text(pDX, IDC_EDIT_SUNLOG_LEVEL, m_nSunLogLevel);
DDX_Text(pDX, IDC_EDIT_SUNLOG_PATH, m_strSunLogPath);
DDX_Text(pDX, IDC_EDIT_CLIENT_ACCEPT, m_nClientAccept);
DDX_Text(pDX, IDC_EDIT_CLIENT_CONNECT, m_nClientConnect);
DDX_Text(pDX, IDC_EDIT_CLIENT_SENDBUF, m_nClientSendBuf);
DDX_Text(pDX, IDC_EDIT_CLIENT_RECVBUF, m_nClientRecvBuf);
DDX_Text(pDX, IDC_EDIT_CLIENT_TIMEOUT, m_nClientTimeOut);
DDX_Text(pDX, IDC_EDIT_CLIENT_PACKET, m_nClientPacketSize);
DDX_Text(pDX, IDC_EDIT_CLIENT_ACCEPT_THREAD, m_nClientAcceptThread);
DDX_Text(pDX, IDC_EDIT_CLIENT_CONNECT_THREAD, m_nClientConnectThread);
DDX_Text(pDX, IDC_EDIT_CLIENT_IO_THREAD, m_nClientIoThread);
DDX_Text(pDX, IDC_EDIT_SERVER_ACCEPT, m_nServerAccept);
DDX_Text(pDX, IDC_EDIT_SERVER_CONNECT, m_nServerConnect);
DDX_Text(pDX, IDC_EDIT_SERVER_SENDBUF, m_nServerSendBuf);
DDX_Text(pDX, IDC_EDIT_SERVER_RECVBUF, m_nServerRecvBuf);
DDX_Text(pDX, IDC_EDIT_SERVER_TIMEOUT, m_nServerTimeOut);
DDX_Text(pDX, IDC_EDIT_SERVER_PACKET, m_nServerPacketSize);
DDX_Text(pDX, IDC_EDIT_SERVER_ACCEPT_THREAD, m_nServerAcceptThread);
DDX_Text(pDX, IDC_EDIT_SERVER_CONNECT_THREAD, m_nServerConnectThread);
DDX_Text(pDX, IDC_EDIT_SERVER_IO_THREAD, m_nServerIoThread);
DDX_Control(pDX, IDC_COMBO_SERVERTYPE, m_comboServerType);
}
BEGIN_MESSAGE_MAP(SunServerPage, CPropertyPage)
ON_EN_CHANGE(IDC_EDIT_COMMON_FILE, OnEnChangeEditCommonFile)
ON_EN_CHANGE(IDC_EDIT_COMMON_GM, OnEnChangeEditCommonGm)
ON_EN_CHANGE(IDC_EDIT_COMMON_FIELD, OnEnChangeEditCommonField)
ON_EN_CHANGE(IDC_EDIT_COMMON_BATTLE, OnEnChangeEditCommonBattle)
ON_EN_CHANGE(IDC_EDIT_COMMON_VILLAGE, OnEnChangeEditCommonVillage)
ON_EN_CHANGE(IDC_EDIT_COMMON_SERVICE, OnEnChangeEditCommonService)
ON_EN_CHANGE(IDC_EDIT_COMMON_CRYPTOGRAPHY, OnEnChangeEditCommonCryptography)
ON_EN_CHANGE(IDC_EDIT_WOPSLOG_PATH, OnEnChangeEditWopslogPath)
ON_EN_CHANGE(IDC_EDIT_WOPSLOG_OPTION, OnEnChangeEditWopslogOption)
ON_EN_CHANGE(IDC_EDIT_SUNLOG_OPTION, OnEnChangeEditSunlogOption)
ON_EN_CHANGE(IDC_EDIT_SUNLOG_LEVEL, OnEnChangeEditSunlogLevel)
ON_EN_CHANGE(IDC_EDIT_SUNLOG_PATH, OnEnChangeEditSunlogPath)
ON_EN_CHANGE(IDC_EDIT_CLIENT_ACCEPT, OnEnChangeEditClientAccept)
ON_EN_CHANGE(IDC_EDIT_CLIENT_CONNECT, OnEnChangeEditClientConnect)
ON_EN_CHANGE(IDC_EDIT_CLIENT_SENDBUF, OnEnChangeEditClientSendbuf)
ON_EN_CHANGE(IDC_EDIT_CLIENT_RECVBUF, OnEnChangeEditClientRecvbuf)
ON_EN_CHANGE(IDC_EDIT_CLIENT_TIMEOUT, OnEnChangeEditClientTimeout)
ON_EN_CHANGE(IDC_EDIT_CLIENT_PACKET, OnEnChangeEditClientPacket)
ON_EN_CHANGE(IDC_EDIT_CLIENT_ACCEPT_THREAD, OnEnChangeEditClientAcceptThread)
ON_EN_CHANGE(IDC_EDIT_CLIENT_CONNECT_THREAD, OnEnChangeEditClientConnectThread)
ON_EN_CHANGE(IDC_EDIT_CLIENT_IO_THREAD, OnEnChangeEditClientIoThread)
ON_EN_CHANGE(IDC_EDIT_SERVER_ACCEPT, OnEnChangeEditServerAccept)
ON_EN_CHANGE(IDC_EDIT_SERVER_CONNECT, OnEnChangeEditServerConnect)
ON_EN_CHANGE(IDC_EDIT_SERVER_SENDBUF, OnEnChangeEditServerSendbuf)
ON_EN_CHANGE(IDC_EDIT_SERVER_RECVBUF, OnEnChangeEditServerRecvbuf)
ON_EN_CHANGE(IDC_EDIT_SERVER_TIMEOUT, OnEnChangeEditServerTimeout)
ON_EN_CHANGE(IDC_EDIT_SERVER_PACKET, OnEnChangeEditServerPacket)
ON_EN_CHANGE(IDC_EDIT_SERVER_ACCEPT_THREAD, OnEnChangeEditServerAcceptThread)
ON_EN_CHANGE(IDC_EDIT_SERVER_CONNECT_THREAD, OnEnChangeEditServerConnectThread)
ON_EN_CHANGE(IDC_EDIT_SERVER_IO_THREAD, OnEnChangeEditServerIoThread)
ON_CBN_SELCHANGE(IDC_COMBO_SERVERTYPE, OnCbnSelchangeComboServertype)
END_MESSAGE_MAP()
// SunServerPage 메시지 처리기입니다.
void SunServerPage::LoadScriptInfo( BYTE byServerType )
{
SunServerInfo* pInfo = (SunServerInfo*)ServerInfoManager::GetInstance()->GetServerInfo( byServerType );
if( !pInfo ) return;
//Common
_COMMON* pCommon = pInfo->GetCommonInfo();
if( pCommon )
{
m_nCommonFile = pCommon->m_nCommonFile;
m_nCommonGM = pCommon->m_nCommonGM;
m_nCommonField = pCommon->m_nCommonField;
m_nCommonBattle = pCommon->m_nCommonBattle;
m_nCommonVillage = pCommon->m_nCommonVillage;
m_nCommonService = pCommon->m_nCommonService;
m_nCommonCryptoGraphy = pCommon->m_nCommonCryptoGraphy;
}
//Logfile
_LOGFILE* pLogfile = pInfo->GetLogfileInfo();
if( pLogfile )
{
m_strWopsLogPath = pLogfile->m_strWopsLogPath;
m_nWopsLogOption = pLogfile->m_nWopsLogOption;
m_nSunLogOption = pLogfile->m_nSunLogOption;
m_nSunLogLevel = pLogfile->m_nSunLogLevel;
m_strSunLogPath = pLogfile->m_strSunLogPath;
}
//ClientIO_Handler
_IOHANDLER* pClient = pInfo->GetClientInfo();
if( pClient )
{
m_nClientAccept = pClient->m_nAccept;
m_nClientConnect = pClient->m_nConnect;
m_nClientSendBuf = pClient->m_nSendBuf;
m_nClientRecvBuf = pClient->m_nRecvBuf;
m_nClientTimeOut = pClient->m_nTimeOut;
m_nClientPacketSize = pClient->m_nPacketSize;
m_nClientAcceptThread = pClient->m_nAcceptThread;
m_nClientConnectThread = pClient->m_nConnectThread;
m_nClientIoThread = pClient->m_nIoThread;
}
//ServerIO_Handler
_IOHANDLER* pServer = pInfo->GetServerInfo();
if( pServer )
{
m_nServerAccept = pServer->m_nAccept;
m_nServerConnect = pServer->m_nConnect;
m_nServerSendBuf = pServer->m_nSendBuf;
m_nServerRecvBuf = pServer->m_nRecvBuf;
m_nServerTimeOut = pServer->m_nTimeOut;
m_nServerPacketSize = pServer->m_nPacketSize;
m_nServerAcceptThread = pServer->m_nAcceptThread;
m_nServerConnectThread = pServer->m_nConnectThread;
m_nServerIoThread = pServer->m_nIoThread;
}
UpdateData( FALSE );
}
void SunServerPage::InitServerTypeCombo()
{
m_comboServerType.ResetContent();
m_comboServerType.AddString("AgentServer");
m_comboServerType.AddString("BattleServer");
m_comboServerType.AddString("FieldServer");
m_comboServerType.AddString("DBProxyServer");
}
BOOL SunServerPage::OnInitDialog()
{
CDialog::OnInitDialog();
InitServerTypeCombo();
m_nCurServerType = 0; //Agent
m_comboServerType.SetCurSel( m_nCurServerType );
BYTE byServerType = GetServerTypeFromComboNo();
if( byServerType > 0 )
LoadScriptInfo( byServerType );
return TRUE;
}
BYTE SunServerPage::GetServerTypeFromComboNo( )
{
// 0 -> Agent
// 1 -> Battle
// 2 -> Field
// 3 -> DBProxy
BYTE byServerType = 0;
if( m_nCurServerType == 0 )
return AGENT_SERVER;
else if( m_nCurServerType == 1 )
return BATTLE_SERVER;
else if( m_nCurServerType == 2 )
return FIELD_SERVER;
else if( m_nCurServerType == 3 )
return GAME_DBPROXY;
else
return 0;
}
// 여기서 저장시키자...
BOOL SunServerPage::OnApply()
{
UpdateData( TRUE );
BYTE byServerType = GetServerTypeFromComboNo();
SunServerInfo* pInfo = (SunServerInfo*)ServerInfoManager::GetInstance()->GetServerInfo( byServerType );
if( !pInfo ) return FALSE;
//Common
_COMMON* pCommon = pInfo->GetCommonInfo();
if( pCommon )
{
pCommon->m_nCommonFile = m_nCommonFile;
pCommon->m_nCommonGM = m_nCommonGM;
pCommon->m_nCommonField = m_nCommonField;
pCommon->m_nCommonBattle = m_nCommonBattle;
pCommon->m_nCommonVillage = m_nCommonVillage;
pCommon->m_nCommonService = m_nCommonService;
pCommon->m_nCommonCryptoGraphy = m_nCommonCryptoGraphy;
}
//Logfile
_LOGFILE* pLogfile = pInfo->GetLogfileInfo();
if( pLogfile )
{
pLogfile->m_strWopsLogPath = m_strWopsLogPath;
pLogfile->m_nWopsLogOption = m_nWopsLogOption;
pLogfile->m_nSunLogOption = m_nSunLogOption;
pLogfile->m_nSunLogLevel = m_nSunLogLevel;
pLogfile->m_strSunLogPath = m_strSunLogPath;
}
//ClientIO_Handler
_IOHANDLER* pClient = pInfo->GetClientInfo();
if( pClient )
{
pClient->m_nAccept = m_nClientAccept;
pClient->m_nConnect = m_nClientConnect;
pClient->m_nSendBuf = m_nClientSendBuf;
pClient->m_nRecvBuf = m_nClientRecvBuf;
pClient->m_nTimeOut = m_nClientTimeOut;
pClient->m_nPacketSize = m_nClientPacketSize;
pClient->m_nAcceptThread = m_nClientAcceptThread;
pClient->m_nConnectThread = m_nClientConnectThread;
pClient->m_nIoThread = m_nClientIoThread;
}
//ServerIO_Handler
_IOHANDLER* pServer = pInfo->GetServerInfo();
if( pServer )
{
pServer->m_nAccept = m_nServerAccept;
pServer->m_nConnect = m_nServerConnect;
pServer->m_nSendBuf = m_nServerSendBuf;
pServer->m_nRecvBuf = m_nServerRecvBuf;
pServer->m_nTimeOut = m_nServerTimeOut;
pServer->m_nPacketSize = m_nServerPacketSize;
pServer->m_nAcceptThread = m_nServerAcceptThread;
pServer->m_nConnectThread = m_nServerConnectThread;
pServer->m_nIoThread = m_nServerIoThread;
}
ServerInfoManager::GetInstance()->SaveScript( byServerType );
return CPropertyPage::OnApply();
}
void SunServerPage::OnEnChangeEditCommonFile()
{
SetModified();
}
void SunServerPage::OnEnChangeEditCommonGm()
{
SetModified();
}
void SunServerPage::OnEnChangeEditCommonField()
{
SetModified();
}
void SunServerPage::OnEnChangeEditCommonBattle()
{
SetModified();
}
void SunServerPage::OnEnChangeEditCommonVillage()
{
SetModified();
}
void SunServerPage::OnEnChangeEditCommonService()
{
SetModified();
}
void SunServerPage::OnEnChangeEditCommonCryptography()
{
SetModified();
}
void SunServerPage::OnEnChangeEditWopslogPath()
{
SetModified();
}
void SunServerPage::OnEnChangeEditWopslogOption()
{
SetModified();
}
void SunServerPage::OnEnChangeEditSunlogOption()
{
SetModified();
}
void SunServerPage::OnEnChangeEditSunlogLevel()
{
SetModified();
}
void SunServerPage::OnEnChangeEditSunlogPath()
{
SetModified();
}
void SunServerPage::OnEnChangeEditClientAccept()
{
SetModified();
}
void SunServerPage::OnEnChangeEditClientConnect()
{
SetModified();
}
void SunServerPage::OnEnChangeEditClientSendbuf()
{
SetModified();
}
void SunServerPage::OnEnChangeEditClientRecvbuf()
{
SetModified();
}
void SunServerPage::OnEnChangeEditClientTimeout()
{
SetModified();
}
void SunServerPage::OnEnChangeEditClientPacket()
{
SetModified();
}
void SunServerPage::OnEnChangeEditClientAcceptThread()
{
SetModified();
}
void SunServerPage::OnEnChangeEditClientConnectThread()
{
SetModified();
}
void SunServerPage::OnEnChangeEditClientIoThread()
{
SetModified();
}
void SunServerPage::OnEnChangeEditServerAccept()
{
SetModified();
}
void SunServerPage::OnEnChangeEditServerConnect()
{
SetModified();
}
void SunServerPage::OnEnChangeEditServerSendbuf()
{
SetModified();
}
void SunServerPage::OnEnChangeEditServerRecvbuf()
{
SetModified();
}
void SunServerPage::OnEnChangeEditServerTimeout()
{
SetModified();
}
void SunServerPage::OnEnChangeEditServerPacket()
{
} SetModified();
void SunServerPage::OnEnChangeEditServerAcceptThread()
{
SetModified();
}
void SunServerPage::OnEnChangeEditServerConnectThread()
{
SetModified();
}
void SunServerPage::OnEnChangeEditServerIoThread()
{
SetModified();
}
void SunServerPage::OnCbnSelchangeComboServertype()
{
m_nCurServerType = m_comboServerType.GetCurSel();
BYTE byServerType = GetServerTypeFromComboNo();
LoadScriptInfo( byServerType );
}