mirror of
https://bitbucket.org/theswgsource/src-1.2.git
synced 2026-09-11 21:44:58 -04:00
Added TransferServer project and CTServiceGameAPI library
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
#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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user