bool notify;
public:
CGIHostlist Hosts;
- CommandWebirc(InspIRCd* Instance, bool bnotify) : Command(Instance, "WEBIRC", 0, 4, true), notify(bnotify)
+ CommandWebirc(InspIRCd* Instance, Module* Creator, bool bnotify)
+ : Command(Instance, Creator, "WEBIRC", 0, 4, true), notify(bnotify)
{
- this->source = "m_cgiirc.so";
this->syntax = "password client hostname ip";
}
CmdResult Handle(const std::vector<std::string> ¶meters, User *user)
CommandWebirc cmd;
bool NotifyOpers;
public:
- ModuleCgiIRC(InspIRCd* Me) : Module(Me), cmd(Me, NotifyOpers)
+ ModuleCgiIRC(InspIRCd* Me) : Module(Me), cmd(Me, this, NotifyOpers)
{
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);
}
}
}
- 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));
}
}
}
- virtual int OnUserRegister(User* user)
+ virtual ModResult OnUserRegister(User* user)
{
for(CGIHostlist::iterator iter = cmd.Hosts.begin(); iter != cmd.Hosts.end(); iter++)
{
{
// We don't need to do anything here
}
- return 0;
+ return MOD_RES_PASSTHRU;
}
}
- return 0;
+ return MOD_RES_PASSTHRU;
}
virtual void OnUserConnect(User* user)