mirror of
https://bitbucket.org/theswgsource/src-1.2.git
synced 2026-08-02 03:16:11 -04:00
Added serverDatabase library
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
// ======================================================================
|
||||
//
|
||||
// ImmediateDeleteCustomPersistStep.cpp
|
||||
// copyright (c) 2003 Sony Online Entertainment
|
||||
//
|
||||
// ======================================================================
|
||||
|
||||
#include "serverDatabase/FirstServerDatabase.h"
|
||||
#include "serverDatabase/ImmediateDeleteCustomPersistStep.h"
|
||||
|
||||
#include "serverDatabase/LazyDeleter.h"
|
||||
#include <set>
|
||||
|
||||
// ======================================================================
|
||||
|
||||
ImmediateDeleteCustomPersistStep::ImmediateDeleteCustomPersistStep() :
|
||||
m_objects(new std::set<NetworkId>)
|
||||
{
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
ImmediateDeleteCustomPersistStep::~ImmediateDeleteCustomPersistStep()
|
||||
{
|
||||
delete m_objects;
|
||||
m_objects = NULL;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
void ImmediateDeleteCustomPersistStep::addObject(const NetworkId &deletedObject)
|
||||
{
|
||||
m_objects->insert(deletedObject);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* After the object is flagged for deletion and the rest of the data from the snapshot has
|
||||
* been saved, give the immediate delete objects to the LazyDeleter.
|
||||
*/
|
||||
void ImmediateDeleteCustomPersistStep::onComplete()
|
||||
{
|
||||
for (std::set<NetworkId>::const_iterator i=m_objects->begin(); i!=m_objects->end(); ++i)
|
||||
LazyDeleter::getInstance().addObject(*i);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
bool ImmediateDeleteCustomPersistStep::beforePersist(DB::Session *)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
bool ImmediateDeleteCustomPersistStep::afterPersist(DB::Session *)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// ======================================================================
|
||||
Reference in New Issue
Block a user