1695 lines
49 KiB
C
1695 lines
49 KiB
C
|
|
#ifndef GAME_SERVICE_HEAD_HEAD_FILE
|
|||
|
|
#define GAME_SERVICE_HEAD_HEAD_FILE
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD>
|
|||
|
|
#include "..\..\ȫ<>ֶ<EFBFBD><D6B6><EFBFBD>\Platform.h"
|
|||
|
|
|
|||
|
|
//<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|||
|
|
#include "..\..\<5C><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>\CMD_Commom.h"
|
|||
|
|
#include "..\..\<5C><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>\CMD_Correspond.h"
|
|||
|
|
#include "..\..\<5C><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>\CMD_GameServer.h"
|
|||
|
|
|
|||
|
|
//ƽ̨<C6BD>ļ<EFBFBD>
|
|||
|
|
#include "..\..\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ServiceCoreHead.h"
|
|||
|
|
#include "..\..\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD>\KernelEngineHead.h"
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#ifndef GAME_SERVICE_CLASS
|
|||
|
|
#ifdef GAME_SERVICE_DLL
|
|||
|
|
#define GAME_SERVICE_CLASS _declspec(dllexport)
|
|||
|
|
#else
|
|||
|
|
#define GAME_SERVICE_CLASS _declspec(dllimport)
|
|||
|
|
#endif
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//ģ<>鶨<EFBFBD><E9B6A8>
|
|||
|
|
#ifndef _DEBUG
|
|||
|
|
#define GAME_SERVICE_DLL_NAME TEXT("GameService.dll") //<2F><><EFBFBD><EFBFBD> DLL <20><><EFBFBD><EFBFBD>
|
|||
|
|
#else
|
|||
|
|
#define GAME_SERVICE_DLL_NAME TEXT("GameServiceD.dll") //<2F><><EFBFBD><EFBFBD> DLL <20><><EFBFBD><EFBFBD>
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F>ӿ<EFBFBD>˵<EFBFBD><CBB5>
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB>ӿ<EFBFBD>
|
|||
|
|
interface IServerUserItem;
|
|||
|
|
interface IServerUserManager;
|
|||
|
|
interface IServerUserItemSink;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
interface IAndroidUserItem;
|
|||
|
|
interface IAndroidUserManager;
|
|||
|
|
interface IAndroidUserItemSink;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ӽӿ<D3BD>
|
|||
|
|
interface ITableFrame;
|
|||
|
|
interface ITableFrameSink;
|
|||
|
|
interface ITableUserAction;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
interface IMainServiceFrame;
|
|||
|
|
interface IGameServiceManager;
|
|||
|
|
interface IGameServiceCustomRule;
|
|||
|
|
interface IGameServiceCustomTime;
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define ANDROID_WAITSTANDUP 0x01 //<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define ANDROID_WAITLEAVE 0x02 //<2F>ȴ<EFBFBD><C8B4>뿪
|
|||
|
|
|
|||
|
|
//Ⱥ<><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define BG_MOBILE (BYTE)(0x01) //<2F>ֻ<EFBFBD>Ⱥ<EFBFBD><C8BA>
|
|||
|
|
#define BG_COMPUTER (BYTE)(0x02) //<2F><><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>
|
|||
|
|
#define BG_ALL_CLIENT (BYTE)(0xFF) //ȫ<><C8AB>Ⱥ<EFBFBD><C8BA>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define INDEX_SOCKET (WORD)(0x0000) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define INDEX_ANDROID (WORD)(0x2000) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define GAME_SERVICE_CREATE_NAME "CreateGameServiceManager" //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define ANDROID_SIMULATE 0x01 //<2F>ģ<E0BBA5><C4A3>
|
|||
|
|
#define ANDROID_PASSIVITY 0x02 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define ANDROID_INITIATIVE 0x04 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>
|
|||
|
|
#define GER_NORMAL 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define GER_DISMISS 0x01 //<2F><>Ϸ<EFBFBD><CFB7>ɢ
|
|||
|
|
#define GER_USER_LEAVE 0x02 //<2F>û<EFBFBD><C3BB>뿪
|
|||
|
|
#define GER_NETWORK_ERROR 0x03 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define GER_BAOZI 0x04 //<2F>˰<EFBFBD><CBB0><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>뿪ԭ<EBBFAA><D4AD>
|
|||
|
|
#define LER_NORMAL 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD>뿪
|
|||
|
|
#define LER_SYSTEM 0x01 //ϵͳԭ<CDB3><D4AD>
|
|||
|
|
#define LER_NETWORK 0x02 //<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>
|
|||
|
|
#define LER_USER_IMPACT 0x03 //<2F>û<EFBFBD><C3BB><EFBFBD>ͻ
|
|||
|
|
#define LER_SERVER_FULL 0x04 //<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
|
|||
|
|
#define LER_SERVER_CONDITIONS 0x05 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define SCORE_TYPE_NULL 0x00 //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
|
|||
|
|
#define SCORE_TYPE_WIN 0x01 //ʤ<>ֻ<EFBFBD><D6BB><EFBFBD>
|
|||
|
|
#define SCORE_TYPE_LOSE 0x02 //<2F><><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>
|
|||
|
|
#define SCORE_TYPE_DRAW 0x03 //<2F>;ֻ<CDBE><D6BB><EFBFBD>
|
|||
|
|
#define SCORE_TYPE_FLEE 0x04 //<2F>Ӿֻ<D3BE><D6BB><EFBFBD>
|
|||
|
|
#define SCORE_TYPE_PRESENT 0x10 //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>
|
|||
|
|
#define SCORE_TYPE_SERVICE 0x11 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>ʼģʽ
|
|||
|
|
#define START_MODE_ALL_READY 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><D7BC>
|
|||
|
|
#define START_MODE_FULL_READY 0x01 //<2F><><EFBFBD>˿<EFBFBD>ʼ
|
|||
|
|
#define START_MODE_PAIR_READY 0x02 //<2F><><EFBFBD>Կ<EFBFBD>ʼ
|
|||
|
|
#define START_MODE_TIME_CONTROL 0x10 //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define START_MODE_MASTER_CONTROL 0x11 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>
|
|||
|
|
#define DISTRIBUTE_ALLOW 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define DISTRIBUTE_IMMEDIATE 0x02 //<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>
|
|||
|
|
#define DISTRIBUTE_LAST_TABLE 0x04 //ͬ<><CDAC>ѡ<EFBFBD><D1A1>
|
|||
|
|
#define DISTRIBUTE_SAME_ADDRESS 0x08 //<2F><>ַѡ<D6B7><D1A1>
|
|||
|
|
#define DISTRIBUTE_ADJACENT 0X10 //<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//ʱ<><CAB1><EFBFBD><EFBFBD>ʶ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ȷ<EFBFBD>Χ
|
|||
|
|
#define IDI_MAIN_MODULE_START 1 //<2F><>ʼ<EFBFBD><CABC>ʶ
|
|||
|
|
#define IDI_MAIN_MODULE_FINISH 99 //<2F><>ֹ<EFBFBD><D6B9>ʶ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
|
|||
|
|
#define IDI_REBOT_MODULE_START 100 //<2F><>ʼ<EFBFBD><CABC>ʶ
|
|||
|
|
#define IDI_REBOT_MODULE_FINISH 199 //<2F><>ֹ<EFBFBD><D6B9>ʶ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
|
|||
|
|
#define IDI_MATCH_MODULE_START 200 //<2F><>ʼ<EFBFBD><CABC>ʶ
|
|||
|
|
#define IDI_MATCH_MODULE_FINISH 299 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
|
|||
|
|
#define IDI_PRIVATE_MODULE_START 300 //<2F><>ʼ<EFBFBD><CABC>ʶ
|
|||
|
|
#define IDI_PRIVATE_MODULE_FINISH 399 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ӷ<EFBFBD>Χ
|
|||
|
|
#define IDI_TABLE_MODULE_START 10000 //<2F><>ʼ<EFBFBD><CABC>ʶ
|
|||
|
|
#define IDI_TABLE_MODULE_FINISH 50000 //<2F><>ֹ<EFBFBD><D6B9>ʶ
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//ʱ<>䷶Χ
|
|||
|
|
|
|||
|
|
//<2F><>Ϸʱ<CFB7><CAB1>
|
|||
|
|
#define TIME_TABLE_SINK_RANGE 20 //<2F><>ʶ<EFBFBD><CAB6>Χ
|
|||
|
|
#define TIME_TABLE_KERNEL_RANGE 30 //<2F><>ʶ<EFBFBD><CAB6>Χ
|
|||
|
|
#define TIME_TABLE_MODULE_RANGE 50 //<2F><>ʶ<EFBFBD><CAB6>Χ
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define RESERVE_USER_COUNT 40L //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F>۷<EFBFBD><DBB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define MATCH_FEE_TYPE_GOLD 0x00 //<2F><><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD>
|
|||
|
|
#define MATCH_FEE_TYPE_MEDAL 0x01 //<2F><><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD>
|
|||
|
|
#define MATCH_FEE_TYPE_CARD 0x02 //<2F><><EFBFBD>ɷ<EFBFBD><C9B7><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
#define MATCH_MODE_NORMAL 0x00 //<2F><><EFBFBD>濪<EFBFBD><E6BFAA>
|
|||
|
|
#define MATCH_MODE_ROUND 0x01 //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define MATCH_TYPE_LOCKTIME 0x00 //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|||
|
|
#define MATCH_TYPE_IMMEDIATE 0x01 //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
struct tagGameParameter
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
WORD wMedalRate; //<2F><><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>
|
|||
|
|
WORD wRevenueRate; //<2F><><EFBFBD><EFBFBD>˰<EFBFBD><CBB0>
|
|||
|
|
|
|||
|
|
//<2F>汾<EFBFBD><E6B1BE>Ϣ
|
|||
|
|
DWORD dwClientVersion; //<2F>ͻ<EFBFBD><CDBB>汾
|
|||
|
|
DWORD dwServerVersion; //<2F><><EFBFBD><EFBFBD><EFBFBD>汾
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagGameServiceAttrib
|
|||
|
|
{
|
|||
|
|
//<2F>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wKindID; //<2F><><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>
|
|||
|
|
WORD wChairCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
WORD wSupporType; //֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szGameName[LEN_KIND]; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ܱ<EFBFBD>־
|
|||
|
|
BYTE cbAndroidUser; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
|
BYTE cbDynamicJoin; //<2F><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbOffLineTrustee; //<2F><><EFBFBD>ߴ<EFBFBD><DFB4><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwServerVersion; //<2F><>Ϸ<EFBFBD>汾
|
|||
|
|
DWORD dwClientVersion; //<2F><>Ϸ<EFBFBD>汾
|
|||
|
|
TCHAR szDataBaseName[32]; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szServerDLLName[LEN_PROCESS]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szClientEXEName[LEN_PROCESS]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagGameServiceOption
|
|||
|
|
{
|
|||
|
|
//<2F>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wKindID; //<2F>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wNodeID; //<2F>ҽӽڵ<D3BD>
|
|||
|
|
WORD wSortID; //<2F><><EFBFBD>б<EFBFBD>ʶ
|
|||
|
|
WORD wServerID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
WORD wChanelID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
|
|||
|
|
//˰<><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
LONG lCellScore; //<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
|
WORD wRevenueRatio; //˰<>ձ<EFBFBD><D5B1><EFBFBD>
|
|||
|
|
SCORE lServiceScore; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lRestrictScore; //<2F><><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>
|
|||
|
|
SCORE lMinTableScore; //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>
|
|||
|
|
SCORE lMinEnterScore; //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>
|
|||
|
|
SCORE lMaxEnterScore; //<2F><><EFBFBD><EFBFBD><DFBB><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbMinEnterMember; //<2F><><EFBFBD>ͻ<EFBFBD>Ա
|
|||
|
|
BYTE cbMaxEnterMember; //<2F><><EFBFBD><EFBFBD>Ա
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwServerRule; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwAttachUserRight; //<2F><><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wMaxPlayer; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
WORD wTableCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
WORD wServerPort; //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
WORD wServerType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szServerName[LEN_SERVER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbDistributeRule; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wMinDistributeUser; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wMaxDistributeUser; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wDistributeTimeSpace; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wDistributeDrawCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wDistributeStartDelay; //<2F><>ʼ<EFBFBD><CABC>ʱ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szDataBaseAddr[16]; //<2F><><EFBFBD>ӵ<EFBFBD>ַ
|
|||
|
|
TCHAR szDataBaseName[32]; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbCustomRule[1024]; //<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagGameMatchOption
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
DWORD dwMatchID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
DWORD dwMatchNO; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbMatchType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szMatchName[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
SCORE lMatchFee; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbMatchFeeType; //<2F>۷<EFBFBD><DBB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbMemberOrder; //<2F><>Ա<EFBFBD>ȼ<EFBFBD>
|
|||
|
|
SCORE lMatchEnterScore; //<><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
union unGameMatchType
|
|||
|
|
{
|
|||
|
|
//<2F><>ʱ<EFBFBD><CAB1>
|
|||
|
|
struct tagLockTimeMatch
|
|||
|
|
{
|
|||
|
|
//ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
DWORD dwEndDelayTime; //<2F>ӳ<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
SYSTEMTIME MatchStartTime; //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
|
SYSTEMTIME MatchEndTime; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SYSTEMTIME SignupStartTime; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ;
|
|||
|
|
SYSTEMTIME SignupEndTime; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
SCORE lMatchInitScore; //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lMatchCullScore; //<2F><>̭<EFBFBD><CCAD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
WORD wMatchPlayCount; //<2F><><EFBFBD>پ<EFBFBD><D9BE><EFBFBD>
|
|||
|
|
BYTE cbMatchMode; //<2F><><EFBFBD><EFBFBD>ģʽ;
|
|||
|
|
DWORD dwChannelID; //<2F><><EFBFBD><EFBFBD>ID;
|
|||
|
|
DWORD dwInviteCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID;
|
|||
|
|
DWORD dwQuality; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
DWORD dwCycle; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
} LockTime;
|
|||
|
|
|
|||
|
|
//<2F><>ʱ<EFBFBD><CAB1>
|
|||
|
|
struct tagImmediateMatch
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
WORD wStartUserCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wAndroidUserCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
DWORD dwInitalBase; //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwInitalScore; //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>=0ʱ <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|||
|
|
WORD wMinEnterGold; //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>=0ʱ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٱ<EFBFBD><D9B1><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
BYTE cbPlayCount; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbSwitchTableCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0Ϊ<30><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
WORD wPrecedeTimer; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
} Immediate;
|
|||
|
|
} MatchType;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
WORD wRewardCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szMatchAwardContent[128]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szMatchContent[512]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// ˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagPrivateFrameParameter
|
|||
|
|
{
|
|||
|
|
DWORD dwCreaterUserID; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwRoomNum; // <20><><EFBFBD><EFBFBD>ID
|
|||
|
|
DWORD dwPlayCost; // <20><><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD>
|
|||
|
|
BYTE cbGameTypeIdex; //<2F><><EFBFBD>ݺ<EFBFBD><DDBA><EFBFBD><EFBFBD>齫<EFBFBD><E9BDAB>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbGameCout; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
DWORD dwGameRule; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbEnterRoomScoreType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
SCORE lInitEnterRoomScore; //<2F><><EFBFBD>뷿<EFBFBD><EBB7BF>ʱ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>;
|
|||
|
|
BYTE cbBaseScore;
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>Ὺ<EFBFBD><E1BFAA><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD>;
|
|||
|
|
BYTE cbUnionGoldOpen; // <20>Ƿ<EFBFBD><C7B7>ǻ<EFBFBD><C7BB><EFBFBD>ģʽ
|
|||
|
|
SCORE lScoreMultiple; //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lGameGold; //Ӷ<><D3B6>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// ˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
struct tagPrivateFrameRecordInfo
|
|||
|
|
{
|
|||
|
|
BYTE cbFinishCout; //<2F><><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>
|
|||
|
|
struct tagTableFrameParameter
|
|||
|
|
{
|
|||
|
|
//<2F>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ITimerEngine * pITimerEngine; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IDataBaseEngine * pIRecordDataBaseEngine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IDataBaseEngine * pIKernelDataBaseEngine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IMainServiceFrame * pIMainServiceFrame; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IAndroidUserManager * pIAndroidUserManager; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IGameServiceManager * pIGameServiceManager; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
|||
|
|
tagGameParameter * pGameParameter; //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
tagGameServiceAttrib * pGameServiceAttrib; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameServiceOption * pGameServiceOption; //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
tagGameMatchOption * pGameMatchOption; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IUnknownEx * pIGameMatchServiceManager; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IUnknownEx * pIGamePrivateServiceManager; //˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagAndroidUserParameter
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool bServiceContinue; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwMinSitInterval; //<2F><><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>
|
|||
|
|
DWORD dwMaxSitInterval; //<2F><><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
|
|||
|
|
tagGameParameter * pGameParameter; //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
tagGameServiceAttrib * pGameServiceAttrib; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameServiceOption * pGameServiceOption; //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
tagGameMatchOption * pGameMatchOption; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ITimerEngine * pITimerEngine; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IServerUserManager * pIServerUserManager; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IGameServiceManager * pIGameServiceManager; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IGameServiceCustomTime * pIGameServiceSustomTime; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ITCPNetworkEngineEvent * pITCPNetworkEngineEvent; //<2F>¼<EFBFBD><C2BC>ӿ<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ṹ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
struct tagScoreInfo
|
|||
|
|
{
|
|||
|
|
BYTE cbType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lScore; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lGrade; //<2F>û<EFBFBD><C3BB>ɼ<EFBFBD>
|
|||
|
|
SCORE lRevenue; //<2F><>Ϸ˰<CFB7><CBB0>
|
|||
|
|
BYTE cbLastScoreMultiple; //<2F><>һ<EFBFBD>ֻ<EFBFBD><D6BB>ֱ<EFBFBD><D6B1><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
struct tagVariationInfo
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
SCORE lScore; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lGrade; //<2F>û<EFBFBD><C3BB>ɼ<EFBFBD>
|
|||
|
|
SCORE lInsure; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lRevenue; //<2F><>Ϸ˰<CFB7><CBB0>
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
BYTE cbNextScoreMultiple; //<2F><>һ<EFBFBD>ֻ<EFBFBD><D6BB>ֱ<EFBFBD><D6B1><EFBFBD>
|
|||
|
|
DWORD dwWinCount; //ʤ<><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwLostCount; //ʧ<><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwDrawCount; //<2F>;<EFBFBD><CDBE><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwFleeCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwPlayTimeCount; //<2F><>Ϸʱ<CFB7><CAB1>
|
|||
|
|
|
|||
|
|
//ȫ<><C8AB><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
DWORD dwUserMedal; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwExperience; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
LONG lLoveLiness; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>¼
|
|||
|
|
struct tagGameScoreRecord
|
|||
|
|
{
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
DWORD dwUserID; //<2F>û<EFBFBD><C3BB><EFBFBD>ʶ
|
|||
|
|
WORD wChairID; //<2F><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>
|
|||
|
|
BYTE cbAndroid; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
|
|
|||
|
|
//<2F>ɼ<EFBFBD><C9BC><EFBFBD>Ϣ
|
|||
|
|
SCORE lScore; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lGrade; //<2F>û<EFBFBD><C3BB>ɼ<EFBFBD>
|
|||
|
|
SCORE lRevenue; //<2F><>Ϸ˰<CFB7><CBB0>
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
DWORD dwDBQuestID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
DWORD dwInoutIndex; //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
DWORD dwUserMemal; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
DWORD dwPlayTimeCount; //<2F><>Ϸʱ<CFB7><CAB1>
|
|||
|
|
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData,bool bSend)
|
|||
|
|
{
|
|||
|
|
Stream_VALUE(dwUserID);
|
|||
|
|
Stream_VALUE(wChairID);
|
|||
|
|
Stream_VALUE(cbAndroid);
|
|||
|
|
Stream_VALUE(lScore);
|
|||
|
|
Stream_VALUE(lGrade);
|
|||
|
|
Stream_VALUE(lRevenue);
|
|||
|
|
Stream_VALUE(dwDBQuestID);
|
|||
|
|
Stream_VALUE(dwInoutIndex);
|
|||
|
|
Stream_VALUE(dwUserMemal);
|
|||
|
|
Stream_VALUE(dwPlayTimeCount);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>¼Ԥ<C2BC><D4A4>
|
|||
|
|
struct tagGameRecordOverLook
|
|||
|
|
{
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
DWORD dwRecordID; //<2F>û<EFBFBD><C3BB><EFBFBD>ʶ
|
|||
|
|
|
|||
|
|
//<2F>ɼ<EFBFBD><C9BC><EFBFBD>Ϣ
|
|||
|
|
SCORE lScore; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lGrade; //<2F>û<EFBFBD><C3BB>ɼ<EFBFBD>
|
|||
|
|
|
|||
|
|
SYSTEMTIME PlayerTime; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData,bool bSend)
|
|||
|
|
{
|
|||
|
|
Stream_VALUE(dwRecordID);
|
|||
|
|
Stream_VALUE(lScore);
|
|||
|
|
Stream_VALUE(lGrade);
|
|||
|
|
Stream_VALUE_SYSTEMTIME(PlayerTime);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>ƿ<EFBFBD>
|
|||
|
|
struct tagGameCardLibrary
|
|||
|
|
{
|
|||
|
|
WORD wKindID;
|
|||
|
|
DWORD dwLibID;
|
|||
|
|
DWORD dwCustomID;
|
|||
|
|
BYTE cbCount; //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbData[LEN_CARD_LIB]; //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagUserRule
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
|
bool bLimitSameIP; //Ч<><D0A7><EFBFBD><EFBFBD>ַ
|
|||
|
|
bool bLimitWinRate; //<2F><><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>
|
|||
|
|
bool bLimitFleeRate; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool bLimitGameScore; //<2F><><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wMinWinRate; //<2F><><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>
|
|||
|
|
WORD wMaxFleeRate; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
LONG lMaxGameScore; //<2F><><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>
|
|||
|
|
LONG lMinGameScore; //<2F><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>
|
|||
|
|
TCHAR szPassword[LEN_PASSWORD]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
struct tagUserInfoPlus
|
|||
|
|
{
|
|||
|
|
//<2F><>¼<EFBFBD><C2BC>Ϣ
|
|||
|
|
DWORD dwLogonTime; //<2F><>¼ʱ<C2BC><CAB1>
|
|||
|
|
DWORD dwInoutIndex; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
WORD wBindIndex; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwClientAddr; //<2F><><EFBFBD>ӵ<EFBFBD>ַ
|
|||
|
|
TCHAR szMachineID[LEN_MACHINE_ID]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ӱ<EFBFBD><D3B1><EFBFBD>
|
|||
|
|
DWORD dwUserRight; //<2F>û<EFBFBD>Ȩ<EFBFBD><C8A8>
|
|||
|
|
DWORD dwMasterRight; //<2F><><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
|
|||
|
|
SCORE lRestrictScore; //<2F><><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwCardLibIndex; //ʹ<><CAB9><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwStartLibTime; //<2F>ƿʼʹ<CABC><CAB9>ʱ<EFBFBD><CAB1>
|
|||
|
|
DWORD dwStopLibTime; //<2F>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ʱ<EFBFBD><CAB1>
|
|||
|
|
BYTE cbCardLibEnabled; //<2F>ƿ<EFBFBD><C6BF><EFBFBD>Ч<EFBFBD><D0A7>־
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool bMobileUser; //<2F>ֻ<EFBFBD><D6BB>û<EFBFBD>
|
|||
|
|
bool bAndroidUser; //<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
TCHAR szPassword[LEN_MD5]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagRequestResult
|
|||
|
|
{
|
|||
|
|
BYTE cbFailureCode; //ʧ<><CAA7>ԭ<EFBFBD><D4AD>
|
|||
|
|
TCHAR szFailureReason[128]; //ʧ<><CAA7>ԭ<EFBFBD><D4AD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״<EFBFBD><D7B4>
|
|||
|
|
struct tagTableUserInfo
|
|||
|
|
{
|
|||
|
|
WORD wMinUserCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wTableUserCount; //<2F>û<EFBFBD><C3BB><EFBFBD>Ŀ
|
|||
|
|
WORD wTableReadyCount; //<><D7BC><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
WORD wTableAndroidCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״<EFBFBD><D7B4>
|
|||
|
|
struct tagAndroidUserInfo
|
|||
|
|
{
|
|||
|
|
WORD wFreeUserCount; //<2F>û<EFBFBD><C3BB><EFBFBD>Ŀ
|
|||
|
|
WORD wPlayUserCount; //<2F>û<EFBFBD><C3BB><EFBFBD>Ŀ
|
|||
|
|
WORD wSitdownUserCount; //<2F>û<EFBFBD><C3BB><EFBFBD>Ŀ
|
|||
|
|
WORD wWaitUserCount; //<2F>û<EFBFBD><C3BB><EFBFBD>Ŀ
|
|||
|
|
IAndroidUserItem * pIAndroidUserFree[MAX_ANDROID]; //<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
IAndroidUserItem * pIAndroidUserPlay[MAX_ANDROID]; //<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
IAndroidUserItem * pIAndroidUserSitdown[MAX_ANDROID]; //<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
IAndroidUserItem * pIAndroidUserWait[MAX_ANDROID]; //<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
struct tagAndroidService
|
|||
|
|
{
|
|||
|
|
DWORD dwSwitchTableInnings; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagAndroidParameter
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>
|
|||
|
|
DWORD dwBatchID; //<2F><><EFBFBD>α<EFBFBD>ʶ
|
|||
|
|
DWORD dwServiceMode; //<2F><><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
DWORD dwAndroidCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
DWORD dwEnterTime; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
DWORD dwLeaveTime; //<2F>뿪ʱ<EBBFAA><CAB1>
|
|||
|
|
SCORE lTakeMinScore; //Я<><D0AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lTakeMaxScore; //Я<><D0AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwEnterMinInterval; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwEnterMaxInterval; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwLeaveMinInterval; //<2F>뿪<EFBFBD><EBBFAA><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwLeaveMaxInterval; //<2F>뿪<EFBFBD><EBBFAA><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwSwitchMinInnings; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwSwitchMaxInnings; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>ʺ<EFBFBD><CABA><EFBFBD>Ϣ
|
|||
|
|
struct tagAndroidAccountsInfo
|
|||
|
|
{
|
|||
|
|
DWORD dwUserID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
TCHAR szPassword[LEN_PASSWORD]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagAndroidItemConfig
|
|||
|
|
{
|
|||
|
|
tagAndroidAccountsInfo AndroidAccountsInfo; //<2F>ʺ<EFBFBD><CABA><EFBFBD>Ϣ
|
|||
|
|
tagAndroidParameter * pAndroidParameter; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
enum EN_MatchStatus
|
|||
|
|
{
|
|||
|
|
EN_NULL=0,
|
|||
|
|
EN_OUT,
|
|||
|
|
};
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IGameServiceManager INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IGameServiceManager={0xa975cceb,0x0331,0x4553,0xa1,0xe0,0xa7,0xc7,0x7a,0x7c,0x4e,0xfd};
|
|||
|
|
#else
|
|||
|
|
#define VER_IGameServiceManager INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IGameServiceManager={0x4b2b9d8f,0xce1b,0x44f3,0xa5,0x22,0x65,0x1a,0x65,0xc9,0x0a,0x25};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
interface IGameServiceManager : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID * CreateTableFrameSink(REFGUID Guid, DWORD dwQueryVer)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID * CreateAndroidUserItemSink(REFGUID Guid, DWORD dwQueryVer)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID * CreateGameDataBaseEngineSink(REFGUID Guid, DWORD dwQueryVer)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool GetServiceAttrib(tagGameServiceAttrib & GameServiceAttrib)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool RectifyParameter(tagGameServiceOption & GameServiceOption)=NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IGameServiceCustomRule INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IGameServiceCustomRule={0x74a43b7d,0x7c29,0x4fb8,0xa5,0x00,0x8e,0x8d,0xff,0x6e,0x2a,0xdd};
|
|||
|
|
#else
|
|||
|
|
#define VER_IGameServiceCustomRule INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IGameServiceCustomRule={0xc7ace01d,0x75f8,0x4af7,0xb1,0x80,0xa8,0x53,0xcd,0x2e,0x0a,0xb6};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ýӿ<C3BD>
|
|||
|
|
interface IGameServiceCustomRule : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SaveCustomRule(LPBYTE pcbCustomRule, WORD wCustonSize)=NULL;
|
|||
|
|
//Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool DefaultCustomRule(LPBYTE pcbCustomRule, WORD wCustonSize)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual HWND CreateCustomRule(CWnd * pParentWnd, CRect rcCreate, LPBYTE pcbCustomRule, WORD wCustonSize)=NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IGameServiceCustomTime INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IGameServiceCustomTime={0xf57573b0,0x63c3,0x43a9,0x8c,0xb1,0xe2,0x22,0xd3,0x93,0xe2,0xb};
|
|||
|
|
#else
|
|||
|
|
#define VER_IGameServiceCustomTime INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IGameServiceCustomTime = { 0xf57573b0, 0x63c3, 0x43a9, 0x8c, 0xb1, 0xe2, 0x22, 0xd3, 0x93, 0xe2, 0xb };
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
interface IGameServiceCustomTime : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual DWORD GetAndroidTimerPulse() = NULL;
|
|||
|
|
//ʱ<>䷶Χ
|
|||
|
|
virtual DWORD GetTableSinkTimeRange() = NULL;
|
|||
|
|
//ʱ<>䵥Ԫ
|
|||
|
|
virtual DWORD GetTimerEngineTimeCell() = NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IGameDataBaseEngine INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IGameDataBaseEngine={0x47dcd531,0x2a19,0x4c0a,0x89,0xb6,0x9f,0xd8,0xe0,0xa7,0x85,0xee};
|
|||
|
|
#else
|
|||
|
|
#define VER_IGameDataBaseEngine INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IGameDataBaseEngine={0x4310e733,0xc49b,0x4592,0xa3,0xb1,0x73,0x18,0xd1,0x53,0x2f,0x3e};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
interface IGameDataBaseEngine : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID * GetCustomRule()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual tagGameServiceAttrib * GetGameServiceAttrib()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual tagGameServiceOption * GetGameServiceOption()=NULL;
|
|||
|
|
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID * GetDataBase(REFGUID Guid, DWORD dwQueryVer)=NULL;
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID * GetDataBaseEngine(REFGUID Guid, DWORD dwQueryVer)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ܽӿ<DCBD>
|
|||
|
|
public:
|
|||
|
|
//Ͷ<>ݽ<EFBFBD><DDBD><EFBFBD>
|
|||
|
|
virtual bool PostGameDataBaseResult(WORD wRequestID, VOID * pData, WORD wDataSize)=NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IGameDataBaseEngineSink INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IGameDataBaseEngineSink={0x9b9111d9,0x7a71,0x41a1,0xae,0x78,0xd4,0xf3,0x20,0x08,0x24,0xdf};
|
|||
|
|
#else
|
|||
|
|
#define VER_IGameDataBaseEngineSink INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IGameDataBaseEngineSink={0xa6c5e2cc,0x34c1,0x422c,0xa0,0x1b,0x54,0xab,0x68,0xfa,0xe6,0x81};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ݽӿ<DDBD>
|
|||
|
|
interface IGameDataBaseEngineSink : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD>ýӿ<C3BD>
|
|||
|
|
virtual bool InitializeSink(IUnknownEx * pIUnknownEx)=NULL;
|
|||
|
|
//<2F><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
|
|||
|
|
virtual bool OnGameDataBaseRequest(DWORD dwUserID, WORD wTableID, WORD wChairID);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IServerUserItem INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IServerUserItem={0xcd43dce8,0x1e12,0x43be,0x8b,0x4f,0x94,0x95,0x92,0xa4,0xf6,0x19};
|
|||
|
|
#else
|
|||
|
|
#define VER_IServerUserItem INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IServerUserItem={0xb5ce01a7,0x5cd1,0x4788,0x94,0x6c,0xa1,0xef,0x5b,0x30,0x2c,0xb7};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB>ӿ<EFBFBD>
|
|||
|
|
interface IServerUserItem : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
public:
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual WORD GetBindIndex()=NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>ַ
|
|||
|
|
virtual DWORD GetClientAddr()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
virtual LPCTSTR GetMachineID()=NULL;
|
|||
|
|
|
|||
|
|
//<2F><>¼<EFBFBD><C2BC>Ϣ
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
virtual DWORD GetDBQuestID()=NULL;
|
|||
|
|
//<2F><>¼ʱ<C2BC><CAB1>
|
|||
|
|
virtual DWORD GetLogonTime()=NULL;
|
|||
|
|
//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
|
|||
|
|
virtual DWORD GetInoutIndex()=NULL;
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
public:
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
virtual tagUserInfo * GetUserInfo()=NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual tagUserRule * GetUserRule()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual tagUserProperty * GetUserProperty()=NULL;
|
|||
|
|
//ʱ<><CAB1><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual tagTimeInfo * GetTimeInfo()=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
public:
|
|||
|
|
//<2F>û<EFBFBD><C3BB>Ա<EFBFBD>
|
|||
|
|
virtual BYTE GetGender()=NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>ʶ
|
|||
|
|
virtual DWORD GetUserID()=NULL;
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>ʶ
|
|||
|
|
virtual DWORD GetGameID()=NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB>dz<EFBFBD>
|
|||
|
|
virtual LPCTSTR GetNickName()=NULL;
|
|||
|
|
|
|||
|
|
//״̬<D7B4>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>
|
|||
|
|
virtual WORD GetTableID()=NULL;
|
|||
|
|
//<2F><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>
|
|||
|
|
virtual WORD GetChairID()=NULL;
|
|||
|
|
//<2F>û<EFBFBD>״̬
|
|||
|
|
virtual BYTE GetUserStatus()=NULL;
|
|||
|
|
|
|||
|
|
//Ȩ<><C8A8><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
public:
|
|||
|
|
//<2F>û<EFBFBD>Ȩ<EFBFBD><C8A8>
|
|||
|
|
virtual DWORD GetUserRight()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
|
|||
|
|
virtual DWORD GetMasterRight()=NULL;
|
|||
|
|
|
|||
|
|
//Ȩ<><C8A8><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
public:
|
|||
|
|
//<2F>û<EFBFBD>Ȩ<EFBFBD><C8A8>
|
|||
|
|
virtual BYTE GetMemberOrder()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
|
|||
|
|
virtual BYTE GetMasterOrder()=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
public:
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual SCORE GetUserScore()=NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB>ɼ<EFBFBD>
|
|||
|
|
virtual SCORE GetUserGrade()=NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual SCORE GetUserInsure()=NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
virtual BYTE getScoreMultiple()=NULL;
|
|||
|
|
|
|||
|
|
//<2F>й<EFBFBD><D0B9><EFBFBD>Ϣ
|
|||
|
|
public:
|
|||
|
|
//<2F>йܻ<D0B9><DCBB><EFBFBD>
|
|||
|
|
virtual SCORE GetTrusteeScore()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual SCORE GetFrozenedScore()=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
public:
|
|||
|
|
//<2F>û<EFBFBD>ʤ<EFBFBD><CAA4>
|
|||
|
|
virtual WORD GetUserWinRate()=NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual WORD GetUserLostRate()=NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual WORD GetUserDrawRate()=NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual WORD GetUserFleeRate()=NULL;
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
virtual DWORD GetUserPlayCount()=NULL;
|
|||
|
|
|
|||
|
|
//Ч<><D0A7><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F>Ա<EFBFBD><D4B1>ʺ<EFBFBD>
|
|||
|
|
virtual bool ContrastNickName(LPCTSTR pszNickName)=NULL;
|
|||
|
|
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool ContrastLogonPass(LPCTSTR pszPassword)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ״̬
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
virtual bool IsClientReady()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID SetClientReady(bool bClientReady)=NULL;
|
|||
|
|
//<2F><>ԭ״̬
|
|||
|
|
virtual BYTE GetReUserStatus() = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
virtual void SetReUserStatus(BYTE cbReUserStatus) = NULL;
|
|||
|
|
|
|||
|
|
//<2F>ֻ<EFBFBD><D6BB>û<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
virtual bool IsMobileUser()=NULL;
|
|||
|
|
//<2F><><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>
|
|||
|
|
virtual VOID SetMobileUser(bool bMobileUser)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
virtual bool IsAndroidUser()=NULL;
|
|||
|
|
//<2F><><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>
|
|||
|
|
virtual VOID SetAndroidUser(bool bbMachineUser)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
virtual bool IsCheatUser() = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
virtual void SetCheatUser(bool bFlag) = NULL;
|
|||
|
|
|
|||
|
|
//<2F><>¼<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
|
virtual bool IsVariation()=NULL;
|
|||
|
|
//<2F><>ѯ<EFBFBD><D1AF>¼
|
|||
|
|
virtual bool QueryRecordInfo(tagVariationInfo & UserRecordInfo)=NULL;
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool DistillVariation(tagVariationInfo & UserVariationInfo)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
virtual bool SetUserStatus(BYTE cbUserStatus, WORD wTableID, WORD wChairID)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
virtual bool SetUserStatus(BYTE cbUserStatus) = NULL;
|
|||
|
|
//д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool WriteUserScore(SCORE lScore, SCORE lGrade, SCORE lRevenue, DWORD dwUserMedal, BYTE cbScoreType, BYTE cbLastScoreMultiple, DWORD dwPlayTimeCount)=NULL;
|
|||
|
|
//<2F><EFBFBD>Ȩ<EFBFBD><C8A8>
|
|||
|
|
virtual VOID ModifyUserRight( DWORD dwAddRight, DWORD dwRemoveRight, bool bGameRight=true)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool FrozenedUserScore(SCORE lScore)=NULL;
|
|||
|
|
//<2F>ⶳ<EFBFBD><E2B6B3><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool UnFrozenedUserScore(SCORE lScore)=NULL;
|
|||
|
|
|
|||
|
|
//<2F>Ľӿ<C4BD>
|
|||
|
|
public:
|
|||
|
|
//<2F><EFBFBD><DEB8><EFBFBD>Ϣ
|
|||
|
|
virtual bool ModifyUserProperty(SCORE lScore, LONG lLoveLiness)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><EFBFBD><DFBC>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool DetachBindStatus()=NULL;
|
|||
|
|
//<2F><><EFBFBD>в<EFBFBD><D0B2><EFBFBD>
|
|||
|
|
virtual bool ModifyUserInsure(SCORE lScore, SCORE lInsure, SCORE lRevenue)=NULL;
|
|||
|
|
//<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
virtual bool SetUserParameter(DWORD dwClientAddr, WORD wBindIndex, TCHAR szMachineID[LEN_MACHINE_ID], bool bAndroidUser, bool bClientReady)=NULL;
|
|||
|
|
|
|||
|
|
//<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual WORD GetMobileUserRule()=NULL;
|
|||
|
|
//<2F><><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
|
|||
|
|
virtual VOID SetMobileUserRule(WORD wMobileUserRule)=NULL;
|
|||
|
|
//<2F><>ǰ<EFBFBD><C7B0>ҳ
|
|||
|
|
virtual WORD GetMobileUserDeskPos()=NULL;
|
|||
|
|
//<2F><>ǰ<EFBFBD><C7B0>ҳ
|
|||
|
|
virtual VOID SetMobileUserDeskPos(WORD wMobileUserDeskPos)=NULL;
|
|||
|
|
//<2F><>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD>
|
|||
|
|
virtual WORD GetMobileUserDeskCount()=NULL;
|
|||
|
|
//<2F><>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID SetMobileUserDeskCount(WORD wMobileUserDeskCount)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID * GetMatchData()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID SetMatchData(VOID * pMatchData)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
virtual DWORD GetSignUpTime()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
virtual VOID SetSignUpTime(DWORD dwSignUpTime)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
virtual BYTE GetUserMatchStatus()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
virtual VOID SetUserMatchStatus(BYTE cbMatchStatus) = NULL;
|
|||
|
|
|
|||
|
|
//<2F>ƿ<EFBFBD><C6BF>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>ƿ<EFBFBD>
|
|||
|
|
virtual bool canUseCardLib() = NULL;
|
|||
|
|
//<2F><>ȡ<EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual DWORD getCardLibIndex() = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual void setCardLibIndex(DWORD dwCardLibIndex) = NULL;
|
|||
|
|
//<2F>ۼ<EFBFBD><DBBC>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual void addCardLibIndex() = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual void setCardLibEnabled(bool bEnabled) = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD>ʹ<EFBFBD><CAB9>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|||
|
|
virtual void setUseCardLibTime(DWORD dwStartTime, DWORD dwEndTime) = NULL;
|
|||
|
|
|
|||
|
|
//˽<>˷<EFBFBD><CBB7>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual VOID addPrivateAction(DWORD dwAction)=NULL;
|
|||
|
|
//ͳ<><CDB3>˽<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD>Ҿ<EFBFBD><D2BE><EFBFBD>
|
|||
|
|
virtual VOID addPrivatePlayCout(WORD wCout) = NULL;
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IServerUserService INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IServerUserService={0x2f4e25a9,0xad87,0x4a37,0x98,0x96,0x5c,0x50,0xf9,0x91,0x05,0x31};
|
|||
|
|
#else
|
|||
|
|
#define VER_IServerUserService INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IServerUserService={0xcc4e885f,0x3357,0x4d68,0xb2,0x6b,0x78,0x8f,0x4b,0x3e,0x64,0xc3};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
interface IServerUserService : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IServerUserItemSink INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IServerUserItemSink={0x415be3e4,0xd48d,0x4a77,0x94,0xb7,0xd1,0x05,0xcd,0xa3,0x82,0x81};
|
|||
|
|
#else
|
|||
|
|
#define VER_IServerUserItemSink INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IServerUserItemSink={0x9d0cfe02,0x0fe9,0x4a8b,0x97,0x95,0xac,0x32,0x67,0x5a,0xf8,0xb1};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//״̬<D7B4>ӿ<EFBFBD>
|
|||
|
|
interface IServerUserItemSink : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool OnEventUserItemScore(IServerUserItem * pIServerUserItem, BYTE cbReason)=NULL;
|
|||
|
|
//<2F>û<EFBFBD>״̬
|
|||
|
|
virtual bool OnEventUserItemStatus(IServerUserItem * pIServerUserItem, WORD wOldTableID=INVALID_TABLE, WORD wOldChairID=INVALID_CHAIR)=NULL;
|
|||
|
|
//<2F>û<EFBFBD>Ȩ<EFBFBD><C8A8>
|
|||
|
|
virtual bool OnEventUserItemRight(IServerUserItem *pIServerUserItem, DWORD dwAddRight, DWORD dwRemoveRight,bool bGameRight=true)=NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IServerUserManager INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IServerUserManager={0xeb413ed6,0x185b,0x4ceb,0xa8,0xbd,0x54,0x74,0x19,0x89,0x6a,0x53};
|
|||
|
|
#else
|
|||
|
|
#define VER_IServerUserManager INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IServerUserManager={0x77a3c4df,0x1d95,0x48c6,0xac,0x9d,0x75,0xd7,0x6c,0x2a,0x3c,0x0e};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
interface IServerUserManager : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD>ýӿ<C3BD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>ýӿ<C3BD>
|
|||
|
|
virtual bool SetServerUserItemSink(IUnknownEx * pIUnknownEx)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ҽӿ<D2BD>
|
|||
|
|
public:
|
|||
|
|
//ö<><C3B6><EFBFBD>û<EFBFBD>
|
|||
|
|
virtual IServerUserItem * EnumUserItem(WORD wEnumIndex)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
virtual IServerUserItem * SearchUserItem(DWORD dwUserID)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
virtual IServerUserItem * SearchUserItem(LPCTSTR pszNickName)=NULL;
|
|||
|
|
|
|||
|
|
//ͳ<>ƽӿ<C6BD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual DWORD GetUserItemCount()=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//ɾ<><C9BE><EFBFBD>û<EFBFBD>
|
|||
|
|
virtual bool DeleteUserItem()=NULL;
|
|||
|
|
//ɾ<><C9BE><EFBFBD>û<EFBFBD>
|
|||
|
|
virtual bool DeleteUserItem(IServerUserItem * pIServerUserItem)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
|
virtual bool InsertUserItem(IServerUserItem * * pIServerUserResult, tagUserInfo & UserInfo, tagUserInfoPlus & UserInfoPlus)=NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_ITableFrame INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_ITableFrame={0x2e577d5f,0x1e01,0x44ff,0x9f,0xf4,0x01,0x16,0x23,0x1b,0x76,0x15};
|
|||
|
|
#else
|
|||
|
|
#define VER_ITableFrame INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_ITableFrame={0x860cd1cf,0x1a4f,0x4e35,0xb8,0x0c,0xd2,0x46,0xa4,0xef,0xfd,0xfb};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
interface IGameMatchSink;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ӽӿ<D3BD>
|
|||
|
|
interface ITableFrame : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD>Խӿ<D4BD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>
|
|||
|
|
virtual WORD GetTableID()=NULL;
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
virtual WORD GetChairCount()=NULL;
|
|||
|
|
//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
virtual WORD GetNullChairCount()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
virtual WORD GetOffLineUserCount()=NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ŀ
|
|||
|
|
virtual WORD GetSitUserCount() = NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID * GetCustomRule()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual tagGameServiceAttrib * GetGameServiceAttrib()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual tagGameServiceOption * GetGameServiceOption()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
virtual tagGameMatchOption * GetGameMatchOption() = NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ýӿ<C3BD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ʼģʽ
|
|||
|
|
virtual BYTE GetStartMode()=NULL;
|
|||
|
|
//<2F><>ʼģʽ
|
|||
|
|
virtual VOID SetStartMode(BYTE cbStartMode)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
|
|||
|
|
virtual LONG GetCellScore()=NULL;
|
|||
|
|
//<2F><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID SetCellScore(LONG lCellScore)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><>Ϣ<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
virtual bool IsTableLocked()=NULL;
|
|||
|
|
//<2F><>Ϸ״̬
|
|||
|
|
virtual bool IsGameStarted()=NULL;
|
|||
|
|
//<2F><>Ϸ״̬
|
|||
|
|
virtual bool IsDrawStarted()=NULL;
|
|||
|
|
//<2F><>Ϸ״̬
|
|||
|
|
virtual bool IsTableStarted()=NULL;
|
|||
|
|
|
|||
|
|
//״̬<D7B4>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ȡ״̬
|
|||
|
|
virtual BYTE GetGameStatus()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
virtual VOID SetGameStatus(BYTE bGameStatus)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ƽӿ<C6BD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ʼ<EFBFBD><CABC>Ϸ
|
|||
|
|
virtual bool StartGame()=NULL;
|
|||
|
|
//<2F><>ɢ<EFBFBD><C9A2>Ϸ
|
|||
|
|
virtual bool DismissGame()=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ
|
|||
|
|
virtual bool ConcludeGame(BYTE cbGameStatus, BYTE cbReason = GER_NORMAL) = NULL;
|
|||
|
|
|
|||
|
|
//д<>ֽӿ<D6BD>
|
|||
|
|
public:
|
|||
|
|
//д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool WriteUserScore(WORD wChairID, tagScoreInfo & ScoreInfo)=NULL;
|
|||
|
|
//д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool WriteTableScore(tagScoreInfo ScoreInfoArray[], WORD wScoreCount,DataStream kDataStream = DataStream())=NULL;
|
|||
|
|
//<2F><><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>
|
|||
|
|
//virtual bool WriteScoreMultiple(WORD wChairID, BYTE cbScoreMultiple) = NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>˰<EFBFBD><CBB0>
|
|||
|
|
virtual SCORE CalculateRevenue(WORD wChairID, SCORE lScore)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual SCORE QueryConsumeQuota(IServerUserItem * pIServerUserItem)=NULL;
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//Ѱ<><D1B0><EFBFBD>û<EFBFBD>
|
|||
|
|
virtual IServerUserItem * SearchUserItem(DWORD dwUserID)=NULL;
|
|||
|
|
//<2F><>Ϸ<EFBFBD>û<EFBFBD>
|
|||
|
|
virtual IServerUserItem * GetTableUserItem(WORD wChairID)=NULL;
|
|||
|
|
//<2F>Թ<EFBFBD><D4B9>û<EFBFBD>
|
|||
|
|
virtual IServerUserItem * EnumLookonUserItem(WORD wEnumIndex)=NULL;
|
|||
|
|
|
|||
|
|
//ʱ<><CAB1><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
virtual bool SetGameTimer(DWORD dwTimerID, DWORD dwElapse, DWORD dwRepeat, WPARAM dwBindParameter)=NULL;
|
|||
|
|
//ɾ<><C9BE>ʱ<EFBFBD><CAB1>
|
|||
|
|
virtual bool KillGameTimer(DWORD dwTimerID)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendTableData(WORD wChairID, WORD wSubCmdID)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendTableData(WORD wChairID, WORD wSubCmdID, VOID * pData, WORD wDataSize,WORD wMainCmdID=MDM_GF_GAME)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendLookonData(WORD wChairID, WORD wSubCmdID)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendLookonData(WORD wChairID, WORD wSubCmdID, VOID * pData, WORD wDataSize)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendUserItemData(IServerUserItem * pIServerUserItem, WORD wSubCmdID)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendUserItemData(IServerUserItem * pIServerUserItem, WORD wSubCmdID, VOID * pData, WORD wDataSize)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ܽӿ<DCBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool SendGameMessage(LPCTSTR lpszMessage, WORD wType)=NULL;
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
virtual bool SendGameMessage(IServerUserItem * pIServerUserItem, LPCTSTR lpszMessage, WORD wType)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool SendRoomMessage(IServerUserItem * pIServerUserItem, LPCTSTR lpszMessage, WORD wType)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool PerformStandUpAction(IServerUserItem * pIServerUserItem)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool PerformStandUpActionEx(IServerUserItem * pIServerUserItem)=NULL;
|
|||
|
|
//<2F>Թ۶<D4B9><DBB6><EFBFBD>
|
|||
|
|
virtual bool PerformLookonAction(WORD wChairID, IServerUserItem * pIServerUserItem)=NULL;
|
|||
|
|
//<2F><><EFBFBD>¶<EFBFBD><C2B6><EFBFBD>
|
|||
|
|
virtual bool PerformSitDownAction(WORD wChairID, IServerUserItem * pIServerUserItem, LPCTSTR lpszPassword=NULL)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ܽӿ<DCBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>
|
|||
|
|
virtual bool SendGameScene(IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize)=NULL;
|
|||
|
|
|
|||
|
|
//˽<>˷<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>ýӿ<C3BD>
|
|||
|
|
virtual bool SetTableFramePrivate(IUnknownEx * pIUnknownEx)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual void AddPrivateAction(DWORD dwChairID,BYTE bActionIdex) = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>˽<EFBFBD>˳<EFBFBD><CBB3><EFBFBD>Ϣ
|
|||
|
|
virtual void SetPrivateInfo(tagPrivateFrameParameter &PriavateFrame) = NULL;
|
|||
|
|
//<2F><>ȡ˽<C8A1>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual tagPrivateFrameParameter* GetPrivateFrameInfo() = NULL;
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual tagPrivateFrameRecordInfo* GetPrivateFrameRecord()=NULL;
|
|||
|
|
//ͳ<><CDB3>˽<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD>Ҿ<EFBFBD><D2BE><EFBFBD>
|
|||
|
|
virtual VOID addPrivatePlayCout(WORD wCout) = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>˽<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual void ResetPrivateEndInfo() = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>˽<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
|
|||
|
|
virtual void GetPrivateEndInfo(DataStream &kDataStream, bool bSend) = NULL;
|
|||
|
|
//<2F>ж<EFBFBD>˽<EFBFBD>˳<EFBFBD><CBB3>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool IsPrivateEnd() = NULL;
|
|||
|
|
//<2F><>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual WORD GetRealChairCount() = NULL;
|
|||
|
|
|
|||
|
|
//<2F>ƿ<EFBFBD><C6BF>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ȡ<EFBFBD>ƿ<EFBFBD>
|
|||
|
|
virtual tagGameCardLibrary* GetGameCardLibrary(DWORD dwIndex=0xFFFFFFFF) = NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>ýӿ<C3BD>
|
|||
|
|
virtual bool SetTableFrameHook(IUnknownEx * pIUnknownEx)=NULL;
|
|||
|
|
//<2F><>ȡ<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
virtual IUnknownEx * GetTableFrameHook()=NULL;
|
|||
|
|
//α<><CEB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
virtual bool ImitateGameOption(IServerUserItem * pIServerUserItem) = NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_ITableFrameSink INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_ITableFrameSink={0x9476b154,0x8beb,0x4f7e,0xaf,0x64,0xd2,0xb1,0x1a,0xda,0x5e,0xc4};
|
|||
|
|
#else
|
|||
|
|
#define VER_ITableFrameSink INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_ITableFrameSink={0x38a74df5,0x6245,0x46c7,0xb6,0xce,0x53,0xf9,0xd5,0xbf,0x6d,0xe6};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F>ص<EFBFBD><D8B5>ӿ<EFBFBD>
|
|||
|
|
interface ITableFrameSink : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>λ<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
virtual VOID RepositionSink()=NULL;
|
|||
|
|
//<2F><><EFBFBD>ýӿ<C3BD>
|
|||
|
|
virtual bool Initialization(IUnknownEx * pIUnknownEx)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><>ѯ<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ѯ<EFBFBD><EFBFBD>
|
|||
|
|
virtual SCORE QueryConsumeQuota(IServerUserItem * pIServerUserItem)=NULL;
|
|||
|
|
//<2F><><EFBFBD>ٻ<EFBFBD><D9BB><EFBFBD>
|
|||
|
|
virtual SCORE QueryLessEnterScore(WORD wChairID, IServerUserItem * pIServerUserItem)=NULL;
|
|||
|
|
//<2F><>ѯ<EFBFBD>Ƿ<EFBFBD><C7B7>۷<EFBFBD><DBB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool QueryBuckleServiceCharge(WORD wChairID)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD>¼<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>ʼ
|
|||
|
|
virtual bool OnEventGameStart()=NULL;
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool OnEventGameConclude(WORD wChairID, IServerUserItem * pIServerUserItem, BYTE cbReason)=NULL;
|
|||
|
|
//<2F><><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD>
|
|||
|
|
virtual bool OnEventSendGameScene(WORD wChairID, IServerUserItem * pIServerUserItem, BYTE cbGameStatus, bool bSendSecret)=NULL;
|
|||
|
|
|
|||
|
|
//<2F>¼<EFBFBD><C2BC>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//ʱ<><CAB1><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnTimerMessage(DWORD dwTimerID, WPARAM dwBindParameter)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnDataBaseMessage(WORD wRequestID, VOID * pData, WORD wDataSize)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnUserScroeNotify(WORD wChairID, IServerUserItem * pIServerUserItem, BYTE cbReason)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
virtual bool OnGameMessage(WORD wSubCmdID, VOID * pData, WORD wDataSize, IServerUserItem * pIServerUserItem)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool OnFrameMessage(WORD wSubCmdID, VOID * pData, WORD wDataSize, IServerUserItem * pIServerUserItem)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>û<EFBFBD><C3BB><EFBFBD>
|
|||
|
|
virtual void SetGameBaseScore(LONG lBaseScore)=NULL;
|
|||
|
|
|
|||
|
|
//˽<>˳<EFBFBD><CBB3>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>˽<EFBFBD>˳<EFBFBD><CBB3><EFBFBD>Ϣ
|
|||
|
|
virtual void SetPrivateInfo(BYTE bGameTypeIdex,DWORD bGameRuleIdex)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>˽<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual void ResetPrivateEndInfo() = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>˽<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
|
|||
|
|
virtual void GetPrivateEndInfo(DataStream &kDataStream, bool bSend) = NULL;
|
|||
|
|
//<2F>ж<EFBFBD>˽<EFBFBD>˳<EFBFBD><CBB3>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool IsPrivateEnd() = NULL;
|
|||
|
|
//<2F><>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual WORD GetRealChairCount() = NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_ITableUserAction INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_ITableUserAction={0x0f9aa3f9,0xdba4,0x49cb,0x88,0x4f,0xd9,0x11,0xaf,0x24,0xfb,0x8d};
|
|||
|
|
#else
|
|||
|
|
#define VER_ITableUserAction INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_ITableUserAction={0xc97c060b,0xcf0e,0x40b7,0x93,0x30,0x97,0xa4,0xf6,0x8c,0xca,0x84};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
interface ITableUserAction : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool OnActionUserOffLine(WORD wChairID, IServerUserItem * pIServerUserItem) = NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool OnActionUserSitDown(WORD wChairID, IServerUserItem * pIServerUserItem, bool bLookonUser)=NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool OnActionUserStandUp(WORD wChairID, IServerUserItem * pIServerUserItem, bool bLookonUser)=NULL;
|
|||
|
|
//<2F>û<EFBFBD>ͬ<EFBFBD><CDAC>
|
|||
|
|
virtual bool OnActionUserOnReady(WORD wChairID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
|
virtual bool OnActionUserFangKaCheck(WORD wChairID, IServerUserItem * pIServerUserItem, SCORE lUserInsure) = NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>ʼ<EFBFBD><CABC>Ϸ
|
|||
|
|
virtual bool OnActionUserOnStart(WORD wChairID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize) = NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>ʼ<EFBFBD><CABC>Ϸ
|
|||
|
|
virtual bool OnActionUserStartGame(WORD wChairID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize) = NULL;
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_ITableUserRequest INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_ITableUserRequest={0x7a810ebe,0x3835,0x41b5,0xba,0x7e,0x02,0x97,0x8c,0x13,0x73,0x50};
|
|||
|
|
#else
|
|||
|
|
#define VER_ITableUserRequest INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_ITableUserRequest={0x7ad17e89,0xcb5b,0x472a,0xac,0xeb,0x84,0x4d,0x4f,0xa1,0x4c,0x38};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
interface ITableUserRequest : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F>Թ<EFBFBD><D4B9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool OnUserRequestLookon(WORD wChairID, IServerUserItem * pIServerUserItem, tagRequestResult & RequestResult)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool OnUserRequestSitDown(WORD wChairID, IServerUserItem * pIServerUserItem, tagRequestResult & RequestResult)=NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IMainServiceFrame INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IMainServiceFrame={0xef3efa64,0x788b,0x4299,0x80,0x99,0xdd,0xed,0x08,0xde,0x57,0xc1};
|
|||
|
|
#else
|
|||
|
|
#define VER_IMainServiceFrame INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IMainServiceFrame={0xbaaf5584,0xf9b4,0x41b6,0xae,0x6b,0xef,0x4d,0x54,0x41,0xf8,0x32};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
interface IMainServiceFrame : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F><>Ϣ<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool SendRoomMessage(LPCTSTR lpszMessage, WORD wType)=NULL;
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
virtual bool SendGameMessage(LPCTSTR lpszMessage, WORD wType)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool SendRoomMessage(IServerUserItem * pIServerUserItem, LPCTSTR lpszMessage, WORD wType)=NULL;
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
virtual bool SendGameMessage(IServerUserItem * pIServerUserItem, LPCTSTR lpszMessage, WORD wType)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool SendRoomMessage(DWORD dwSocketID, LPCTSTR lpszMessage, WORD wType, bool bAndroid)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool SendUserInfoPacket(IServerUserItem * pIServerUserItem, IServerUserItem * pISendToUserItem) = NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendData(BYTE cbSendMask, WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendData(DWORD dwContextID, WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendData(IServerUserItem * pIServerUserItem, WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize)=NULL;
|
|||
|
|
//Ⱥ<><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendDataBatchToMobileUser(WORD wCmdTable, WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ܽӿ<DCBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool InsertDistribute(IServerUserItem * pIServerUserItem)=NULL;
|
|||
|
|
//ɾ<><C9BE><EFBFBD>û<EFBFBD>
|
|||
|
|
virtual bool DeleteDistribute(IServerUserItem * pIServerUserItem) = NULL;
|
|||
|
|
//<2F><><EFBFBD>дʹ<D0B4><CAB9><EFBFBD>
|
|||
|
|
virtual void SensitiveWordFilter(LPCTSTR pMsg, LPTSTR pszFiltered, int nMaxLen)=NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID UnLockAndroidUser(WORD wServerID, WORD wBatchID) = NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IAndroidUserItem INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IAndroidUserItem={0xf6856fe1,0xc93e,0x4166,0xbc,0x92,0xf7,0x43,0xad,0x97,0x1c,0xa8};
|
|||
|
|
#else
|
|||
|
|
#define VER_IAndroidUserItem INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IAndroidUserItem={0xb1faa2f4,0x9804,0x4c6f,0x9d,0xfc,0xb1,0x0a,0x08,0x8a,0x22,0x69};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>˽ӿ<CBBD>
|
|||
|
|
interface IAndroidUserItem : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F><>Ϣ<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ȡ I D
|
|||
|
|
virtual DWORD GetUserID() = NULL;
|
|||
|
|
//<2F><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>
|
|||
|
|
virtual WORD GetTableID() = NULL;
|
|||
|
|
//<2F><><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>
|
|||
|
|
virtual WORD GetChairID() = NULL;
|
|||
|
|
|
|||
|
|
//״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ȡ״̬
|
|||
|
|
virtual BYTE GetGameStatus() = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
virtual VOID SetGameStatus(BYTE cbGameStatus) = NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
public:
|
|||
|
|
//<2F><>ȡ״̬
|
|||
|
|
virtual tagAndroidService * GetAndroidService() = NULL;
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
virtual tagAndroidParameter * GetAndroidParameter() = NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ܽӿ<DCBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ȡ<EFBFBD>Լ<EFBFBD>
|
|||
|
|
virtual IServerUserItem * GetMeUserItem() = NULL;
|
|||
|
|
//<2F><>Ϸ<EFBFBD>û<EFBFBD>
|
|||
|
|
virtual IServerUserItem * GetTableUserItem(WORD wChariID) = NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>нӿ<D0BD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7>
|
|||
|
|
virtual bool PerformSaveScore(SCORE lScore) = NULL;
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>Ϸ<EFBFBD><CFB7>
|
|||
|
|
virtual bool PerformTakeScore(SCORE lScore) = NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>
|
|||
|
|
virtual bool SendSocketData(WORD wSubCmdID) = NULL;
|
|||
|
|
//<2F><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>
|
|||
|
|
virtual bool SendSocketData(WORD wSubCmdID, VOID * pData, WORD wDataSize) = NULL;
|
|||
|
|
//<2F><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>
|
|||
|
|
virtual bool SendSocketData(WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize) = NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool JudgeAndroidActionAndRemove(WORD wAction) = NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ܽӿ<DCBD>
|
|||
|
|
public:
|
|||
|
|
//ɾ<><C9BE>ʱ<EFBFBD><CAB1>
|
|||
|
|
virtual bool KillGameTimer(UINT nTimerID) = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
virtual bool SetGameTimer(UINT nTimerID, UINT nElapse) = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><D7BC>
|
|||
|
|
virtual bool SendUserReady(VOID * pData, WORD wDataSize) = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendChatMessage(DWORD dwTargetUserID, LPCTSTR pszChatString, COLORREF crFontColor)=NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IAndroidUserItemSink INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IAndroidUserItemSink={0x0967632c,0x93da,0x4f7f,0x98,0xe4,0x6f,0x9f,0xf2,0xca,0x7b,0xc4};
|
|||
|
|
#else
|
|||
|
|
#define VER_IAndroidUserItemSink INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IAndroidUserItemSink={0x1e8a1918,0x572b,0x453b,0xbc,0x0b,0x6b,0x61,0x70,0xa3,0x3c,0xca};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>˽ӿ<CBBD>
|
|||
|
|
interface IAndroidUserItemSink : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD>ƽӿ<C6BD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>ýӿ<C3BD>
|
|||
|
|
virtual bool RepositionSink() = NULL;
|
|||
|
|
//<2F><>ʼ<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
virtual bool Initialization(IUnknownEx * pIUnknownEx) = NULL;
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD>¼<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//ʱ<><CAB1><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool OnEventTimer(UINT nTimerID) = NULL;
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
virtual bool OnEventGameMessage(WORD wSubCmdID, VOID * pData, WORD wDataSize) = NULL;
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
virtual bool OnEventFrameMessage(WORD wSubCmdID, VOID * pData, WORD wDataSize) = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
virtual bool OnEventSceneMessage(BYTE cbGameStatus, bool bLookonOther, VOID * pData, WORD wDataSize) = NULL;
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB>¼<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID OnEventUserEnter(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser) = NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB>뿪
|
|||
|
|
virtual VOID OnEventUserLeave(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser) = NULL;
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual VOID OnEventUserScore(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser) = NULL;
|
|||
|
|
//<2F>û<EFBFBD>״̬
|
|||
|
|
virtual VOID OnEventUserStatus(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser) = NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IAndroidUserManager INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IAndroidUserManager={0x0c963240,0xa798,0x4e33,0x81,0x28,0x97,0x3d,0x05,0xe7,0x7f,0x89};
|
|||
|
|
#else
|
|||
|
|
#define VER_IAndroidUserManager INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IAndroidUserManager={0xba43054d,0x924b,0x4013,0xb2,0x6d,0xa6,0x91,0xb6,0x20,0x23,0xb2};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>˽ӿ<CBBD>
|
|||
|
|
interface IAndroidUserManager : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD>ƽӿ<C6BD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool StartService() = NULL;
|
|||
|
|
//ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool ConcludeService() = NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ýӿ<C3BD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool InitAndroidUser(tagAndroidUserParameter & AndroidUserParameter) = NULL;
|
|||
|
|
//<2F>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool RemoveAndroidParameter(DWORD dwBatchID) = NULL;
|
|||
|
|
//<2F><><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>
|
|||
|
|
virtual bool AddAndroidParameter(tagAndroidParameter AndroidParameter[], WORD wParemeterCount) = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool InsertAndroidInfo(tagAndroidAccountsInfo AndroidAccountsInfo[], WORD wAndroidCount, DWORD dwBatchID) = NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool DeleteAndroidUserItem(DWORD dwAndroidID, bool bStockRetrieve) = NULL;
|
|||
|
|
//<2F><><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>
|
|||
|
|
virtual IAndroidUserItem * SearchAndroidUserItem(DWORD dwUserID, DWORD dwContextID) = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual IAndroidUserItem * CreateAndroidUserItem(tagAndroidItemConfig & AndroidItemConfig) = NULL;
|
|||
|
|
|
|||
|
|
//<2F>¼<EFBFBD><C2BC>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTimerPulse(DWORD dwTimerID, WPARAM dwBindParameter) = NULL;
|
|||
|
|
|
|||
|
|
//״̬<D7B4>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
virtual WORD GetAndroidCount() = NULL;
|
|||
|
|
//<2F><><EFBFBD>ػ<EFBFBD><D8BB><EFBFBD>
|
|||
|
|
virtual bool GetAndroidLoadInfo(DWORD & dwBatchID, DWORD & dwLoadCount) = NULL;
|
|||
|
|
//<2F>û<EFBFBD>״<EFBFBD><D7B4>
|
|||
|
|
virtual WORD GetAndroidUserInfo(tagAndroidUserInfo & AndroidUserInfo, DWORD dwServiceMode) = NULL;
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual tagGameServiceOption* GetGameServiceOption() = NULL;
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
virtual tagGameServiceAttrib* GetGameServiceAttrib() = NULL;
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual tagGameMatchOption* GetGameMatchOption() = NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendDataToClient(WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize) = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendDataToClient(DWORD dwAndroidID, WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize) = NULL;
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SendDataToServer(DWORD dwAndroidID, WORD wMainCmdID, WORD wSubCmdID, VOID * pData, WORD wDataSize) = NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IQueryServiceSink INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IQueryServiceSink={0x0c963248,0xa798,0x4e33,0x88,0x28,0x98,0x3d,0x05,0xe7,0x7f,0x89};
|
|||
|
|
#else
|
|||
|
|
#define VER_IQueryServiceSink INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IQueryServiceSink={0xba43054d,0x924b,0x4013,0xb2,0x6d,0xa6,0x96,0xb6,0x26,0x26,0xb2};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F><>ѯ<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
interface IQueryServiceSink : public IUnknownEx
|
|||
|
|
{
|
|||
|
|
//<2F><>ѯ<EFBFBD>Ƿ<EFBFBD><C7B7>۷<EFBFBD><DBB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool QueryBuckleServiceCharge(WORD wChairID)=NULL;
|
|||
|
|
};
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#ifdef _UNICODE
|
|||
|
|
#define VER_IDBCorrespondManager INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IDBCorrespondManager={0x0c963248,0xa796,0x4e33,0x86,0x28,0x98,0x3d,0x05,0xe7,0x7f,0x89};
|
|||
|
|
#else
|
|||
|
|
#define VER_IDBCorrespondManager INTERFACE_VERSION(1,1)
|
|||
|
|
static const GUID IID_IDBCorrespondManager={0xba43154d,0x924b,0x4018,0xb2,0x6d,0xa6,0x96,0xb6,0x28,0x26,0xb2};
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F><>ѯ<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
interface IDBCorrespondManager : public IServiceModule
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD>ýӿ<C3BD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
|
|||
|
|
virtual bool __cdecl InitDBCorrespondManager(IDataBaseEngine * pIDataBaseEngine)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool __cdecl PostDataBaseRequest(DWORD dwUserID, WORD wRequestID, DWORD dwContextID, VOID * pData, WORD wDataSize, BYTE cbCache = FALSE)=NULL;
|
|||
|
|
|
|||
|
|
//ͬ<><CDAC><EFBFBD>¼<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool __cdecl OnPostRequestComplete(DWORD dwUserID, bool bSucceed)=NULL;
|
|||
|
|
|
|||
|
|
//<2F><>ʱ<EFBFBD>¼<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ʱ<EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool __cdecl OnTimerNotify()=NULL;
|
|||
|
|
};
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
|
#ifndef GAME_SERVICE_DLL
|
|||
|
|
#include "AndroidUserItem.h"
|
|||
|
|
#include "ServerUserManager.h"
|
|||
|
|
#include "AndroidUserManager.h"
|
|||
|
|
#include "GamePropertyManager.h"
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
DECLARE_MODULE_DYNAMIC(GameServiceManager)
|
|||
|
|
DECLARE_MODULE_DYNAMIC(AndroidUserItemSink)
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#endif
|