Initial LoginServer project commit

This commit is contained in:
Anonymous
2014-01-13 06:40:48 -07:00
parent d248ee5273
commit 004d02c834
73 changed files with 11005 additions and 0 deletions
@@ -0,0 +1,80 @@
// ======================================================================
//
// DatabaseConnection.h
// copyright (c) 2001 Sony Online Entertainment
//
// ======================================================================
#ifndef INCLUDED_DatabaseConnection_H
#define INCLUDED_DatabaseConnection_H
// ======================================================================
#include "Singleton/Singleton.h"
#include "serverNetworkMessages/AvatarList.h"
#include "sharedFoundation/NetworkId.h"
#include "sharedFoundation/StationId.h"
namespace DB
{
class Server;
class TaskQueue;
}
class LoginUpgradeAccountMessage;
class TransferAccountData;
class TransferCharacterData;
class TransferRequestMoveValidation;
// ======================================================================
/**
* A class to manage the LoginServer's connection to the database.
*/
class DatabaseConnection : public Singleton<DatabaseConnection>
{
public:
DatabaseConnection();
~DatabaseConnection();
void connect ();
void disconnect ();
void requestAvatarListForAccount (StationId stationId, const TransferCharacterData *);
void requestClusterList ();
void registerNewCluster (const std::string &clusterName, const std::string &remoteAddress);
void onAvatarListRetrieved (StationId stationId, int stationIdNumberJediSlot, const AvatarList &avatars, TransferCharacterData * const transferCharacterData) const;
void update ();
void getAccountValidationData (StationId stationId, uint32 clusterId, unsigned int track, uint32 subscriptionBits);
void getAccountValidationData (const TransferRequestMoveValidation & request, uint32 clusterId);
void deleteCharacter (uint32 clusterId, const NetworkId &characterId, StationId stationId);
void deleteAllCharacters (StationId stationId);
void renameCharacter (uint32 clusterId, const NetworkId &characterId, const Unicode::String &newName, const TransferCharacterData * requestData);
void requestAvatarListAccountTransfer (const TransferAccountData * requestData);
void onAvatarListRetrievedAccountTransfer (const AvatarList &avatars, TransferAccountData * transferAccountData);
void changeStationId (StationId sourceStationId, StationId destinationStationId, const TransferAccountData * const transferAccountData);
void createCharacter (uint32 clusterId, StationId stationId, const Unicode::String &characterName, const NetworkId &characterObjectId, int templateId, bool jedi);
void restoreCharacter (uint32 clusterId, const std::string &whoRequested, StationId stationId, const Unicode::String &characterName, const NetworkId &characterObjectId, int templateId, bool jedi);
void enableCharacter (StationId stationId, const NetworkId &characterId, const std::string &whoRequested, bool enabled, uint32 clusterId);
void upgradeAccount (LoginUpgradeAccountMessage *msg, uint32 clusterId);
void toggleDisableCharacter (uint32 clusterId, const NetworkId &characterId, StationId stationId, bool enabled);
void toggleCompletedTutorial (StationId stationId, bool newValue);
const std::string getSchemaQualifier() const;
void claimRewards (uint32 clusterId, uint32 gameServerId, StationId stationId, NetworkId const & playerId, std::string const & rewardEvent, bool consumeEvent, std::string const & rewardItem, bool consumeItem, uint32 accountFeatureId, bool consumeAccountFeatureId, int previousAccountFeatureIdCount, int currentAccountFeatureIdCount);
void getAccountForPurge (int purgePhase);
void setPurgeStatusAndRelease (StationId account, int newPurgePhase);
void updatePurgeAccountList ();
void occupyUnlockedSlot (uint32 clusterId, StationId stationId, NetworkId const & characterId, uint32 replyGameServerId);
void vacateUnlockedSlot (uint32 clusterId, StationId stationId, NetworkId const & characterId, uint32 replyGameServerId);
void swapUnlockedSlot (uint32 clusterId, StationId stationId, NetworkId const & sourceCharacterId, NetworkId const & targetCharacterId, uint32 replyGameServerId);
void featureIdTransactionRequest (uint32 clusterId, StationId stationId, NetworkId const & characterId, uint32 replyGameServerId);
void featureIdTransactionSyncUpdate(uint32 clusterId, StationId stationId, NetworkId const & characterId, std::string const & itemId, int adjustment);
private:
DB::Server *m_databaseServer;
DB::TaskQueue *m_taskQueue;
};
// ======================================================================
#endif