mirror of
https://bitbucket.org/theswgsource/src-1.2.git
synced 2026-07-30 00:15:47 -04:00
Added serverDatabase library
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
// ======================================================================
|
||||
//
|
||||
// MoveToPlayerCustomPersistStep.cpp
|
||||
// copyright (c) 2001 Sony Online Entertainment
|
||||
//
|
||||
// ======================================================================
|
||||
|
||||
#include "serverDatabase/FirstServerDatabase.h"
|
||||
#include "serverDatabase/MoveToPlayerCustomPersistStep.h"
|
||||
|
||||
#include "serverDatabase/CharacterQueries.h"
|
||||
#include "serverDatabase/DatabaseProcess.h"
|
||||
#include "serverDatabase/DataLookup.h"
|
||||
#include "serverDatabase/Persister.h"
|
||||
#include "sharedDatabaseInterface/DbSession.h"
|
||||
#include "sharedLog/Log.h"
|
||||
|
||||
// ======================================================================
|
||||
|
||||
MoveToPlayerCustomPersistStep::MoveToPlayerCustomPersistStep(const NetworkId &objectId, const NetworkId &targetPlayer, int maxDepth, bool useBank, bool useDatapad) :
|
||||
m_objectId(objectId),
|
||||
m_targetPlayer(targetPlayer),
|
||||
m_maxDepth(maxDepth),
|
||||
m_useBank(useBank),
|
||||
m_useDatapad(useDatapad)
|
||||
{
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
MoveToPlayerCustomPersistStep::~MoveToPlayerCustomPersistStep()
|
||||
{
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
bool MoveToPlayerCustomPersistStep::beforePersist(DB::Session *session)
|
||||
{
|
||||
UNREF(session);
|
||||
return true;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
bool MoveToPlayerCustomPersistStep::afterPersist(DB::Session *session)
|
||||
{
|
||||
MoveToPlayerQuery qry(m_objectId, m_targetPlayer, m_maxDepth, m_useBank, m_useDatapad);
|
||||
if (! (session->exec(&qry)))
|
||||
return false;
|
||||
qry.done();
|
||||
return true;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
void MoveToPlayerCustomPersistStep::onComplete()
|
||||
{
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
MoveToPlayerCustomPersistStep::MoveToPlayerQuery::MoveToPlayerQuery(const NetworkId &objectId, const NetworkId &targetPlayer, int maxDepth, bool useBank, bool useDatapad) :
|
||||
object_id(objectId),
|
||||
target_player(targetPlayer),
|
||||
max_depth(maxDepth),
|
||||
m_useBank(useBank),
|
||||
m_useDatapad(useDatapad)
|
||||
{
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
void MoveToPlayerCustomPersistStep::MoveToPlayerQuery::getSQL(std::string &sql)
|
||||
{
|
||||
if (m_useBank)
|
||||
sql="begin "+DatabaseProcess::getInstance().getSchemaQualifier()+"admin.move_to_player_bank (:object_id, :target_player); end;";
|
||||
else if (m_useDatapad)
|
||||
sql="begin "+DatabaseProcess::getInstance().getSchemaQualifier()+"admin.move_to_player_datapad (:object_id, :target_player, :max_depth); end;";
|
||||
else
|
||||
sql="begin "+DatabaseProcess::getInstance().getSchemaQualifier()+"admin.move_to_player (:object_id, :target_player); end;";
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
bool MoveToPlayerCustomPersistStep::MoveToPlayerQuery::bindParameters()
|
||||
{
|
||||
if (!bindParameter(object_id)) return false;
|
||||
if (!bindParameter(target_player)) return false;
|
||||
if (m_useDatapad && !bindParameter(max_depth)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
bool MoveToPlayerCustomPersistStep::MoveToPlayerQuery::bindColumns()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// ======================================================================
|
||||
Reference in New Issue
Block a user