26 std::vector<Anope::string> Type::TypeOrder;
27 std::map<Anope::string, Type *> Serialize::Type::Types;
39 for (std::map<Anope::string, Serialize::Type *>::const_iterator it = Serialize::Type::GetTypes().begin(), it_end = Serialize::Type::GetTypes().end(); it != it_end; ++it)
52 this->
s_type = Type::Find(serialize_type);
117 Type::Type(
const Anope::string &n, unserialize_func f,
Module *o) :
name(n), unserialize(f), owner(o), timestamp(0)
120 Types[this->
name] =
this;
127 std::vector<Anope::string>::iterator it = std::find(TypeOrder.begin(), TypeOrder.end(), this->
name);
128 if (it != TypeOrder.end())
130 Types.erase(this->
name);
135 return this->unserialize(obj, data);
143 time_t Type::GetTimestamp()
const
145 return this->timestamp;
148 void Type::UpdateTimestamp()
155 std::map<Anope::string, Type *>::iterator it = Types.find(name);
156 if (it != Types.end())
161 const std::vector<Anope::string> &Type::GetTypeOrder()
166 const std::map<Anope::string, Serialize::Type *>& Type::GetTypes()
static Serializable * Unserialize(Serializable *obj, Serialize::Data &)
static Serializable * Unserialize(Serializable *obj, Serialize::Data &)
std::list< Serializable * >::iterator s_iter
void UpdateCache(Serialize::Data &)
CoreExport time_t CurTime
#define FOREACH_MOD(ename, args)
virtual size_t Hash() const
static Serializable * Unserialize(Serializable *obj, Serialize::Data &)
static Serializable * Unserialize(Serializable *obj, Serialize::Data &)
static const std::list< Serializable * > & GetItems()
static Serializable * Unserialize(Serializable *obj, Serialize::Data &)
Serializable(const Anope::string &serialize_type)
Serializable & operator=(const Serializable &)
static Serializable * Unserialize(Serializable *obj, Serialize::Data &)
static Serializable * Unserialize(Serializable *obj, Serialize::Data &data)
bool IsCached(Serialize::Data &)
static std::list< Serializable * > * SerializableItems
static Serializable * Unserialize(Serializable *obj, Serialize::Data &)
Serialize::Type * GetSerializableType() const
Type(const Anope::string &n, unserialize_func f, Module *owner=NULL)