#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 > | |
| 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_map * | extension_items |
Definition at line 47 of file extensible.h.
typedef std::map<Anope::string, ExtensibleItem *> Extensible::extensible_map [private] |
Definition at line 50 of file extensible.h.
| 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.
| void Extensible::Extend | ( | const Anope::string & | key, | |
| ExtensibleItem * | p = NULL | |||
| ) |
Extend an Extensible class.
| key | The key parameter is an arbitary string which identifies the extension data | |
| p | This parameter is a pointer to an ExtensibleItem or ExtensibleItemBase derived class |
You must provide a key to store the data as via the parameter 'key'. The data will be inserted into the map. If the data already exists, it will be overwritten.
Definition at line 27 of file extensible.cpp.
References extension_items, and Shrink().
Referenced by User::Collide(), CommandNSAJoin::DoAdd(), CommandEntryMessage::DoAdd(), CommandNSAJoin::DoDel(), CommandEntryMessage::DoDel(), CommandNSAJoin::DoList(), CommandEntryMessage::DoList(), CommandOSNOOP::Execute(), CommandOSLogin::Execute(), CommandHSRequest::Execute(), CommandCSSetMisc::Execute(), CommandCSSetPersist::Execute(), CommandCSRegister::Execute(), ExtendMetadata(), BSKick::GetBanData(), BSKick::GetUserData(), Channel::KickInternal(), LoadChannels(), NickAlias::OnCancel(), WebpanelRequest::OnSuccess(), NSRecoverRequest::OnSuccess(), CommandNSSetMisc::Run(), CommandNSSetEmail::SendConfirmMail(), SendRegmail(), SendResetEmail(), Channel::SetModeInternal(), Message::Join::SJoin(), NSMiscData::Unserialize(), AJoinEntry::Unserialize(), HostRequest::Unserialize(), CSMiscData::Unserialize(), and EntryMsg::Unserialize().
| void Extensible::ExtendMetadata | ( | const Anope::string & | key, | |
| const Anope::string & | value = "" | |||
| ) |
Definition at line 35 of file extensible.cpp.
References Anope::string::empty(), and Extend().
Referenced by ChannelInfo::ChannelInfo(), CommandMSSet::DoLimit(), CommandMSSet::DoNotify(), CommandCSEnforce::DoSecureOps(), CommandNSSuspend::Execute(), CommandNSSASetNoexpire::Execute(), CommandNSRegister::Execute(), CommandCSSuspend::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(), CommandCSClone::Execute(), CommandBSSetPrivate::Execute(), CommandBSSetNoBot::Execute(), CommandBSSetGreet::Execute(), CommandBSSetFantasy::Execute(), CommandBSSetDontKickVoices::Execute(), CommandBSSetDontKickOps::Execute(), CommandBSKick::Execute(), ExtensibleUnserialize(), LoadBots(), LoadChannels(), LoadNicks(), CommandCSTopic::Lock(), NickCore::NickCore(), OnDatabaseReadMetadata(), WebCPanel::ChanServ::Set::OnRequest(), CommandNSSetSecure::Run(), CommandNSSetPrivate::Run(), CommandNSSetMessage::Run(), CommandNSSetKill::Run(), CommandNSSetHide::Run(), CommandNSSetAutoOp::Run(), and CommandCSTopic::Set().
| 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().
| T Extensible::GetExt | ( | const Anope::string & | key | ) | const [inline] |
Get an extension item.
| key | The key parameter is an arbitary string which identifies the extension data |
Definition at line 90 of file extensible.h.
Referenced by CommandNSAJoin::DoAdd(), CommandEntryMessage::DoAdd(), CommandEntryMessage::DoClear(), CommandNSAJoin::DoDel(), CommandEntryMessage::DoDel(), CommandNSAJoin::DoList(), CommandHSWaiting::DoList(), CommandEntryMessage::DoList(), CommandHSReject::Execute(), CommandHSActivate::Execute(), CommandCSUnSuspend::Execute(), CommandCSInfo::Execute(), BSKick::GetBanData(), Panel::GetNickFromSession(), BSKick::GetUserData(), NSSet::OnPreCommand(), DBPlain::OnSaveDatabase(), DBOld::OnUplinkSync(), BanDataPurger::Tick(), AJoinEntry::Unserialize(), and EntryMsg::Unserialize().
| void Extensible::GetExtList | ( | std::deque< Anope::string > & | list | ) | const |
Get a list of all extension items names.
| list | A deque of strings to receive the list |
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.
| key | The key parameter is an arbitary string which identifies the extension data |
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.
| 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.
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().
extensible_map* Extensible::extension_items [private] |
Definition at line 51 of file extensible.h.
Referenced by Extend(), ExtensibleSerialize(), ExtensibleUnserialize(), GetExtList(), HasExt(), Shrink(), and ~Extensible().
1.7.1