diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-02 00:45:37 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-02 00:45:37 +0000 |
commit | f25c4b7a2263f5f3ce9bb41ba56b43c0d3a6d124 (patch) | |
tree | 43fba09e698269cd4c22c68be7ecb4a5875f55f3 /src/modules/m_cgiirc.cpp | |
parent | 6e85701ecb09604f2c87010683638ec0446cc515 (diff) |
MetaData rework
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11607 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_cgiirc.cpp')
-rw-r--r-- | src/modules/m_cgiirc.cpp | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/src/modules/m_cgiirc.cpp b/src/modules/m_cgiirc.cpp index 8b7a77941..3e00f498d 100644 --- a/src/modules/m_cgiirc.cpp +++ b/src/modules/m_cgiirc.cpp @@ -143,7 +143,7 @@ public: OnRehash(NULL); ServerInstance->AddCommand(&cmd); - Implementation eventlist[] = { I_OnRehash, I_OnUserRegister, I_OnCleanup, I_OnSyncUserMetaData, I_OnDecodeMetaData, I_OnUserDisconnect, I_OnUserConnect }; + Implementation eventlist[] = { I_OnRehash, I_OnUserRegister, I_OnCleanup, I_OnSyncUser, I_OnDecodeMetaData, I_OnUserDisconnect, I_OnUserConnect }; ServerInstance->Modules->Attach(eventlist, this, 7); } @@ -224,29 +224,22 @@ public: } } - virtual void OnSyncUserMetaData(User* user, Module* proto, void* opaque, const std::string &extname, bool displayable) + virtual void OnSyncUser(User* user, Module* proto, void* opaque) { - if((extname == "cgiirc_realhost") || (extname == "cgiirc_realip")) - { - std::string* data; - - if(user->GetExt(extname, data)) - { - proto->ProtoSendMetaData(opaque, TYPE_USER, user, extname, *data); - } - } + std::string* data; + if (user->GetExt("cgiirc_realhost", data)) + proto->ProtoSendMetaData(opaque, user, "cgiirc_realhost", *data); + if (user->GetExt("cgiirc_realip", data)) + proto->ProtoSendMetaData(opaque, user, "cgiirc_realip", *data); } - virtual void OnDecodeMetaData(int target_type, void* target, const std::string &extname, const std::string &extdata) + virtual void OnDecodeMetaData(Extensible* target, const std::string &extname, const std::string &extdata) { - if(target_type == TYPE_USER) + User* dest = dynamic_cast<User*>(target); + std::string* bleh; + if(dest && ((extname == "cgiirc_realhost") || (extname == "cgiirc_realip")) && (!dest->GetExt(extname, bleh))) { - User* dest = (User*)target; - std::string* bleh; - if(((extname == "cgiirc_realhost") || (extname == "cgiirc_realip")) && (!dest->GetExt(extname, bleh))) - { - dest->Extend(extname, new std::string(extdata)); - } + dest->Extend(extname, new std::string(extdata)); } } |