#ifndef DATABASE_ENGINE_SINK_HEAD_FILE #define DATABASE_ENGINE_SINK_HEAD_FILE #pragma once #include "Stdafx.h" #include "InitParameter.h" #include "DataBasePacket.h" ////////////////////////////////////////////////////////////////////////////////// //数据库类 class CDataBaseEngineSink : public IDataBaseEngineSink, public IGameDataBaseEngine { //友元定义 friend class CServiceUnits; //辅助变量 protected: DBO_GR_LogonFailure m_LogonFailure; //登录失败 DBO_GR_LogonSuccess m_LogonSuccess; //登录成功 //游戏数据库 protected: CDataBaseAide m_GameDBAide; //游戏数据 CDataBaseHelper m_GameDBModule; //游戏数据 //游戏币数据库 protected: CDataBaseAide m_TreasureDBAide; //游戏币数据库 CDataBaseHelper m_TreasureDBModule; //游戏币数据库 //平台数据库 protected: CDataBaseAide m_PlatformDBAide; //平台数据库 CDataBaseHelper m_PlatformDBModule; //平台数据库 //配置变量 protected: CInitParameter * m_pInitParameter; //配置参数 tagGameParameter * m_pGameParameter; //配置参数 tagDataBaseParameter * m_pDataBaseParameter; //连接信息 tagGameServiceAttrib * m_pGameServiceAttrib; //服务属性 tagGameServiceOption * m_pGameServiceOption; //服务配置 //组件变量 protected: IDataBaseEngine * m_pIDataBaseEngine; //引擎接口 IGameServiceManager * m_pIGameServiceManager; //服务管理 IDataBaseEngineEvent * m_pIDataBaseEngineEvent; //数据事件 //查询接口 protected: IGameDataBaseEngineSink * m_pIGameDataBaseEngineSink; //数据接口 //组件变量 public: IDBCorrespondManager * m_pIDBCorrespondManager; //数据协调 //函数定义 public: //构造函数 CDataBaseEngineSink(); //析构函数 virtual ~CDataBaseEngineSink(); //基础接口 public: //释放对象 virtual VOID Release() { return; } //接口查询 virtual VOID * QueryInterface(REFGUID Guid, DWORD dwQueryVer); //配置参数 public: //自定配置 virtual VOID * GetCustomRule() { return m_pGameServiceOption->cbCustomRule; }; //服务属性 virtual tagGameServiceAttrib * GetGameServiceAttrib() { return m_pGameServiceAttrib; } //服务配置 virtual tagGameServiceOption * GetGameServiceOption() { return m_pGameServiceOption; } //获取对象 public: //获取对象 virtual VOID * GetDataBase(REFGUID Guid, DWORD dwQueryVer); //获取对象 virtual VOID * GetDataBaseEngine(REFGUID Guid, DWORD dwQueryVer); //功能接口 public: //投递结果 virtual bool PostGameDataBaseResult(WORD wRequestID, VOID * pData, WORD wDataSize); //系统事件 public: //启动事件 virtual bool OnDataBaseEngineStart(IUnknownEx * pIUnknownEx); //停止事件 virtual bool OnDataBaseEngineConclude(IUnknownEx * pIUnknownEx); //内核事件 public: //时间事件 virtual bool OnDataBaseEngineTimer(DWORD dwTimerID, WPARAM dwBindParameter); //控制事件 virtual bool OnDataBaseEngineControl(WORD wControlID, VOID * pData, WORD wDataSize); //请求事件 virtual bool OnDataBaseEngineRequest(WORD wRequestID, DWORD dwContextID, VOID * pData, WORD wDataSize); //登录函数 protected: //I D 登录 bool OnRequestLogonUserID(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //I D 登录 bool OnRequestLogonMobile(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //帐号登录 bool OnRequestLogonAccounts(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //系统处理 protected: //游戏写分 bool OnRequestWriteGameScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //新手活动 bool OnRequestBeginnerGameTime(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //离开房间 bool OnRequestLeaveGameServer(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //游戏记录 bool OnRequestGameScoreRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //私人房游戏记录 bool OnRequestPrivateGameRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载参数 bool OnRequestLoadParameter(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载列表 bool OnRequestLoadGameColumn(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载机器 bool OnRequestLoadAndroidParameter(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载机器 bool OnRequestLoadAndroidUser(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载道具 bool OnRequestLoadGameProperty(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //礼物请求 bool OnRequestPropertyRequest(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //用户权限 bool OnRequestManageUserRight(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //系统消息 bool OnRequestLoadSystemMessage(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载敏感词 bool OnRequestLoadSensitiveWords(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //解锁机器人 bool OnRequestUnlockAndroidUser(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载牌库 bool OnRequestLoadCardLibrary(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //私人房单场游戏记录; bool OnRequestSinglePrivateGameRecord(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //私人房结束; bool OnRequestPrivateGameEnd(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //牌库全局配置; bool OnRequestLoadCardLibCfg(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //清空本服务器所有玩家; bool OnRequestUnlockAllUser(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //重置数据库信息; bool OnRequestResetDateBaseInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //比赛服务 protected: //比赛报名 bool OnRequestMatchSignup(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //退出比赛 bool OnRequestMatchUnSignup(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //比赛开始 bool OnRequestMatchStart(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //比赛结束 bool OnRequestMatchOver(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //比赛奖励 bool OnRequestMatchReward(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //比赛淘汰 bool OnRequestMatchEliminate(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //比赛记录成绩; bool OnRequestMatchRecordGrades(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //加载排行数据; bool OnRequestMatchLoadRankData(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //私人场服务 protected: bool OnRequestPrivateInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool OnRequestCreatePrivate(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool OnRequestCreatePrivateCost(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool OnRequestCreateUnionRoom(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool OnRequestUnionRoomUser(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool onRequestDismissUnionRoom(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool onRequestJoinUnionRoom(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool OnRequestUnionRoomEnd(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool OnRequestWriteUnionScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool OnRequestUnionRoomInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool OnRequestAutoCreateUnionRoom(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool OnRequestAddAutoRoomInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool OnRequestDelAutoRoomInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); bool OnRequestWriteUnionChairID(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //银行服务 protected: //存入游戏币 bool OnRequestUserSaveScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //提取游戏币 bool OnRequestUserTakeScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //转账游戏币 bool OnRequestUserTransferScore(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //查询银行 bool OnRequestQueryInsureInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //查询用户 bool OnRequestQueryTransferUserInfo(DWORD dwContextID, VOID * pData, WORD wDataSize, DWORD &dwUserID); //辅助函数 private: //登录结果 VOID OnLogonDisposeResult(DWORD dwContextID, DWORD dwErrorCode, LPCTSTR pszErrorString, bool bMobileClient,BYTE cbDeviceType=DEVICE_TYPE_PC,WORD wBehaviorFlags=0,WORD wPageTableCount=0); //银行结果 VOID OnInsureDisposeResult(DWORD dwContextID, DWORD dwErrorCode, SCORE lFrozenedScore, LPCTSTR pszErrorString, bool bMobileClient,BYTE cbActivityGame=FALSE); }; ////////////////////////////////////////////////////////////////////////////////// #endif