mirror of
https://bitbucket.org/theswgsource/src-1.2.git
synced 2026-07-15 00:08:07 -04:00
113 lines
5.7 KiB
C++
Executable File
113 lines
5.7 KiB
C++
Executable File
#ifndef CTSERVICEAPI_H
|
|
#define CTSERVICEAPI_H
|
|
|
|
#pragma warning (disable : 4786)
|
|
|
|
#include "CTCommon/CTServiceCharacter.h"
|
|
#include "CTCommon/CTServiceServer.h"
|
|
#include "CTCommon/CTEnum.h"
|
|
|
|
|
|
namespace CTService
|
|
{
|
|
|
|
class CTServiceAPICore;
|
|
|
|
typedef unsigned short CTUnicodeChar;
|
|
|
|
//--------------------------------------
|
|
class CTServiceAPI
|
|
//--------------------------------------
|
|
{
|
|
public:
|
|
CTServiceAPI(const char *hostName, const char *game); // hostName: "addr1:port1 addr2:port2"
|
|
virtual ~CTServiceAPI();
|
|
|
|
virtual void onConnect(const char *host, const short port, const short current, const short max) = 0;
|
|
virtual void onDisconnect(const char *host, const short port, const short current, const short max) = 0;
|
|
void process();
|
|
|
|
// ----- Requests generated by API -----
|
|
|
|
// unsigned requestTest(const char *astring, const unsigned anint, void *user);
|
|
// unsigned replyTest(const unsigned server_track, const unsigned value, void *user);
|
|
unsigned replyMoveStatus(const unsigned server_track, const unsigned status, const unsigned result, const CTUnicodeChar *reason, void *user);
|
|
unsigned replyValidateMove(const unsigned server_track, const unsigned result, const CTUnicodeChar *reason, const CTUnicodeChar *suggestedName, void *user);
|
|
unsigned replyMove(const unsigned server_track, const unsigned result, const CTUnicodeChar *reason, void *user);
|
|
unsigned replyCharacterList(const unsigned server_track, const unsigned result, const unsigned count, const CTServiceCharacter *characters, void *user);
|
|
unsigned replyServerList(const unsigned server_track, const unsigned result, const unsigned count, const CTServiceServer *servers, void *user);
|
|
unsigned replyDestinationServerList(const unsigned server_track, const unsigned result, const unsigned count, const CTServiceServer *servers, void *user);
|
|
unsigned replyDelete(const unsigned server_track, const unsigned result, const CTUnicodeChar *reason, void *user);
|
|
unsigned replyRestore(const unsigned server_track, const unsigned result, const CTUnicodeChar *reason, void *user);
|
|
unsigned replyTransferAccount(const unsigned server_track, const unsigned result, const CTUnicodeChar *reason, void *user);
|
|
|
|
// ----- Normal Callbacks as a response to requests sent -----
|
|
|
|
// virtual void onTest(const unsigned track, const int resultCode, const unsigned value, void *user) = 0;
|
|
// virtual void onReplyTest(const unsigned track, const int resultCode, void *user) = 0;
|
|
virtual void onReplyMoveStatus(const unsigned track, const int resultCode, void *user) = 0;
|
|
virtual void onReplyValidateMove(const unsigned track, const int resultCode, void *user) = 0;
|
|
virtual void onReplyMove(const unsigned track, const int resultCode, void *user) = 0;
|
|
virtual void onReplyDelete(const unsigned track, const int resultCode, void *user) = 0;
|
|
virtual void onReplyRestore(const unsigned track, const int resultCode, void *user) = 0;
|
|
virtual void onReplyTransferAccount(const unsigned track, const int resultCode, void *user) = 0;
|
|
virtual void onReplyCharacterList(const unsigned track, const int resultCode, void *user) = 0;
|
|
virtual void onReplyServerList(const unsigned track, const int resultCode, void *user) = 0;
|
|
virtual void onReplyDestinationServerList(const unsigned track, const int resultCode, void *user) = 0;
|
|
|
|
// ----- Callbacks generated by the server directly -----
|
|
|
|
virtual void onServerTest(const unsigned server_track, const char *game, const char *param) = 0;
|
|
virtual void onRequestMoveStatus(const unsigned server_track, const char *language,
|
|
const unsigned transactionID) = 0;
|
|
virtual void onRequestValidateMove(const unsigned server_track, const char *language,
|
|
const CTUnicodeChar *sourceServer,
|
|
const CTUnicodeChar *destServer,
|
|
const CTUnicodeChar *sourceCharacter,
|
|
const CTUnicodeChar *destCharacter, const unsigned uid,
|
|
const unsigned destuid, bool withItems, bool override) = 0;
|
|
virtual void onRequestMove(const unsigned server_track, const char *language,
|
|
const CTUnicodeChar *sourceServer,
|
|
const CTUnicodeChar *destServer,
|
|
const CTUnicodeChar *sourceCharacter,
|
|
const CTUnicodeChar *destCharacter, const unsigned uid,
|
|
const unsigned destuid, const unsigned transactionID,
|
|
bool withItems,
|
|
bool override) = 0;
|
|
virtual void onRequestDelete(const unsigned server_track, const char *language,
|
|
const CTUnicodeChar *sourceServer,
|
|
const CTUnicodeChar *destServer,
|
|
const CTUnicodeChar *sourceCharacter,
|
|
const CTUnicodeChar *destCharacter, const unsigned uid,
|
|
const unsigned destuid, const unsigned transactionID,
|
|
bool withItems,
|
|
bool override) = 0;
|
|
virtual void onRequestRestore(const unsigned server_track, const char *language,
|
|
const CTUnicodeChar *sourceServer,
|
|
const CTUnicodeChar *destServer,
|
|
const CTUnicodeChar *sourceCharacter,
|
|
const CTUnicodeChar *destCharacter, const unsigned uid,
|
|
const unsigned destuid, const unsigned transactionID,
|
|
bool withItems,
|
|
bool override) = 0;
|
|
virtual void onRequestTransferAccount(const unsigned server_track,
|
|
const unsigned uid,
|
|
const unsigned destuid,
|
|
const unsigned transactionID) = 0;
|
|
virtual void onRequestCharacterList(const unsigned server_track, const char *language,
|
|
const CTUnicodeChar *server, const unsigned uid) = 0;
|
|
virtual void onRequestServerList(const unsigned server_track, const char *language) = 0;
|
|
virtual void onRequestDestinationServerList(const unsigned server_track, const char *language,
|
|
const CTUnicodeChar *character, const CTUnicodeChar *server) = 0;
|
|
|
|
private:
|
|
CTServiceAPICore *m_apiCore;
|
|
};
|
|
|
|
}; // namespace
|
|
|
|
#endif //CTSERVICEAPI_H
|
|
|
|
|
|
|