summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
0d9e5bd)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9303
e03df62e-2008-0410-955e-
edbf42e46eb7
#ifndef __PROTOCOL_H__
#define __PROTOCOL_H__
#ifndef __PROTOCOL_H__
#define __PROTOCOL_H__
class InspIRCd;
typedef std::deque<std::string> parameterlist;
class InspIRCd;
typedef std::deque<std::string> parameterlist;
virtual ~ProtocolInterface() { }
virtual void SendEncapsulatedData(parameterlist &encap) { }
virtual ~ProtocolInterface() { }
virtual void SendEncapsulatedData(parameterlist &encap) { }
virtual void SendMetaData(void* target, int type, const std::string &key, const std::string &data) { }
virtual void SendMetaData(void* target, int type, const std::string &key, const std::string &data) { }
virtual void SendTopic(Channel* channel, std::string &topic) { }
virtual void SendTopic(Channel* channel, std::string &topic) { }
virtual void SendMode(const std::string &target, parameterlist &modedata) { }
virtual void SendMode(const std::string &target, parameterlist &modedata) { }
+
+ virtual void SendMode(const std::string &target, const std::string &modeline)
+ {
+ /* Convenience function */
+ irc::spacesepstream x(modeline);
+ parameterlist n;
+ std::string v;
+ while (x.GetToken(v))
+ n.push_back(v);
+ SendMode(target, n);
+ }
+
virtual void SendOperNotice(const std::string &text) { }
virtual void SendOperNotice(const std::string &text) { }
virtual void SendModeNotice(const std::string &modes, const std::string &text) { }
virtual void SendModeNotice(const std::string &modes, const std::string &text) { }
virtual void SendSNONotice(const std::string &snomask, const std::string &text) { }
virtual void SendSNONotice(const std::string &snomask, const std::string &text) { }
virtual void PushToClient(User* target, const std::string &rawline) { }
};
virtual void PushToClient(User* target, const std::string &rawline) { }
};
parameters[2] = user->MakeWildHost();
ServerInstance->SendMode(parameters,3,user);
parameters[2] = user->MakeWildHost();
ServerInstance->SendMode(parameters,3,user);
- parameterlist n;
- n.push_back("+b");
- n.push_back(user->MakeWildHost());
- ServerInstance->PI->SendMode(dest->name, n);
+ ServerInstance->PI->SendMode(dest->name, std::string("+b ") + user->MakeWildhost());
}
char kickmessage[MAXBUF];
snprintf(kickmessage, MAXBUF, "Channel flood triggered (limit is %d lines in %d secs)", f->lines, f->secs);
}
char kickmessage[MAXBUF];
snprintf(kickmessage, MAXBUF, "Channel flood triggered (limit is %d lines in %d secs)", f->lines, f->secs);
setban[1] = "-b";
setban[2] = i->mask.c_str();
setban[1] = "-b";
setban[2] = i->mask.c_str();
- /* Send mode remotely*/
- std::deque<std::string> n;
- n.push_back("-b");
- n.push_back(setban[2]);
-
- ServerInstance->PI->SendMode(i->channel, n);
+ ServerInstance->PI->SendMode(i->channel, std::string("-b ") + setban[2]);
ServerInstance->SendMode(setban,3, ServerInstance->FakeClient);
CUList empty;
ServerInstance->SendMode(setban,3, ServerInstance->FakeClient);
CUList empty;