S3PAccount.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:3k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //-----------------------------------------//
  2. //                                         //
  3. //  File : S3PAccount.h    //
  4. // Author : Yang Xiaodong            //
  5. // Modified : 8/29/2002                //
  6. //                                         //
  7. //-----------------------------------------//
  8. #if !defined(AFX_S3PACCOUNT_H__7222E304_3E04_44D2_A3D1_E277BEF07235__INCLUDED_)
  9. #define AFX_S3PACCOUNT_H__7222E304_3E04_44D2_A3D1_E277BEF07235__INCLUDED_
  10. #include "KStdAfx.h"
  11. #include "S3PDBConnection.h"
  12. #include "S3PDBConnector.h"
  13. #include "S3PAccountInfoDAO.h"
  14. #include "S3PAccountHabitusDAO.h"
  15. #include "S3PAccCardHistoryDAO.h"
  16. #include "S3PServerListDAO.h"
  17. #include "S3PAccountUser.h"
  18. #include <string>
  19. class S3PAccount  
  20. {
  21. public:
  22. typedef struct tag_USERINFO
  23. {
  24. char szHostAddr[16];
  25. char szUserName[def_DBUSERNAME_MAX_LEN+1];
  26. char szPassword[def_DBPASSWORD_MAX_LEN+1];
  27. short siPriority;
  28. BOOL bLoggedin;
  29. char szLastLoginTime[20];
  30. char szLastLogoutTime[20];
  31. }_USERINFO, *_PUSERINFO;
  32. S3PAccount();
  33. virtual ~S3PAccount();
  34. static BOOL ActivateAccount( const std::string strAccName,
  35. const std::string strPassword,
  36. const DWORD dwGameID );
  37. static int AddAccount( const std::string strAccName,
  38. const std::string strPassword,
  39. const std::string strRealName,
  40. const std::string strIDNum = "",
  41. const std::string strBirthDay = "",
  42. const std::string strArea = "",
  43. const std::string strPhone = "" );
  44. static int Login( const std::string strAccName/* Input */,
  45. const std::string strPassword/* Input */,
  46. int iGameId = 0 );
  47. static int Logout( const std::string strAccName, const std::string strPassword, int iGameId );
  48. static int Report( const std::string strAccName, const std::string strPassword, int iGameId );
  49. static int QueryGameserverList( const std::string strAccName/* Input */,
  50. const std::string strPassword/* Input */,
  51. IBYTE* pServers/* Output */,
  52. DWORD& dwSize/* Input/Output */ );
  53. static int DBLogin( const std::string strUserName,
  54. const std::string strPassword,
  55. const std::string strHostAddr );
  56. static int DBLogout( const std::string strUserName,
  57. const std::string strPassword );
  58. static int DBQueryUserList( const std::string strUserName,
  59. const std::string strPassword,
  60. IBYTE* pUsers/* Input/Output */,
  61. DWORD& dwSize/* Input/Output */ );
  62. static int DBLock( const std::string strUserName,
  63. const std::string strPassword );
  64. static int DBActivate( const std::string strUserName,
  65. const std::string strPassword );
  66. static int DBAddUser( const std::string strUserName,
  67. const std::string strPassword,
  68. const std::string strNewUserName,
  69. const std::string strNewUserPassword,
  70. short int siNewUserPriority );
  71. static int DBDeleteUser( const std::string strUserName,
  72. const std::string strPassword,
  73. const std::string strSelUserName );
  74. static int DBCreateAccount( const std::string strUserName,
  75. const std::string strPassword,
  76. const std::string strAccRealName,
  77. const std::string strAccPassword,
  78. const std::string strAccName );
  79. protected:
  80. BOOL m_bLocked; // 用于标识数据库是否被管理员锁住停止对公共用户的访问请求提供服务
  81. };
  82. #endif // !defined(AFX_S3PACCOUNT_H__7222E304_3E04_44D2_A3D1_E277BEF07235__INCLUDED_)