1325 lines
40 KiB
C++
1325 lines
40 KiB
C++
|
|
#include "StdAfx.h"
|
|||
|
|
#include "ModuleDBParameter.h"
|
|||
|
|
#include "ServerInfoManager.h"
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>캯<EFBFBD><ECBAAF>
|
|||
|
|
CServerInfoBuffer::CServerInfoBuffer()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CServerInfoBuffer::~CServerInfoBuffer()
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wServerID=0;
|
|||
|
|
tagGameServerInfo * pGameServerInfo=NULL;
|
|||
|
|
POSITION Position=m_GameServerInfoMap.GetStartPosition();
|
|||
|
|
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
while (Position!=NULL)
|
|||
|
|
{
|
|||
|
|
m_GameServerInfoMap.GetNextAssoc(Position,wServerID,pGameServerInfo);
|
|||
|
|
SafeDelete(pGameServerInfo);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
for (INT_PTR i=0;i<m_GameServerInfoArray.GetCount();i++)
|
|||
|
|
{
|
|||
|
|
pGameServerInfo=m_GameServerInfoArray[i];
|
|||
|
|
SafeDelete(pGameServerInfo);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
m_GameServerInfoMap.RemoveAll();
|
|||
|
|
m_GameServerInfoArray.RemoveAll();
|
|||
|
|
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool CServerInfoBuffer::ResetServerInfo()
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wServerID=0;
|
|||
|
|
tagGameServerInfo * pGameServerInfo=NULL;
|
|||
|
|
POSITION Position=m_GameServerInfoMap.GetStartPosition();
|
|||
|
|
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
while (Position!=NULL)
|
|||
|
|
{
|
|||
|
|
m_GameServerInfoMap.GetNextAssoc(Position,wServerID,pGameServerInfo);
|
|||
|
|
m_GameServerInfoArray.Add(pGameServerInfo);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
m_GameServerInfoMap.RemoveAll();
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool CServerInfoBuffer::DeleteServerInfo(WORD wServerID)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameServerInfo * pGameServerInfo=NULL;
|
|||
|
|
if (m_GameServerInfoMap.Lookup(wServerID,pGameServerInfo)==FALSE) return false;
|
|||
|
|
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
m_GameServerInfoMap.RemoveKey(wServerID);
|
|||
|
|
m_GameServerInfoArray.Add(pGameServerInfo);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
|||
|
|
ZeroMemory(pGameServerInfo,sizeof(tagGameServerInfo));
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool CServerInfoBuffer::InsertServerInfo(tagGameServerInfo * pGameServerInfo)
|
|||
|
|
{
|
|||
|
|
//Ч<><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ASSERT(pGameServerInfo!=NULL);
|
|||
|
|
if (pGameServerInfo==NULL) return false;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>
|
|||
|
|
WORD wServerID=pGameServerInfo->wServerID;
|
|||
|
|
tagGameServerInfo * pGameServerInsert=SearchServerInfo(wServerID);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
|
if (pGameServerInsert==NULL)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
pGameServerInsert=CreateServerInfo();
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
|
if (pGameServerInsert==NULL)
|
|||
|
|
{
|
|||
|
|
ASSERT(FALSE);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
m_GameServerInfoMap[wServerID]=pGameServerInsert;
|
|||
|
|
CopyMemory(pGameServerInsert,pGameServerInfo,sizeof(tagGameServerInfo));
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>Ŀ
|
|||
|
|
DWORD CServerInfoBuffer::GetServerInfoCount()
|
|||
|
|
{
|
|||
|
|
return (DWORD)(m_GameServerInfoMap.GetCount());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameServerInfo * CServerInfoBuffer::SearchServerInfo(WORD wServerID)
|
|||
|
|
{
|
|||
|
|
tagGameServerInfo * pGameServerInfo=NULL;
|
|||
|
|
m_GameServerInfoMap.Lookup(wServerID,pGameServerInfo);
|
|||
|
|
return pGameServerInfo;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameServerInfo * CServerInfoBuffer::CreateServerInfo()
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameServerInfo * pGameServerInfo=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
INT_PTR nArrayCount=m_GameServerInfoArray.GetCount();
|
|||
|
|
if (nArrayCount>0)
|
|||
|
|
{
|
|||
|
|
pGameServerInfo=m_GameServerInfoArray[nArrayCount-1];
|
|||
|
|
m_GameServerInfoArray.RemoveAt(nArrayCount-1);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
pGameServerInfo=new tagGameServerInfo;
|
|||
|
|
if (pGameServerInfo==NULL) return NULL;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (...) { return false; }
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
|||
|
|
ZeroMemory(pGameServerInfo,sizeof(tagGameServerInfo));
|
|||
|
|
|
|||
|
|
return pGameServerInfo;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>캯<EFBFBD><ECBAAF>
|
|||
|
|
CMatchOptionBuffer::CMatchOptionBuffer()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CMatchOptionBuffer::~CMatchOptionBuffer()
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameMatchOption * pGameMatchOption=NULL;
|
|||
|
|
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
m_GameMatchOptionBuffer.Append(m_GameMatchOptionArray);
|
|||
|
|
for (INT_PTR i=0;i<m_GameMatchOptionBuffer.GetCount();i++)
|
|||
|
|
{
|
|||
|
|
pGameMatchOption=m_GameMatchOptionBuffer[i];
|
|||
|
|
SafeDelete(pGameMatchOption);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
m_GameMatchOptionArray.RemoveAll();
|
|||
|
|
m_GameMatchOptionBuffer.RemoveAll();
|
|||
|
|
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool CMatchOptionBuffer::ResetMatchOption()
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>
|
|||
|
|
m_GameMatchOptionBuffer.Append(m_GameMatchOptionArray);
|
|||
|
|
|
|||
|
|
//ɾ<><C9BE>Ԫ<EFBFBD><D4AA>
|
|||
|
|
m_GameMatchOptionArray.RemoveAll();
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool CMatchOptionBuffer::DeleteMatchOption(DWORD dwMatchID,DWORD wMatchNO)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameMatchOption * pGameMatchOption=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD>
|
|||
|
|
for(INT_PTR i=0;i<m_GameMatchOptionArray.GetCount();i++)
|
|||
|
|
{
|
|||
|
|
pGameMatchOption=m_GameMatchOptionArray[i];
|
|||
|
|
if(pGameMatchOption->dwMatchID==dwMatchID && pGameMatchOption->dwMatchNO==wMatchNO)
|
|||
|
|
{
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
m_GameMatchOptionArray.RemoveAt(i);
|
|||
|
|
m_GameMatchOptionBuffer.Add(pGameMatchOption);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
|||
|
|
ZeroMemory(pGameMatchOption,sizeof(tagGameMatchOption));
|
|||
|
|
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool CMatchOptionBuffer::InsertMatchOption(tagGameMatchOption * pGameMatchOption)
|
|||
|
|
{
|
|||
|
|
//Ч<><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ASSERT(pGameMatchOption!=NULL);
|
|||
|
|
if (pGameMatchOption==NULL) return false;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>
|
|||
|
|
tagGameMatchOption * pGameMatchInsert=SearchMatchOption(pGameMatchOption->dwMatchID,pGameMatchOption->dwMatchNO);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
|
if (pGameMatchInsert==NULL)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
pGameMatchInsert=CreateMatchOption();
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
|
if (pGameMatchInsert==NULL)
|
|||
|
|
{
|
|||
|
|
ASSERT(FALSE);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
m_GameMatchOptionArray.Add(pGameMatchInsert);
|
|||
|
|
CopyMemory(pGameMatchInsert,pGameMatchOption,sizeof(tagGameMatchOption));
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>Ŀ
|
|||
|
|
DWORD CMatchOptionBuffer::GetMatchOptionCount()
|
|||
|
|
{
|
|||
|
|
return (DWORD)(m_GameMatchOptionArray.GetCount());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameMatchOption * CMatchOptionBuffer::SearchMatchOption(DWORD dwMatchID,DWORD wMatchNO)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameMatchOption * pGameMatchOption=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD>
|
|||
|
|
for(INT_PTR i=0;i<m_GameMatchOptionArray.GetCount();i++)
|
|||
|
|
{
|
|||
|
|
pGameMatchOption=m_GameMatchOptionArray[i];
|
|||
|
|
if(pGameMatchOption->dwMatchID==dwMatchID && pGameMatchOption->dwMatchNO==wMatchNO)
|
|||
|
|
{
|
|||
|
|
return pGameMatchOption;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return NULL;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameMatchOption * CMatchOptionBuffer::CreateMatchOption()
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameMatchOption * pGameMatchOption=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
INT_PTR nArrayCount=m_GameMatchOptionBuffer.GetCount();
|
|||
|
|
if (nArrayCount>0)
|
|||
|
|
{
|
|||
|
|
pGameMatchOption=m_GameMatchOptionBuffer[nArrayCount-1];
|
|||
|
|
m_GameMatchOptionBuffer.RemoveAt(nArrayCount-1);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
pGameMatchOption=new tagGameMatchOption;
|
|||
|
|
if (pGameMatchOption==NULL) return NULL;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (...) { return false; }
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
|||
|
|
ZeroMemory(pGameMatchOption,sizeof(tagGameMatchOption));
|
|||
|
|
|
|||
|
|
return pGameMatchOption;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>캯<EFBFBD><ECBAAF>
|
|||
|
|
CServerInfoManager::CServerInfoManager()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CServerInfoManager::~CServerInfoManager()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
|
|||
|
|
bool CServerInfoManager::LoadGameServerInfo(TCHAR szMachineID[LEN_MACHINE_ID], CServerInfoBuffer & ServerInfoBuffer)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDataBaseAide PlatformDBAide;
|
|||
|
|
CDataBaseHelper PlatformDBModule;
|
|||
|
|
|
|||
|
|
//ִ<><D6B4><EFBFBD><EFBFBD>
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
|||
|
|
if (ConnectPlatformDB(PlatformDBModule)==false)
|
|||
|
|
{
|
|||
|
|
ASSERT(FALSE);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|||
|
|
PlatformDBAide.SetDataBase(PlatformDBModule.GetInterface());
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBAide.ResetParameter();
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wServerID"),0);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@strServiceMachine"),szMachineID);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
TCHAR szDescribeString[128]=TEXT("");
|
|||
|
|
PlatformDBAide.AddParameterOutput(TEXT("@strErrorDescribe"),szDescribeString,sizeof(szDescribeString),adParamOutput);
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD>б<EFBFBD>
|
|||
|
|
if (PlatformDBAide.ExecuteProcess(TEXT("GSP_GS_LoadGameRoomItem"),true)!=DB_SUCCESS)
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>Ϣ
|
|||
|
|
PlatformDBAide.GetParameter(TEXT("@strErrorDescribe"),szDescribeString,CountArray(szDescribeString));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
CTraceService::TraceString(szDescribeString,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(szDescribeString,MB_ICONERROR);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|||
|
|
ServerInfoBuffer.ResetServerInfo();
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD>б<EFBFBD>
|
|||
|
|
while (PlatformDBModule->IsRecordsetEnd()==false)
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
tagGameServerInfo GameServerResult;
|
|||
|
|
ReadGameServerInfo(PlatformDBAide,GameServerResult);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|||
|
|
ServerInfoBuffer.InsertServerInfo(&GameServerResult);
|
|||
|
|
|
|||
|
|
//<2F>ƶ<EFBFBD><C6B6><EFBFBD>¼
|
|||
|
|
PlatformDBModule->MoveToNext();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
catch (IDataBaseException * pIException)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
LPCTSTR pszDescribe=pIException->GetExceptionDescribe();
|
|||
|
|
CTraceService::TraceString(pszDescribe,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(pszDescribe,MB_ICONERROR);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
|
|||
|
|
bool CServerInfoManager::LoadGameServerInfo(TCHAR szMachineID[LEN_MACHINE_ID], WORD wServerID, tagGameServerInfo & GameServerResult)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDataBaseAide PlatformDBAide;
|
|||
|
|
CDataBaseHelper PlatformDBModule;
|
|||
|
|
|
|||
|
|
//ִ<><D6B4><EFBFBD><EFBFBD>
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
|||
|
|
if (ConnectPlatformDB(PlatformDBModule)==false)
|
|||
|
|
{
|
|||
|
|
ASSERT(FALSE);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|||
|
|
PlatformDBAide.SetDataBase(PlatformDBModule.GetInterface());
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD>б<EFBFBD>
|
|||
|
|
PlatformDBAide.ResetParameter();
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wServerID"),wServerID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@strServiceMachine"),szMachineID);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
TCHAR szDescribeString[128]=TEXT("");
|
|||
|
|
PlatformDBAide.AddParameterOutput(TEXT("@strErrorDescribe"),szDescribeString,sizeof(szDescribeString),adParamOutput);
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD>б<EFBFBD>
|
|||
|
|
if (PlatformDBAide.ExecuteProcess(TEXT("GSP_GS_LoadGameRoomItem"),true)!=DB_SUCCESS)
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>Ϣ
|
|||
|
|
PlatformDBAide.GetParameter(TEXT("@strErrorDescribe"),szDescribeString,CountArray(szDescribeString));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
CTraceService::TraceString(szDescribeString,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(szDescribeString,MB_ICONERROR);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
if (PlatformDBModule->IsRecordsetEnd()==false)
|
|||
|
|
{
|
|||
|
|
ReadGameServerInfo(PlatformDBAide,GameServerResult);
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
catch (IDataBaseException * pIException)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
LPCTSTR pszDescribe=pIException->GetExceptionDescribe();
|
|||
|
|
CTraceService::TraceString(pszDescribe,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(pszDescribe,MB_ICONERROR);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool CServerInfoManager::DeleteGameServer(WORD wServerID)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDataBaseAide PlatformDBAide;
|
|||
|
|
CDataBaseHelper PlatformDBModule;
|
|||
|
|
|
|||
|
|
//ִ<><D6B4><EFBFBD><EFBFBD>
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
|||
|
|
if (ConnectPlatformDB(PlatformDBModule)==false)
|
|||
|
|
{
|
|||
|
|
ASSERT(FALSE);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|||
|
|
PlatformDBAide.SetDataBase(PlatformDBModule.GetInterface());
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBAide.ResetParameter();
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wServerID"),wServerID);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
TCHAR szDescribeString[128]=TEXT("");
|
|||
|
|
PlatformDBAide.AddParameterOutput(TEXT("@strErrorDescribe"),szDescribeString,sizeof(szDescribeString),adParamOutput);
|
|||
|
|
|
|||
|
|
//ִ<><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
if (PlatformDBAide.ExecuteProcess(TEXT("GSP_GS_DeleteGameRoom"),false)!=DB_SUCCESS)
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>Ϣ
|
|||
|
|
PlatformDBAide.GetParameter(TEXT("@strErrorDescribe"),szDescribeString,CountArray(szDescribeString));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
CTraceService::TraceString(szDescribeString,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(szDescribeString,MB_ICONERROR);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
catch (IDataBaseException * pIException)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
LPCTSTR pszDescribe=pIException->GetExceptionDescribe();
|
|||
|
|
CTraceService::TraceString(pszDescribe,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(pszDescribe,MB_ICONERROR);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>뷿<EFBFBD><EBB7BF>
|
|||
|
|
bool CServerInfoManager::InsertGameServer(tagGameServerCreate * pGameServerCreate, tagGameServerInfo & GameServerResult)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDataBaseAide PlatformDBAide;
|
|||
|
|
CDataBaseHelper PlatformDBModule;
|
|||
|
|
|
|||
|
|
//ִ<><D6B4><EFBFBD><EFBFBD>
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
|||
|
|
if (ConnectPlatformDB(PlatformDBModule)==false)
|
|||
|
|
{
|
|||
|
|
ASSERT(FALSE);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|||
|
|
PlatformDBAide.SetDataBase(PlatformDBModule.GetInterface());
|
|||
|
|
|
|||
|
|
//<2F><>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szCustomRule[CountArray(pGameServerCreate->cbCustomRule)*2+1]=TEXT("");
|
|||
|
|
for (INT i=0;i<CountArray(pGameServerCreate->cbCustomRule);i++) _stprintf(&szCustomRule[i*2],TEXT("%02X"),pGameServerCreate->cbCustomRule[i]);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBAide.ResetParameter();
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wGameID"),pGameServerCreate->wGameID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wKindID"),pGameServerCreate->wKindID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wNodeID"),pGameServerCreate->wNodeID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wSortID"),pGameServerCreate->wSortID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lCellScore"),pGameServerCreate->lCellScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wRevenueRatio"),pGameServerCreate->wRevenueRatio);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lServiceScore"),pGameServerCreate->lServiceScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lRestrictScore"),pGameServerCreate->lRestrictScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lMinTableScore"),pGameServerCreate->lMinTableScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lMinEnterScore"),pGameServerCreate->lMinEnterScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lMaxEnterScore"),pGameServerCreate->lMaxEnterScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@cbMinEnterMember"),pGameServerCreate->cbMinEnterMember);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@cbMaxEnterMember"),pGameServerCreate->cbMaxEnterMember);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwServerRule"),pGameServerCreate->dwServerRule);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwAttachUserRight"),pGameServerCreate->dwAttachUserRight);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wMaxPlayer"),pGameServerCreate->wMaxPlayer);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wTableCount"),pGameServerCreate->wTableCount);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wServerPort"),pGameServerCreate->wServerPort);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wServerType"),pGameServerCreate->wServerType);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@strServerName"),pGameServerCreate->szServerName);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@cbDistributeRule"),pGameServerCreate->cbDistributeRule);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wMinDistributeUser"),pGameServerCreate->wMinDistributeUser);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wMaxDistributeUser"),pGameServerCreate->wMaxDistributeUser);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wDistributeTimeSpace"),pGameServerCreate->wDistributeTimeSpace);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wDistributeDrawCount"),pGameServerCreate->wDistributeDrawCount);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wDistributeStartDelay"),pGameServerCreate->wDistributeStartDelay);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@strDataBaseName"),pGameServerCreate->szDataBaseName);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@strDataBaseAddr"),pGameServerCreate->szDataBaseAddr);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@strCustomRule"),szCustomRule);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@strServiceMachine"),pGameServerCreate->szServiceMachine);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
TCHAR szDescribeString[128]=TEXT("");
|
|||
|
|
PlatformDBAide.AddParameterOutput(TEXT("@strErrorDescribe"),szDescribeString,sizeof(szDescribeString),adParamOutput);
|
|||
|
|
|
|||
|
|
//ִ<><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
if (PlatformDBAide.ExecuteProcess(TEXT("GSP_GS_InsertGameRoom"),true)!=DB_SUCCESS)
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>Ϣ
|
|||
|
|
PlatformDBAide.GetParameter(TEXT("@strErrorDescribe"),szDescribeString,CountArray(szDescribeString));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
CTraceService::TraceString(szDescribeString,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(szDescribeString,MB_ICONERROR);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
ReadGameServerInfo(PlatformDBAide,GameServerResult);
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
catch (IDataBaseException * pIException)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
LPCTSTR pszDescribe=pIException->GetExceptionDescribe();
|
|||
|
|
CTraceService::TraceString(pszDescribe,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(pszDescribe,MB_ICONERROR);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F>ķ<DEB8><C4B7><EFBFBD>
|
|||
|
|
bool CServerInfoManager::ModifyGameServer(tagGameServerCreate * pGameServerCreate, tagGameServerInfo & GameServerResult)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDataBaseAide PlatformDBAide;
|
|||
|
|
CDataBaseHelper PlatformDBModule;
|
|||
|
|
|
|||
|
|
//ִ<><D6B4><EFBFBD><EFBFBD>
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
|||
|
|
if (ConnectPlatformDB(PlatformDBModule)==false)
|
|||
|
|
{
|
|||
|
|
ASSERT(FALSE);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|||
|
|
PlatformDBAide.SetDataBase(PlatformDBModule.GetInterface());
|
|||
|
|
|
|||
|
|
//<2F><>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szCustomRule[CountArray(pGameServerCreate->cbCustomRule)*2+1]=TEXT("");
|
|||
|
|
for (INT i=0;i<CountArray(pGameServerCreate->cbCustomRule);i++) _stprintf(&szCustomRule[i*2],TEXT("%02X"),pGameServerCreate->cbCustomRule[i]);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBAide.ResetParameter();
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wServerID"),pGameServerCreate->wServerID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wKindID"),pGameServerCreate->wKindID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wNodeID"),pGameServerCreate->wNodeID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wSortID"),pGameServerCreate->wSortID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lCellScore"),pGameServerCreate->lCellScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wRevenueRatio"),pGameServerCreate->wRevenueRatio);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lServiceScore"),pGameServerCreate->lServiceScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lRestrictScore"),pGameServerCreate->lRestrictScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lMinTableScore"),pGameServerCreate->lMinTableScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lMinEnterScore"),pGameServerCreate->lMinEnterScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lMaxEnterScore"),pGameServerCreate->lMaxEnterScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@cbMinEnterMember"),pGameServerCreate->cbMinEnterMember);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@cbMaxEnterMember"),pGameServerCreate->cbMaxEnterMember);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwServerRule"),pGameServerCreate->dwServerRule);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwAttachUserRight"),pGameServerCreate->dwAttachUserRight);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wMaxPlayer"),pGameServerCreate->wMaxPlayer);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wTableCount"),pGameServerCreate->wTableCount);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wServerPort"),pGameServerCreate->wServerPort);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wServerType"),pGameServerCreate->wServerType);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@strServerName"),pGameServerCreate->szServerName);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@cbDistributeRule"),pGameServerCreate->cbDistributeRule);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wMinDistributeUser"),pGameServerCreate->wMinDistributeUser);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wMaxDistributeUser"),pGameServerCreate->wMaxDistributeUser);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wDistributeTimeSpace"),pGameServerCreate->wDistributeTimeSpace);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wDistributeDrawCount"),pGameServerCreate->wDistributeDrawCount);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wDistributeStartDelay"),pGameServerCreate->wDistributeStartDelay);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@strDataBaseName"),pGameServerCreate->szDataBaseName);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@strDataBaseAddr"),pGameServerCreate->szDataBaseAddr);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@strCustomRule"),szCustomRule);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@strServiceMachine"),pGameServerCreate->szServiceMachine);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
TCHAR szDescribeString[128]=TEXT("");
|
|||
|
|
PlatformDBAide.AddParameterOutput(TEXT("@strErrorDescribe"),szDescribeString,sizeof(szDescribeString),adParamOutput);
|
|||
|
|
|
|||
|
|
//ִ<><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
if (PlatformDBAide.ExecuteProcess(TEXT("GSP_GS_ModifyGameRoom"),true)!=DB_SUCCESS)
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>Ϣ
|
|||
|
|
PlatformDBAide.GetParameter(TEXT("@strErrorDescribe"),szDescribeString,CountArray(szDescribeString));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
CTraceService::TraceString(szDescribeString,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(szDescribeString,MB_ICONERROR);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
ReadGameServerInfo(PlatformDBAide,GameServerResult);
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
catch (IDataBaseException * pIException)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
LPCTSTR pszDescribe=pIException->GetExceptionDescribe();
|
|||
|
|
CTraceService::TraceString(pszDescribe,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(pszDescribe,MB_ICONERROR);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
bool CServerInfoManager::GetAndroidParameter(WORD wServerID, CWHArray<tagAndroidParameter> & AndParameterAry)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDataBaseAide PlatformDBAide;
|
|||
|
|
CDataBaseHelper PlatformDBModule;
|
|||
|
|
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
|||
|
|
if (ConnectPlatformDB(PlatformDBModule) == false)
|
|||
|
|
{
|
|||
|
|
ASSERT(FALSE);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|||
|
|
PlatformDBAide.SetDataBase(PlatformDBModule.GetInterface());
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBAide.ResetParameter();
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wServerID"), wServerID);
|
|||
|
|
|
|||
|
|
//ִ<>в<EFBFBD>ѯ
|
|||
|
|
LONG lResultCode = PlatformDBAide.ExecuteProcess(TEXT("GSP_GP_AndroidGetParameter"), true);
|
|||
|
|
if (lResultCode == DB_SUCCESS)
|
|||
|
|
{
|
|||
|
|
while (PlatformDBModule->IsRecordsetEnd() == false)
|
|||
|
|
{
|
|||
|
|
tagAndroidParameter mAndParam;
|
|||
|
|
ReadAndroidParameter(PlatformDBAide, &mAndParam);
|
|||
|
|
AndParameterAry.Add(mAndParam);
|
|||
|
|
//<2F>ƶ<EFBFBD><C6B6>α<EFBFBD>
|
|||
|
|
PlatformDBModule->MoveToNext();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
catch (IDataBaseException * pIException)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool CServerInfoManager::DeleteAndroidParameter(WORD wServerID, DWORD dwBatchID)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDataBaseAide PlatformDBAide;
|
|||
|
|
CDataBaseHelper PlatformDBModule;
|
|||
|
|
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
|||
|
|
if (ConnectPlatformDB(PlatformDBModule) == false)
|
|||
|
|
{
|
|||
|
|
ASSERT(FALSE);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|||
|
|
PlatformDBAide.SetDataBase(PlatformDBModule.GetInterface());
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBAide.ResetParameter();
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwBatchID"), dwBatchID);
|
|||
|
|
|
|||
|
|
//ִ<>в<EFBFBD>ѯ
|
|||
|
|
LONG lResultCode = PlatformDBAide.ExecuteProcess(TEXT("GSP_GP_AndroidDeleteParameter"), true);
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
catch (IDataBaseException * pIException)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F>IJ<DEB8><C4B2><EFBFBD>
|
|||
|
|
bool CServerInfoManager::ModifyAndroidParameter(WORD wServerID, tagAndroidParameter * pAndroidParameter)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDataBaseAide PlatformDBAide;
|
|||
|
|
CDataBaseHelper PlatformDBModule;
|
|||
|
|
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
|||
|
|
if (ConnectPlatformDB(PlatformDBModule) == false)
|
|||
|
|
{
|
|||
|
|
ASSERT(FALSE);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|||
|
|
PlatformDBAide.SetDataBase(PlatformDBModule.GetInterface());
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBAide.ResetParameter();
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwDatchID"), pAndroidParameter->dwBatchID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwServiceMode"), pAndroidParameter->dwServiceMode);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwAndroidCount"), pAndroidParameter->dwAndroidCount);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwEnterTime"), pAndroidParameter->dwEnterTime);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwLeaveTime"), pAndroidParameter->dwLeaveTime);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwEnterMinInterval"), pAndroidParameter->dwEnterMinInterval);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwEnterMaxInterval"), pAndroidParameter->dwEnterMaxInterval);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwLeaveMinInterval"), pAndroidParameter->dwLeaveMinInterval);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwLeaveMaxInterval"), pAndroidParameter->dwLeaveMaxInterval);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lTakeMinScore"), pAndroidParameter->lTakeMinScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lTakeMaxScore"), pAndroidParameter->lTakeMaxScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwSwitchMinInnings"), pAndroidParameter->dwSwitchMinInnings);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwSwitchMaxInnings"), pAndroidParameter->dwSwitchMaxInnings);
|
|||
|
|
|
|||
|
|
//ִ<>в<EFBFBD>ѯ
|
|||
|
|
LONG lResultCode = PlatformDBAide.ExecuteProcess(TEXT("GSP_GP_AndroidModifyParameter"), true);
|
|||
|
|
|
|||
|
|
if (lResultCode==DB_SUCCESS)
|
|||
|
|
{
|
|||
|
|
ReadAndroidParameter(PlatformDBAide, pAndroidParameter);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
catch (IDataBaseException * pIException)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>
|
|||
|
|
bool CServerInfoManager::AddAndroidParameter(WORD wServerID, tagAndroidParameter * pAndroidParameter)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDataBaseAide PlatformDBAide;
|
|||
|
|
CDataBaseHelper PlatformDBModule;
|
|||
|
|
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
|||
|
|
if (ConnectPlatformDB(PlatformDBModule) == false)
|
|||
|
|
{
|
|||
|
|
ASSERT(FALSE);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|||
|
|
PlatformDBAide.SetDataBase(PlatformDBModule.GetInterface());
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBAide.ResetParameter();
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wServerID"), wServerID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwServiceMode"), pAndroidParameter->dwServiceMode);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwAndroidCount"), pAndroidParameter->dwAndroidCount);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwEnterTime"), pAndroidParameter->dwEnterTime);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwLeaveTime"), pAndroidParameter->dwLeaveTime);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwEnterMinInterval"), pAndroidParameter->dwEnterMinInterval);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwEnterMaxInterval"), pAndroidParameter->dwEnterMaxInterval);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwLeaveMinInterval"), pAndroidParameter->dwLeaveMinInterval);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwLeaveMaxInterval"), pAndroidParameter->dwLeaveMaxInterval);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lTakeMinScore"), pAndroidParameter->lTakeMinScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@lTakeMaxScore"), pAndroidParameter->lTakeMaxScore);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwSwitchMinInnings"), pAndroidParameter->dwSwitchMinInnings);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwSwitchMaxInnings"), pAndroidParameter->dwSwitchMaxInnings);
|
|||
|
|
|
|||
|
|
//ִ<>в<EFBFBD>ѯ
|
|||
|
|
LONG lResultCode = PlatformDBAide.ExecuteProcess(TEXT("GSP_GP_AndroidAddParameter"), true);
|
|||
|
|
|
|||
|
|
//ִ<>в<EFBFBD>ѯ
|
|||
|
|
if (lResultCode == DB_SUCCESS)
|
|||
|
|
{
|
|||
|
|
ReadAndroidParameter(PlatformDBAide, pAndroidParameter);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
catch (IDataBaseException * pIException)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
CTraceService::TraceString(pIException->GetExceptionDescribe(), TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool CServerInfoManager::ConnectPlatformDB(CDataBaseHelper & PlatformDBModule)
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
CModuleDBParameter * pModuleDBParameter=CModuleDBParameter::GetModuleDBParameter();
|
|||
|
|
tagDataBaseParameter * pDataBaseParameter=pModuleDBParameter->GetPlatformDBParameter();
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
if ((PlatformDBModule.GetInterface()==NULL)&&(PlatformDBModule.CreateInstance()==false))
|
|||
|
|
{
|
|||
|
|
AfxMessageBox(TEXT("CreateGameServer <20><><EFBFBD><EFBFBD> PlatformDBModule <20><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>"),MB_ICONERROR);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBModule->SetConnectionInfo(pDataBaseParameter->szDataBaseAddr,pDataBaseParameter->wDataBasePort,
|
|||
|
|
pDataBaseParameter->szDataBaseName,pDataBaseParameter->szDataBaseUser,pDataBaseParameter->szDataBasePass);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBModule->OpenConnection();
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
bool CServerInfoManager::ReadGameServerInfo(CDataBaseAide & PlatformDBAide, tagGameServerInfo & GameServerResult)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
|||
|
|
ZeroMemory(&GameServerResult,sizeof(GameServerResult));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
GameServerResult.wGameID=PlatformDBAide.GetValue_WORD(TEXT("GameID"));
|
|||
|
|
GameServerResult.wServerID=PlatformDBAide.GetValue_WORD(TEXT("ServerID"));
|
|||
|
|
|
|||
|
|
//<2F>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
GameServerResult.wKindID=PlatformDBAide.GetValue_WORD(TEXT("KindID"));
|
|||
|
|
GameServerResult.wNodeID=PlatformDBAide.GetValue_WORD(TEXT("NodeID"));
|
|||
|
|
GameServerResult.wSortID=PlatformDBAide.GetValue_WORD(TEXT("SortID"));
|
|||
|
|
|
|||
|
|
//<2F>汾<EFBFBD><E6B1BE>Ϣ
|
|||
|
|
GameServerResult.dwClientVersion=PlatformDBAide.GetValue_DWORD(TEXT("ClientVersion"));
|
|||
|
|
GameServerResult.dwServerVersion=PlatformDBAide.GetValue_DWORD(TEXT("ServerVersion"));
|
|||
|
|
|
|||
|
|
//ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBAide.GetValue_String(TEXT("GameName"),GameServerResult.szGameName,CountArray(GameServerResult.szGameName));
|
|||
|
|
PlatformDBAide.GetValue_String(TEXT("ServerDLLName"),GameServerResult.szServerDLLName,CountArray(GameServerResult.szServerDLLName));
|
|||
|
|
PlatformDBAide.GetValue_String(TEXT("ClientEXEName"),GameServerResult.szClientEXEName,CountArray(GameServerResult.szClientEXEName));
|
|||
|
|
|
|||
|
|
//˰<><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
GameServerResult.lCellScore=PlatformDBAide.GetValue_LONG(TEXT("CellScore"));
|
|||
|
|
GameServerResult.wRevenueRatio=PlatformDBAide.GetValue_WORD(TEXT("RevenueRatio"));
|
|||
|
|
GameServerResult.lServiceScore=PlatformDBAide.GetValue_LONGLONG(TEXT("ServiceScore"));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
GameServerResult.lRestrictScore=PlatformDBAide.GetValue_LONGLONG(TEXT("RestrictScore"));
|
|||
|
|
GameServerResult.lMinTableScore=PlatformDBAide.GetValue_LONGLONG(TEXT("MinTableScore"));
|
|||
|
|
GameServerResult.lMinEnterScore=PlatformDBAide.GetValue_LONGLONG(TEXT("MinEnterScore"));
|
|||
|
|
GameServerResult.lMaxEnterScore=PlatformDBAide.GetValue_LONGLONG(TEXT("MaxEnterScore"));
|
|||
|
|
|
|||
|
|
//<2F><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>
|
|||
|
|
GameServerResult.cbMinEnterMember=PlatformDBAide.GetValue_BYTE(TEXT("MinEnterMember"));
|
|||
|
|
GameServerResult.cbMaxEnterMember=PlatformDBAide.GetValue_BYTE(TEXT("MaxEnterMember"));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
GameServerResult.dwServerRule=PlatformDBAide.GetValue_DWORD(TEXT("ServerRule"));
|
|||
|
|
GameServerResult.dwAttachUserRight=PlatformDBAide.GetValue_DWORD(TEXT("AttachUserRight"));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
GameServerResult.wMaxPlayer=PlatformDBAide.GetValue_WORD(TEXT("MaxPlayer"));
|
|||
|
|
GameServerResult.wTableCount=PlatformDBAide.GetValue_WORD(TEXT("TableCount"));
|
|||
|
|
GameServerResult.wServerPort=PlatformDBAide.GetValue_WORD(TEXT("ServerPort"));
|
|||
|
|
GameServerResult.wServerType=PlatformDBAide.GetValue_WORD(TEXT("ServerType"));
|
|||
|
|
PlatformDBAide.GetValue_String(TEXT("ServerName"),GameServerResult.szServerName,CountArray(GameServerResult.szServerName));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
GameServerResult.cbDistributeRule=PlatformDBAide.GetValue_BYTE(TEXT("DistributeRule"));
|
|||
|
|
GameServerResult.wMinDistributeUser=PlatformDBAide.GetValue_WORD(TEXT("MinDistributeUser"));
|
|||
|
|
GameServerResult.wMaxDistributeUser=PlatformDBAide.GetValue_WORD(TEXT("MaxDistributeUser"));
|
|||
|
|
GameServerResult.wDistributeTimeSpace=PlatformDBAide.GetValue_WORD(TEXT("DistributeTimeSpace"));
|
|||
|
|
GameServerResult.wDistributeDrawCount=PlatformDBAide.GetValue_WORD(TEXT("DistributeDrawCount"));
|
|||
|
|
GameServerResult.wDistributeStartDelay=PlatformDBAide.GetValue_WORD(TEXT("DistributeStartDelay"));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBAide.GetValue_String(TEXT("DataBaseName"),GameServerResult.szDataBaseName,CountArray(GameServerResult.szDataBaseName));
|
|||
|
|
PlatformDBAide.GetValue_String(TEXT("DataBaseAddr"),GameServerResult.szDataBaseAddr,CountArray(GameServerResult.szDataBaseAddr));
|
|||
|
|
|
|||
|
|
//<2F><>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szCustomRule[CountArray(GameServerResult.cbCustomRule)*2+1];
|
|||
|
|
PlatformDBAide.GetValue_String(TEXT("CustomRule"),szCustomRule,CountArray(szCustomRule));
|
|||
|
|
PlatformDBAide.GetValue_String(TEXT("ServiceMachine"),GameServerResult.szServiceMachine,CountArray(GameServerResult.szServiceMachine));
|
|||
|
|
|
|||
|
|
//<2F><>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>
|
|||
|
|
if (szCustomRule[0]!=0)
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
ASSERT(lstrlen(szCustomRule)%2==0);
|
|||
|
|
INT nCustomRuleSize=lstrlen(szCustomRule)/2;
|
|||
|
|
|
|||
|
|
//ת<><D7AA><EFBFBD>ַ<EFBFBD>
|
|||
|
|
for (INT i=0;i<nCustomRuleSize;i++)
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD>ַ<EFBFBD>
|
|||
|
|
TCHAR cbChar1=szCustomRule[i*2];
|
|||
|
|
TCHAR cbChar2=szCustomRule[i*2+1];
|
|||
|
|
|
|||
|
|
//Ч<><D0A7><EFBFBD>ַ<EFBFBD>
|
|||
|
|
ASSERT((cbChar1>=TEXT('0'))&&(cbChar1<=TEXT('9'))||(cbChar1>=TEXT('A'))&&(cbChar1<=TEXT('F')));
|
|||
|
|
ASSERT((cbChar2>=TEXT('0'))&&(cbChar2<=TEXT('9'))||(cbChar2>=TEXT('A'))&&(cbChar2<=TEXT('F')));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD>
|
|||
|
|
if ((cbChar2>=TEXT('0'))&&(cbChar2<=TEXT('9'))) GameServerResult.cbCustomRule[i]+=(cbChar2-TEXT('0'));
|
|||
|
|
if ((cbChar2>=TEXT('A'))&&(cbChar2<=TEXT('F'))) GameServerResult.cbCustomRule[i]+=(cbChar2-TEXT('A')+0x0A);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD>
|
|||
|
|
if ((cbChar1>=TEXT('0'))&&(cbChar1<=TEXT('9'))) GameServerResult.cbCustomRule[i]+=(cbChar1-TEXT('0'))*0x10;
|
|||
|
|
if ((cbChar1>=TEXT('A'))&&(cbChar1<=TEXT('F'))) GameServerResult.cbCustomRule[i]+=(cbChar1-TEXT('A')+0x0A)*0x10;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ذ汾
|
|||
|
|
LPCTSTR pszServerDLLName=GameServerResult.szServerDLLName;
|
|||
|
|
CWHService::GetModuleVersion(pszServerDLLName,GameServerResult.dwNativeVersion);
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
bool CServerInfoManager::ReadGameMatchOption(CDataBaseAide & PlatformDBAide, tagGameMatchOption & GameMatchResult)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
|||
|
|
ZeroMemory(&GameMatchResult,sizeof(GameMatchResult));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
GameMatchResult.dwMatchID=PlatformDBAide.GetValue_INT(TEXT("MatchID"));
|
|||
|
|
GameMatchResult.dwMatchNO=PlatformDBAide.GetValue_INT(TEXT("MatchNo"));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
GameMatchResult.cbMatchFeeType= PlatformDBAide.GetValue_INT(TEXT("MatchFeeType"));
|
|||
|
|
GameMatchResult.lMatchFee= PlatformDBAide.GetValue_LONGLONG(TEXT("MatchFee"));
|
|||
|
|
|
|||
|
|
GameMatchResult.lMatchEnterScore= PlatformDBAide.GetValue_LONGLONG(TEXT("MatchEnterScore"));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
GameMatchResult.cbMemberOrder = PlatformDBAide.GetValue_INT(TEXT("MemberOrder"));
|
|||
|
|
GameMatchResult.cbMatchType = PlatformDBAide.GetValue_INT(TEXT("MatchType"));
|
|||
|
|
PlatformDBAide.GetValue_String(TEXT("MatchName"),GameMatchResult.szMatchName,CountArray(GameMatchResult.szMatchName));
|
|||
|
|
|
|||
|
|
//<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|||
|
|
if(GameMatchResult.cbMatchType==MATCH_TYPE_LOCKTIME)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
GameMatchResult.MatchType.LockTime.wMatchPlayCount= PlatformDBAide.GetValue_LONGLONG(TEXT("MinPlayCount"));
|
|||
|
|
|
|||
|
|
//ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBAide.GetValue_SystemTime(TEXT("StartTime"),GameMatchResult.MatchType.LockTime.MatchStartTime);
|
|||
|
|
PlatformDBAide.GetValue_SystemTime(TEXT("EndTime"),GameMatchResult.MatchType.LockTime.MatchEndTime);
|
|||
|
|
PlatformDBAide.GetValue_SystemTime(TEXT("SignupStartTime"), GameMatchResult.MatchType.LockTime.SignupStartTime);
|
|||
|
|
PlatformDBAide.GetValue_SystemTime(TEXT("SignupEndTime"), GameMatchResult.MatchType.LockTime.SignupEndTime);
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
GameMatchResult.MatchType.LockTime.lMatchInitScore = PlatformDBAide.GetValue_LONGLONG(TEXT("InitScore"));
|
|||
|
|
GameMatchResult.MatchType.LockTime.lMatchCullScore = PlatformDBAide.GetValue_LONGLONG(TEXT("CullScore"));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ģʽ;
|
|||
|
|
GameMatchResult.MatchType.LockTime.cbMatchMode = PlatformDBAide.GetValue_BYTE(TEXT("MatchMode"));
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ID;
|
|||
|
|
GameMatchResult.MatchType.LockTime.dwChannelID = (DWORD)PlatformDBAide.GetValue_DOUBLE(TEXT("ChannelID"));
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID;
|
|||
|
|
GameMatchResult.MatchType.LockTime.dwInviteCode = (DWORD)PlatformDBAide.GetValue_DOUBLE(TEXT("InviteCode"));
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
GameMatchResult.MatchType.LockTime.dwQuality = (DWORD)PlatformDBAide.GetValue_DOUBLE(TEXT("Quality"));
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
GameMatchResult.MatchType.LockTime.dwCycle = (DWORD)PlatformDBAide.GetValue_DOUBLE(TEXT("Cycle"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|||
|
|
if(GameMatchResult.cbMatchType==MATCH_TYPE_IMMEDIATE)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
GameMatchResult.MatchType.Immediate.wStartUserCount = PlatformDBAide.GetValue_WORD(TEXT("StartUserCount"));
|
|||
|
|
GameMatchResult.MatchType.Immediate.wAndroidUserCount = PlatformDBAide.GetValue_WORD(TEXT("AndroidUserCount"));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
GameMatchResult.MatchType.Immediate.dwInitalBase = PlatformDBAide.GetValue_DWORD(TEXT("InitialBase"));
|
|||
|
|
GameMatchResult.MatchType.Immediate.dwInitalScore = PlatformDBAide.GetValue_DWORD(TEXT("InitialScore"));
|
|||
|
|
GameMatchResult.MatchType.Immediate.wMinEnterGold = PlatformDBAide.GetValue_WORD(TEXT("MinEnterGold"));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
GameMatchResult.MatchType.Immediate.cbPlayCount = PlatformDBAide.GetValue_BYTE(TEXT("PlayCount"));
|
|||
|
|
GameMatchResult.MatchType.Immediate.cbSwitchTableCount = PlatformDBAide.GetValue_BYTE(TEXT("SwitchTableCount"));
|
|||
|
|
GameMatchResult.MatchType.Immediate.wPrecedeTimer = PlatformDBAide.GetValue_WORD(TEXT("PrecedeTimer"));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD>
|
|||
|
|
WORD CServerInfoManager::LoadGameMatchReward(DWORD dwMatchID,DWORD dwMatchNO)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDataBaseAide PlatformDBAide;
|
|||
|
|
CDataBaseHelper PlatformDBModule;
|
|||
|
|
|
|||
|
|
//ִ<><D6B4><EFBFBD><EFBFBD>
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
|||
|
|
if (ConnectPlatformDB(PlatformDBModule)==false)
|
|||
|
|
{
|
|||
|
|
ASSERT(FALSE);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|||
|
|
PlatformDBAide.SetDataBase(PlatformDBModule.GetInterface());
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBAide.ResetParameter();
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwMatchID"),dwMatchID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwMatchNo"),dwMatchNO);
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD>б<EFBFBD>
|
|||
|
|
if (PlatformDBAide.ExecuteProcess(TEXT("GSP_GS_LoadMatchReward"),true)==DB_SUCCESS)
|
|||
|
|
{
|
|||
|
|
return PlatformDBModule->GetRecordCount();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return 0;
|
|||
|
|
}
|
|||
|
|
catch (IDataBaseException * pIException)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
LPCTSTR pszDescribe=pIException->GetExceptionDescribe();
|
|||
|
|
CTraceService::TraceString(pszDescribe,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(pszDescribe,MB_ICONERROR);
|
|||
|
|
|
|||
|
|
return 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>
|
|||
|
|
bool CServerInfoManager::LoadGameMatchOption(WORD wKindID,CMatchOptionBuffer & MatchOptionBuffer)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDataBaseAide PlatformDBAide;
|
|||
|
|
CDataBaseHelper PlatformDBModule;
|
|||
|
|
|
|||
|
|
//ִ<><D6B4><EFBFBD><EFBFBD>
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
|||
|
|
if (ConnectPlatformDB(PlatformDBModule)==false)
|
|||
|
|
{
|
|||
|
|
ASSERT(FALSE);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|||
|
|
PlatformDBAide.SetDataBase(PlatformDBModule.GetInterface());
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
PlatformDBAide.ResetParameter();
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wKindID"),wKindID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwMatchID"),0);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwMatchNo"),0);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
TCHAR szDescribeString[128]=TEXT("");
|
|||
|
|
PlatformDBAide.AddParameterOutput(TEXT("@strErrorDescribe"),szDescribeString,sizeof(szDescribeString),adParamOutput);
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD>б<EFBFBD>
|
|||
|
|
if (PlatformDBAide.ExecuteProcess(TEXT("GSP_GS_LoadGameMatchItem"),true)!=DB_SUCCESS)
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>Ϣ
|
|||
|
|
PlatformDBAide.GetParameter(TEXT("@strErrorDescribe"),szDescribeString,CountArray(szDescribeString));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
CTraceService::TraceString(szDescribeString,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(szDescribeString,MB_ICONERROR);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|||
|
|
MatchOptionBuffer.ResetMatchOption();
|
|||
|
|
//<2F><>ȡ<EFBFBD>б<EFBFBD>
|
|||
|
|
while (PlatformDBModule->IsRecordsetEnd()==false)
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
tagGameMatchOption GameMatchResult;
|
|||
|
|
ReadGameMatchOption(PlatformDBAide,GameMatchResult);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|||
|
|
MatchOptionBuffer.InsertMatchOption(&GameMatchResult);
|
|||
|
|
|
|||
|
|
//<2F>ƶ<EFBFBD><C6B6><EFBFBD>¼
|
|||
|
|
PlatformDBModule->MoveToNext();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
catch (IDataBaseException * pIException)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
LPCTSTR pszDescribe=pIException->GetExceptionDescribe();
|
|||
|
|
CTraceService::TraceString(pszDescribe,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(pszDescribe,MB_ICONERROR);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
|
|||
|
|
bool CServerInfoManager::LoadGameMatchOption(WORD wKindID,DWORD dwMatchID,DWORD dwMatchNO,tagGameMatchOption & GameMatchResult)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDataBaseAide PlatformDBAide;
|
|||
|
|
CDataBaseHelper PlatformDBModule;
|
|||
|
|
|
|||
|
|
//ִ<><D6B4><EFBFBD><EFBFBD>
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
|||
|
|
if (ConnectPlatformDB(PlatformDBModule)==false)
|
|||
|
|
{
|
|||
|
|
ASSERT(FALSE);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|||
|
|
PlatformDBAide.SetDataBase(PlatformDBModule.GetInterface());
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD>б<EFBFBD>
|
|||
|
|
PlatformDBAide.ResetParameter();
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@wKindID"),wKindID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwMatchID"),dwMatchID);
|
|||
|
|
PlatformDBAide.AddParameter(TEXT("@dwMatchNo"),dwMatchNO);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
TCHAR szDescribeString[128]=TEXT("");
|
|||
|
|
PlatformDBAide.AddParameterOutput(TEXT("@strErrorDescribe"),szDescribeString,sizeof(szDescribeString),adParamOutput);
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD>б<EFBFBD>
|
|||
|
|
if (PlatformDBAide.ExecuteProcess(TEXT("GSP_GS_LoadGameMatchItem"),true)!=DB_SUCCESS)
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>Ϣ
|
|||
|
|
PlatformDBAide.GetParameter(TEXT("@strErrorDescribe"),szDescribeString,CountArray(szDescribeString));
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
CTraceService::TraceString(szDescribeString,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(szDescribeString,MB_ICONERROR);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
if (PlatformDBModule->IsRecordsetEnd()==false)
|
|||
|
|
{
|
|||
|
|
ReadGameMatchOption(PlatformDBAide,GameMatchResult);
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
catch (IDataBaseException * pIException)
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
LPCTSTR pszDescribe=pIException->GetExceptionDescribe();
|
|||
|
|
CTraceService::TraceString(pszDescribe,TraceLevel_Exception);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
AfxMessageBox(pszDescribe,MB_ICONERROR);
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
bool CServerInfoManager::ReadAndroidParameter(CDataBaseAide & rs, tagAndroidParameter * pAndroidParameter)
|
|||
|
|
{
|
|||
|
|
pAndroidParameter->dwBatchID = rs.GetValue_DWORD(_T("BatchID"));
|
|||
|
|
pAndroidParameter->dwAndroidCount = rs.GetValue_DWORD(_T("AndroidCount"));
|
|||
|
|
pAndroidParameter->dwServiceMode = rs.GetValue_DWORD(_T("ServiceMode"));
|
|||
|
|
pAndroidParameter->dwEnterTime = rs.GetValue_DWORD(_T("EnterTime"));
|
|||
|
|
pAndroidParameter->dwLeaveTime = rs.GetValue_DWORD(_T("LeaveTime"));
|
|||
|
|
pAndroidParameter->dwEnterMinInterval = rs.GetValue_DWORD(_T("EnterMinInterval"));
|
|||
|
|
pAndroidParameter->dwEnterMaxInterval = rs.GetValue_DWORD(_T("EnterMaxInterval"));
|
|||
|
|
pAndroidParameter->dwLeaveMinInterval = rs.GetValue_DWORD(_T("LeaveMinInterval"));
|
|||
|
|
pAndroidParameter->dwLeaveMaxInterval = rs.GetValue_DWORD(_T("LeaveMaxInterval"));
|
|||
|
|
pAndroidParameter->dwSwitchMinInnings = rs.GetValue_DWORD(_T("SwitchMinInnings"));
|
|||
|
|
pAndroidParameter->dwSwitchMaxInnings = rs.GetValue_DWORD(_T("SwitchMaxInnings"));
|
|||
|
|
pAndroidParameter->lTakeMinScore = (SCORE)rs.GetValue_DOUBLE(_T("TakeMinScore"));
|
|||
|
|
pAndroidParameter->lTakeMaxScore = (SCORE)rs.GetValue_DOUBLE(_T("TakeMaxScore"));
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|