mirror of
https://bitbucket.org/theswgsource/src-1.2.git
synced 2026-10-03 18:12:58 -04:00
Initial LoginServer project commit
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user