Files
src-1.2/engine/server/library/serverDatabase/src/shared/CharacterQueries.h
T

119 lines
3.3 KiB
C++

// ======================================================================
//
// CharacterQueries.h
// copyright (c) 2001 Sony Online Entertainment
//
// ======================================================================
#ifndef INCLUDED_CharacterQueries_H
#define INCLUDED_CharacterQueries_H
// ======================================================================
#include "sharedDatabaseInterface/Bindable.h"
#include "sharedDatabaseInterface/BindableNetworkId.h"
#include "sharedDatabaseInterface/DbQuery.h"
#include "sharedDatabaseInterface/DbRow.h"
#include "sharedFoundation/StationId.h"
// ======================================================================
namespace DBQuery {
/** A query to get the list of characters for an account.
*/
class GetCharacters : public DB::Query
{
public:
struct GetCharactersRow : public DB::Row
{
DB::BindableString<128> character_name;
DB::BindableString<128> scene_id;
DB::BindableNetworkId object_id;
DB::BindableString<1000> object_template;
DB::BindableNetworkId container_id;
DB::BindableDouble x;
DB::BindableDouble y;
DB::BindableDouble z;
DB::BindableLong station_id;
};
GetCharacters() {}
virtual void getSQL(std::string &sql);
virtual bool bindParameters();
virtual bool bindColumns();
const GetCharactersRow &getData() const;
void setStationId(StationId station_id);
protected:
virtual QueryMode getExecutionMode() const;
private:
GetCharactersRow data;
private:
GetCharacters(const GetCharacters&); // disable
GetCharacters& operator=(const GetCharacters&); //disable
};
// ======================================================================
/** A query to associate a character with a particular account
*/
class AddCharacter : public DB::Query
{
public:
AddCharacter(StationId stationId, const NetworkId &objectId, const Unicode::String &characterName, const std::string &normalizedName);
virtual void getSQL(std::string &sql);
virtual bool bindParameters();
virtual bool bindColumns();
protected:
virtual QueryMode getExecutionMode() const;
private:
DB::BindableLong station_id;
DB::BindableNetworkId object_id;
DB::BindableString<127> character_name;
DB::BindableString<127> normalized_name;
private:
AddCharacter(const AddCharacter&); // disable
AddCharacter& operator=(const AddCharacter&); //disable
};
// ======================================================================
class RenameCharacter : public DB::Query
{
public:
RenameCharacter (const NetworkId &characterId, const Unicode::String &characterName, const Unicode::String &normalizedName);
bool getResult () const;
virtual void getSQL (std::string &sql);
virtual bool bindParameters ();
virtual bool bindColumns ();
protected:
virtual QueryMode getExecutionMode () const;
private:
DB::BindableNetworkId object_id;
DB::BindableString<127> character_name;
DB::BindableString<127> normalized_name;
DB::BindableLong result;
private:
RenameCharacter (const RenameCharacter&); // disable
RenameCharacter& operator= (const RenameCharacter&); //disable
};
}
// ======================================================================
#endif