Public Member Functions | Private Types | Private Attributes

Extensible Class Reference

#include <extensible.h>

Inherited by Channel, ChannelInfo, ChanUserContainer, Module, NickAlias, NickCore, Server, Thread, and User.

Public Member Functions

 Extensible ()
virtual ~Extensible ()
void Extend (const Anope::string &key, ExtensibleItem *p=NULL)
void ExtendMetadata (const Anope::string &key, const Anope::string &value="")
bool Shrink (const Anope::string &key)
template<typename T >
GetExt (const Anope::string &key) const
bool HasExt (const Anope::string &key) const
void GetExtList (std::deque< Anope::string > &list) const
void ExtensibleSerialize (Serialize::Data &data) const
void ExtensibleUnserialize (Serialize::Data &data)

Private Types

typedef std::map
< Anope::string,
ExtensibleItem * > 
extensible_map

Private Attributes

extensible_mapextension_items

Detailed Description

Definition at line 47 of file extensible.h.


Member Typedef Documentation

Definition at line 50 of file extensible.h.


Constructor & Destructor Documentation

Extensible::Extensible (  ) 

Default constructor

Definition at line 13 of file extensible.cpp.

Extensible::~Extensible (  )  [virtual]

Destructor, deletes all of the extensible items in this object then clears the map

Definition at line 17 of file extensible.cpp.

References extension_items.


Member Function Documentation

void Extensible::Extend ( const Anope::string key,
ExtensibleItem p = NULL 
)
void Extensible::ExtendMetadata ( const Anope::string key,
const Anope::string value = "" 
)
void Extensible::ExtensibleSerialize ( Serialize::Data &  data  )  const

Definition at line 71 of file extensible.cpp.

References extension_items.

Referenced by ChannelInfo::Serialize(), NickCore::Serialize(), and NickAlias::Serialize().

void Extensible::ExtensibleUnserialize ( Serialize::Data &  data  ) 

Definition at line 79 of file extensible.cpp.

References ExtendMetadata(), extension_items, GetExtList(), and Shrink().

template<typename T >
T Extensible::GetExt ( const Anope::string key  )  const [inline]
void Extensible::GetExtList ( std::deque< Anope::string > &  list  )  const

Get a list of all extension items names.

Parameters:
list A deque of strings to receive the list
Returns:
This function writes a list of all extension items stored in this object by name into the given deque and returns void.

Definition at line 64 of file extensible.cpp.

References extension_items.

Referenced by ExtensibleUnserialize(), LoadChanInfo(), LoadNickCore(), and DBPlain::OnSaveDatabase().

bool Extensible::HasExt ( const Anope::string key  )  const

Check if an extension item exists.

Parameters:
key The key parameter is an arbitary string which identifies the extension data
Returns:
True if the item was found.

Definition at line 59 of file extensible.cpp.

References extension_items.

Referenced by ChannelInfo::CheckKick(), CommandNSInfo::CheckOptStr(), CommandCSInfo::CheckOptStr(), CommandBSInfo::CheckOptStr(), ChannelInfo::CheckTopic(), Channel::DeleteUser(), CommandCSAKick::DoAdd(), CommandMSSet::DoLimit(), CommandCSEnforce::DoSecureOps(), CommandNSCert::DoServAdminList(), CommandOSLogout::Execute(), CommandOSLogin::Execute(), CommandNSList::Execute(), CommandNSInfo::Execute(), CommandNSGList::Execute(), CommandNSAList::Execute(), CommandNSAccess::Execute(), CommandMSInfo::Execute(), CommandCSUnSuspend::Execute(), CommandCSSetSuccessor::Execute(), CommandCSSetPersist::Execute(), CommandCSSetFounder::Execute(), CommandCSRegister::Execute(), CommandCSList::Execute(), CommandCSKick::Execute(), CommandCSInfo::Execute(), CommandCSDrop::Execute(), CommandCSClone::Execute(), CommandCSBan::Execute(), CommandBSInfo::Execute(), CommandBSUnassign::Execute(), CommandBSAssign::Execute(), MChanstats::GetDisplay(), NickAlias::OnCancel(), NSAJoin::OnNickIdentify(), BSKick::OnPrivmsg(), WebCPanel::NickServ::Alist::OnRequest(), WebCPanel::ChanServ::Set::OnRequest(), WebCPanel::ChanServ::Drop::OnRequest(), DBPlain::OnSaveDatabase(), NSRecoverRequest::OnSuccess(), MChanstats::OnTopicUpdated(), DBOld::OnUplinkSync(), NickAlias::Release(), Channel::RemoveModeInternal(), ChannelInfo::RestoreTopic(), MyMemoServService::Send(), CommandCSTopic::Set(), Channel::SetCorrectModes(), ShouldHide(), Message::Join::SJoin(), Server::Sync(), and ExpireCallback::Tick().

bool Extensible::Shrink ( const Anope::string key  ) 

Shrink an Extensible class.

Parameters:
key The key parameter is an arbitary string which identifies the extension data

You must provide a key name. The given key name will be removed from the classes data. If you provide a nonexistent key (case is important) then the function will return false.

Returns:
Returns true on success.

Definition at line 40 of file extensible.cpp.

References extension_items.

Referenced by CommandEntryMessage::DoClear(), CommandEntryMessage::DoDel(), CommandMSSet::DoLimit(), CommandMSSet::DoNotify(), CommandCSEnforce::DoSecureOps(), CommandOSNOOP::Execute(), CommandOSLogout::Execute(), CommandNSSuspend::Execute(), CommandNSSASetNoexpire::Execute(), CommandNSConfirm::Execute(), CommandHSReject::Execute(), CommandHSActivate::Execute(), CommandCSUnSuspend::Execute(), CommandCSSetMisc::Execute(), CommandCSSASetNoexpire::Execute(), CommandCSSetSignKick::Execute(), CommandCSSetSecureOps::Execute(), CommandCSSetSecureFounder::Execute(), CommandCSSetSecure::Execute(), CommandCSSetRestricted::Execute(), CommandCSSetPrivate::Execute(), CommandCSSetPersist::Execute(), CommandCSSetPeace::Execute(), CommandCSSetKeepTopic::Execute(), CommandCSSetChanstats::Execute(), CommandCSSetAutoOp::Execute(), CommandBSSetPrivate::Execute(), CommandBSSetNoBot::Execute(), CommandBSSetGreet::Execute(), CommandBSSetFantasy::Execute(), CommandBSSetDontKickVoices::Execute(), CommandBSSetDontKickOps::Execute(), CommandBSKick::Execute(), Extend(), ExtensibleUnserialize(), Channel::KickInternal(), LoadChanInfo(), LoadChannels(), LoadNickCore(), NickAlias::OnCancel(), NSSet::OnPreCommand(), NSResetPass::OnPreCommand(), WebCPanel::Logout::OnRequest(), WebCPanel::ChanServ::Set::OnRequest(), DBOld::OnUplinkSync(), NickAlias::Release(), Channel::RemoveModeInternal(), CommandNSSetMisc::Run(), CommandNSSetSecure::Run(), CommandNSSetPrivate::Run(), CommandNSSetMessage::Run(), CommandNSSetKill::Run(), CommandNSSetHide::Run(), CommandNSSetAutoOp::Run(), CommandCSTopic::Set(), Message::Join::SJoin(), BanDataPurger::Tick(), CommandCSTopic::Unlock(), BSKick::~BSKick(), and HSRequest::~HSRequest().


Field Documentation


The documentation for this class was generated from the following files: