mirror of
https://bitbucket.org/theswgsource/src-1.2.git
synced 2026-10-04 19:13:06 -04:00
119 lines
3.3 KiB
C++
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
|