// SetupPage4.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù. // #include "stdafx.h" #include "SeverSetupDlg.h" #include "ServerGroup.h" #include "SetupPage4.h" #include #include #include ".\setuppage4.h" // CSetupPage4 ´ëÈ­ »óÀÚÀÔ´Ï´Ù. IMPLEMENT_DYNAMIC(CSetupPage4, CPropertyPage) CSetupPage4::CSetupPage4() : CPropertyPage(CSetupPage4::IDD) , m_bEnabled(FALSE) , m_szDBAgentServerID(_T("")) , m_szVersion(_T("")) , m_szCheckSum(_T("")) , m_szPatchAddress(_T("")) , m_bPingCheck(FALSE) , m_bBattleServer(FALSE) , m_bAdminIPCheck(FALSE) , m_szLoginServerAddr(_T("")) , m_szUIDServerAddr(_T("")) , m_szGameDBInfo(_T("")) , m_szGameListenPort(_T("")) , m_szAuthListenPort(_T("")) , m_szChatListenPort(_T("")) , m_szAdminToolListenPort(_T("")) , m_szLimitServerGroupUserNum(_T("")) , m_szLimitBattleGroundUserNum(_T("")) , m_szLimitBattleGroundUserPer(_T("")) , m_szPart1DBAgentAddr(_T("")) , m_szRestrictedTransLevel(_T("")) , m_szMaxTransCount(_T("")) { } CSetupPage4::~CSetupPage4() { } void CSetupPage4::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_DBAGENT_SERVER_ID, m_szDBAgentServerID); DDX_Control(pDX, IDC_DBAGENT_SERVER_GROUP, m_cbDBAgentServerGroup); DDX_Control(pDX, IDC_DBAGENT_SERVER_TYPE, m_cbDBAgentServerType); DDX_Control(pDX, IDC_DBAGENT_NATION, m_cbDBAgentServiceNation); DDX_Control(pDX, IDC_DBAGENT_BILLING_TYPE, m_cbDBAgentBillingType); DDX_Text(pDX, IDC_DBAGENT_VERSION, m_szVersion); DDX_Text(pDX, IDC_DBAGENT_CHECKSUM, m_szCheckSum); DDX_Text(pDX, IDC_DBAGENT_PATCH_ADDR, m_szPatchAddress); DDX_Check(pDX, IDC_DBAGENT_PING_CHECK, m_bPingCheck); DDX_Check(pDX, IDC_DBAGENT_BATTLE_SERVER, m_bBattleServer); DDX_Check(pDX, IDC_DBAGENT_ADMIN_IP_CHECK, m_bAdminIPCheck); DDX_Text(pDX, IDC_DBAGENT_LOGIN_SERVER_ADDR, m_szLoginServerAddr); DDX_Text(pDX, IDC_DBAGENT_UID_SERVER_ADDR, m_szUIDServerAddr); DDX_Text(pDX, IDC_DBAGENT_EDT_DBSETTING, m_szGameDBInfo); DDX_Text(pDX, IDC_DBAGENT_GAME_LISTEN_PORT, m_szGameListenPort); DDX_Text(pDX, IDC_DBAGENT_AUTH_LISTEN_PORT, m_szAuthListenPort); DDX_Text(pDX, IDC_DBAGENT_CHAT_LISTEN_PORT, m_szChatListenPort); DDX_Text(pDX, IDC_DBAGENT_ADMINTOOL_LISTEN_PORT, m_szAdminToolListenPort); DDX_Text(pDX, IDC_DBAGENT_LIMIT_SERVER_GROUP_USER_NUM, m_szLimitServerGroupUserNum); DDX_Text(pDX, IDC_DBAGENT_LIMIT_BATTLEGROUND_USER_NUM, m_szLimitBattleGroundUserNum); DDX_Text(pDX, IDC_DBAGENT_LIMIT_BATTLEGROUND_USER_PER, m_szLimitBattleGroundUserPer); DDX_Text(pDX, IDC_DBAGENT_PART1UNI_AGENT_ADDR, m_szPart1DBAgentAddr); DDX_Text(pDX, IDC_DBAGENT_RESTRICTEDLEVEL_P1TOP2, m_szRestrictedTransLevel); DDX_Text(pDX, IDC_DBAGENT_MAX_TRANSFER_COUNT, m_szMaxTransCount); DDX_Control(pDX, IDC_DBAGENT_PART2UNIFIED_SERVER_NUM, m_cbSelectableUnifiedServerNum); } BEGIN_MESSAGE_MAP(CSetupPage4, CDialog) ON_BN_CLICKED(IDC_DBAGENT_BTN_DBSETTING, OnBnClickedDbagentBtnDbsetting) ON_CBN_SELCHANGE(IDC_DBAGENT_SERVER_GROUP, OnCbnSelchangeDbagentServerGroup) END_MESSAGE_MAP() // CSetupPage4 ¸Þ½ÃÁö 󸮱âÀÔ´Ï´Ù. BOOL CSetupPage4::OnInitDialog() { CPropertyPage::OnInitDialog(); m_szGameListenPort.Format(_T("%d"), CServerSetup::DBAgentServerGameServerListen); m_szAuthListenPort.Format(_T("%d"), CServerSetup::DBAgentServerAuthServerListen); m_szChatListenPort.Format(_T("%d"), CServerSetup::DBAgentServerChatServerListen); m_szAdminToolListenPort.Format(_T("%d"), CServerSetup::DBAgentAdminToolServerListen); SetServerGroup(m_cbDBAgentServerGroup); SetDBAgentServerType(m_cbDBAgentServerType); SetBillingType(m_cbDBAgentBillingType); SetGameServerNation(m_cbDBAgentServiceNation); CString szServerID; CString szServerType; CString szBillingType; CString szNationType; CString szPingCheck; CString szAdminIPCheck; CString szBattleServer; CString szSelectableUnifiedServerNum; ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("ServerID"), szServerID); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("ServerType"), szServerType); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("BillingType"), szBillingType); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("NationType"), szNationType); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("ClientVersion"), m_szVersion); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("PatchAddress"), m_szPatchAddress); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("LoginServerAddr"), m_szLoginServerAddr); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("UIDServerAddr"), m_szUIDServerAddr); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("CheckSum"), m_szCheckSum); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("LimitServerGroupUserNum"), m_szLimitServerGroupUserNum); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("LimitBattleUser"), m_szLimitBattleGroundUserNum); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("LimitBattleUserPer"), m_szLimitBattleGroundUserPer); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("PingCheck"), szPingCheck); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("AdminIPCheck"), szAdminIPCheck); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("BattleServer"), szBattleServer); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("GameDBType"), m_GameDB.m_szDBData[DBSetting::DB_TYPE]); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("GameDBAddr"), m_GameDB.m_szDBData[DBSetting::DB_ADDR]); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("GameDBName"), m_GameDB.m_szDBData[DBSetting::DB_NAME]); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("GameDBUser"), m_GameDB.m_szDBData[DBSetting::DB_USER]); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("GameDBPass"), m_GameDB.m_szDBData[DBSetting::DB_PASS]); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("Part1UnifiedAgentAddr"), m_szPart1DBAgentAddr); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("RestrictedPart1ToPart2Level"), m_szRestrictedTransLevel); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("MaxTransferCharNum"), m_szMaxTransCount); ReadStringFromReg(g_szSetupFileName, _T("DBAgentServer"), _T("Part2SelectableUnifiedServerNum"), szSelectableUnifiedServerNum); int nCount = 0; CString nNum; for(nCount = 0; nCount < UnifiedConst::Part1; ++nCount) { nNum.Format("%d", nCount); m_cbSelectableUnifiedServerNum.InsertString(nCount, nNum); } m_cbSelectableUnifiedServerNum.SetCurSel(atol(szSelectableUnifiedServerNum)); SERVER_ID serverID = { 0, }; serverID.dwID = atol(szServerID); m_szDBAgentServerID.Format("0x%08x", serverID.dwID); m_cbDBAgentServerGroup.SetCurSel(serverID.GetGroup()); m_cbDBAgentBillingType.SetCurSel(atol(szBillingType)); m_cbDBAgentServiceNation.SetCurSel(atol(szNationType)); int nAgentServerType = atoi(szServerType); int nMaxCount = m_cbDBAgentServerType.GetCount(); for(nCount = 0; nCount < nMaxCount; ++nCount) { if(m_cbDBAgentServerType.GetItemData(nCount) == nAgentServerType) { m_cbDBAgentServerType.SetCurSel(nCount); break; } } if(nCount == nMaxCount) { m_cbDBAgentServerType.SetCurSel(0); } m_bPingCheck = (1 == atol(szPingCheck)); m_bAdminIPCheck = (1 == atol(szAdminIPCheck)); m_bBattleServer = (1 == atol(szBattleServer)); CDBSetting::CreateDBInfoString(m_GameDB, m_szGameDBInfo); UpdateData(FALSE); UpdateServerID(); return TRUE; } void CSetupPage4::Save(void) { if(m_bEnabled) { UpdateData(TRUE); CString szServerID; CString szServerType; CString szBillingType; CString szNationType; CString szSelectableUnifiedServerNum; SERVER_ID serverID = {0,}; serverID.sID.ID = 0; serverID.sID.Channel = 0; serverID.sID.Type = CServerSetup::AgentServer; serverID.sID.Group = m_cbDBAgentServerGroup.GetCurSel(); szServerID.Format(_T("%d"), serverID.dwID); szBillingType.Format(_T("%d"), m_cbDBAgentBillingType.GetCurSel()); szNationType.Format(_T("%d"), m_cbDBAgentServiceNation.GetCurSel()); szSelectableUnifiedServerNum.Format(_T("%d"), m_cbSelectableUnifiedServerNum.GetCurSel()); szServerType.Format(_T("%d"), m_cbDBAgentServerType.GetItemData(m_cbDBAgentServerType.GetCurSel())); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("ServerID"), szServerID); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("ServerType"), szServerType); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("BillingType"), szBillingType); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("NationType"), szNationType); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("ClientVersion"), m_szVersion); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("PatchAddress"), m_szPatchAddress); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("LoginServerAddr"), m_szLoginServerAddr); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("UIDServerAddr"), m_szUIDServerAddr); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("CheckSum"), m_szCheckSum); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("LimitServerGroupUserNum"), m_szLimitServerGroupUserNum); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("LimitBattleUser"), m_szLimitBattleGroundUserNum); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("LimitBattleUserPer"), m_szLimitBattleGroundUserPer); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("PingCheck"), BOOLToString(m_bPingCheck)); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("AdminIPCheck"), BOOLToString(m_bAdminIPCheck)); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("BattleServer"), BOOLToString(m_bBattleServer)); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("GameDBType"), m_GameDB.m_szDBData[DBSetting::DB_TYPE]); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("GameDBAddr"), m_GameDB.m_szDBData[DBSetting::DB_ADDR]); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("GameDBName"), m_GameDB.m_szDBData[DBSetting::DB_NAME]); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("GameDBUser"), m_GameDB.m_szDBData[DBSetting::DB_USER]); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("GameDBPass"), m_GameDB.m_szDBData[DBSetting::DB_PASS]); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("Part1UnifiedAgentAddr"), m_szPart1DBAgentAddr); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("RestrictedPart1ToPart2Level"), m_szRestrictedTransLevel); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("MaxTransferCharNum"), m_szMaxTransCount); WriteStringToReg(g_szSetupFileName, _T("DBAgentServer"), _T("Part2SelectableUnifiedServerNum"), szSelectableUnifiedServerNum); } } BOOL CSetupPage4::OnSetActive() { // TODO: ¿©±â¿¡ Ư¼öÈ­µÈ Äڵ带 Ãß°¡ ¹×/¶Ç´Â ±âº» Ŭ·¡½º¸¦ È£ÃâÇÕ´Ï´Ù. UpdateData(FALSE); m_bEnabled = TRUE; return CPropertyPage::OnSetActive(); } void CSetupPage4::UpdateServerID() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. UpdateData(TRUE); SERVER_ID serverID = {0,}; serverID.sID.ID = 0; serverID.sID.Channel = 0; serverID.sID.Type = CServerSetup::AgentServer; serverID.sID.Group = m_cbDBAgentServerGroup.GetCurSel(); m_szDBAgentServerID.Format(_T("0x%08x"), serverID.dwID); UpdateData(FALSE); } void CSetupPage4::OnBnClickedDbagentBtnDbsetting() { UpdateData(TRUE); if (CDBSetting::CreateDBSettingDlg( _T("GameDB DBSetting"), _T("* GameDB DBSetting \r\n"), m_GameDB, m_szGameDBInfo)) { UpdateData(FALSE); } } void CSetupPage4::OnCbnSelchangeDbagentServerGroup() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. UpdateServerID(); }