#include <serialize.h>
Inherits Base.
Inherited by AJoinEntry, AutoKick, BadWord, BotInfo, ChanAccess, ChannelInfo, CSMiscData [private], DNSServer, DNSZone, EntryMsg, Exception, ForbidData, HostRequest [private], IgnoreData, LogSetting, Memo, ModeLock, MyOper [private], NewsItem, NickAlias, NickCore, NSMiscData [private], SeenInfo, Stats, and XLine.

Public Member Functions | |
| virtual | ~Serializable () |
| void | QueueUpdate () |
| bool | IsCached (Serialize::Data &) |
| void | UpdateCache (Serialize::Data &) |
| bool | IsTSCached () |
| void | UpdateTS () |
| Serialize::Type * | GetSerializableType () const |
| virtual void | Serialize (Serialize::Data &data) const =0 |
Static Public Member Functions | |
| static const std::list < Serializable * > & | GetItems () |
Data Fields | |
| unsigned int | id |
Protected Member Functions | |
| Serializable (const Anope::string &serialize_type) | |
| Serializable (const Serializable &) | |
| Serializable & | operator= (const Serializable &) |
Private Attributes | |
| Serialize::Type * | s_type |
| std::list< Serializable * > ::iterator | s_iter |
| size_t | last_commit |
| time_t | last_commit_time |
Static Private Attributes | |
| static std::list< Serializable * > * | SerializableItems |
A serialziable object. Serializable objects can be serialized into abstract data types (Serialize::Data), and then reconstructed or updated later at any time.
Definition at line 54 of file serialize.h.
| Serializable::Serializable | ( | const Anope::string & | serialize_type | ) | [protected] |
Definition at line 47 of file serialize.cpp.
References FOREACH_MOD, I_OnSerializableConstruct, s_iter, s_type, and SerializableItems.
| Serializable::Serializable | ( | const Serializable & | other | ) | [protected] |
Definition at line 61 of file serialize.cpp.
References FOREACH_MOD, I_OnSerializableConstruct, s_iter, s_type, and SerializableItems.
| Serializable::~Serializable | ( | ) | [virtual] |
Definition at line 72 of file serialize.cpp.
References FOREACH_MOD, I_OnSerializableDestruct, s_iter, and SerializableItems.
| const std::list< Serializable * > & Serializable::GetItems | ( | ) | [static] |
Definition at line 113 of file serialize.cpp.
References SerializableItems.
Referenced by DBFlatFile::OnSaveDatabase().
| Serialize::Type* Serializable::GetSerializableType | ( | ) | const [inline] |
Get the type of serializable object this is
Definition at line 98 of file serialize.h.
Referenced by DBMySQL::OnNotify(), DBSQL::OnNotify(), DBFlatFile::OnSaveDatabase(), and QueueUpdate().
| bool Serializable::IsCached | ( | Serialize::Data & | data | ) |
Definition at line 93 of file serialize.cpp.
References last_commit.
Referenced by DBMySQL::OnNotify(), and DBSQL::OnNotify().
| bool Serializable::IsTSCached | ( | ) |
Definition at line 103 of file serialize.cpp.
References Anope::CurTime, and last_commit_time.
| Serializable & Serializable::operator= | ( | const Serializable & | ) | [protected] |
Definition at line 79 of file serialize.cpp.
| void Serializable::QueueUpdate | ( | ) |
Marks the object as potentially being updated "soon".
Definition at line 84 of file serialize.cpp.
References FOREACH_MOD, GetSerializableType(), I_OnSerializableUpdate, and I_OnSerializeCheck.
Referenced by BotInfo::Find(), DNSServer::Find(), DNSZone::Find(), ChannelInfo::GetAccess(), ChannelInfo::GetAkick(), ChannelInfo::GetBadWord(), XLineManager::GetEntry(), MemoInfo::GetMemo(), XLineManager::HasEntry(), InitCommands(), InitOpers(), and BotInfo::~BotInfo().
| virtual void Serializable::Serialize | ( | Serialize::Data & | data | ) | const [pure virtual] |
Implemented in ChanAccess, BotInfo, Memo, BadWord, AutoKick, ModeLock, LogSetting, XLine, EntryMsg, SeenInfo, CSMiscData, HostRequest, AJoinEntry, NSMiscData, DNSZone, DNSServer, ForbidData, IgnoreData, NewsItem, MyOper, Exception, and Stats.
Referenced by DBMySQL::OnNotify(), DBSQL::OnNotify(), and DBFlatFile::OnSaveDatabase().
| void Serializable::UpdateCache | ( | Serialize::Data & | data | ) |
Definition at line 98 of file serialize.cpp.
References last_commit.
Referenced by DBMySQL::OnNotify(), and DBSQL::OnNotify().
| void Serializable::UpdateTS | ( | ) |
Definition at line 108 of file serialize.cpp.
References Anope::CurTime, and last_commit_time.
| unsigned int Serializable::id |
Reimplemented in XLine.
Definition at line 83 of file serialize.h.
Referenced by DBFlatFile::OnLoadDatabase(), DBMySQL::OnNotify(), DBSQL::OnNotify(), and DBFlatFile::OnSaveDatabase().
size_t Serializable::last_commit [private] |
Definition at line 69 of file serialize.h.
Referenced by IsCached(), and UpdateCache().
time_t Serializable::last_commit_time [private] |
Definition at line 71 of file serialize.h.
Referenced by IsTSCached(), and UpdateTS().
std::list<Serializable *>::iterator Serializable::s_iter [private] |
Definition at line 67 of file serialize.h.
Referenced by Serializable(), and ~Serializable().
Serialize::Type* Serializable::s_type [private] |
Definition at line 64 of file serialize.h.
Referenced by Serializable().
std::list< Serializable * > * Serializable::SerializableItems [static, private] |
Definition at line 62 of file serialize.h.
Referenced by GetItems(), Serializable(), and ~Serializable().
1.7.1