- virtual void OnUserJoin(userrec* user, chanrec* channel);
- virtual void OnChangeHost(userrec* user, const std::string &newhost);
- virtual void OnChangeName(userrec* user, const std::string &gecos);
- virtual void OnUserPart(userrec* user, chanrec* channel, const std::string &partmessage);
- virtual void OnUserConnect(userrec* user);
- virtual void OnUserQuit(userrec* user, const std::string &reason, const std::string &oper_message);
- virtual void OnUserPostNick(userrec* user, const std::string &oldnick);
- virtual void OnUserKick(userrec* source, userrec* user, chanrec* chan, const std::string &reason);
- virtual void OnRemoteKill(userrec* source, userrec* dest, const std::string &reason);
- virtual void OnRehash(userrec* user, const std::string ¶meter);
- virtual void OnOper(userrec* user, const std::string &opertype);
- void OnLine(userrec* source, const std::string &host, bool adding, char linetype, long duration, const std::string &reason);
- virtual void OnAddGLine(long duration, userrec* source, const std::string &reason, const std::string &hostmask);
- virtual void OnAddZLine(long duration, userrec* source, const std::string &reason, const std::string &ipmask);
- virtual void OnAddQLine(long duration, userrec* source, const std::string &reason, const std::string &nickmask);
- virtual void OnAddELine(long duration, userrec* source, const std::string &reason, const std::string &hostmask);
- virtual void OnDelGLine(userrec* source, const std::string &hostmask);
- virtual void OnDelZLine(userrec* source, const std::string &ipmask);
- virtual void OnDelQLine(userrec* source, const std::string &nickmask);
- virtual void OnDelELine(userrec* source, const std::string &hostmask);
- virtual void OnMode(userrec* user, void* dest, int target_type, const std::string &text);
- virtual int OnStats(char statschar, userrec* user, string_list &results);
- virtual void OnSetAway(userrec* user);
- virtual void OnCancelAway(userrec* user);
- virtual void ProtoSendMode(void* opaque, int target_type, void* target, const std::string &modeline);
- virtual void ProtoSendMetaData(void* opaque, int target_type, void* target, const std::string &extname, const std::string &extdata);
+ virtual void OnUserJoin(User* user, Channel* channel, bool sync, bool &silent);
+ virtual int OnChangeLocalUserHost(User* user, const std::string &newhost);
+ virtual void OnChangeName(User* user, const std::string &gecos);
+ virtual void OnUserPart(User* user, Channel* channel, std::string &partmessage, bool &silent);
+ virtual void OnUserQuit(User* user, const std::string &reason, const std::string &oper_message);
+ virtual void OnUserPostNick(User* user, const std::string &oldnick);
+ virtual void OnUserKick(User* source, User* user, Channel* chan, const std::string &reason, bool &silent);
+ virtual void OnRemoteKill(User* source, User* dest, const std::string &reason, const std::string &operreason);
+ virtual void OnRehash(User* user, const std::string ¶meter);
+ virtual void OnOper(User* user, const std::string &opertype);
+ void OnLine(User* source, const std::string &host, bool adding, char linetype, long duration, const std::string &reason);
+ virtual void OnAddLine(User *u, XLine *x);
+ virtual void OnDelLine(User *u, XLine *x);
+ virtual void OnMode(User* user, void* dest, int target_type, const std::string &text);
+ virtual int OnStats(char statschar, User* user, string_list &results);
+ virtual int OnSetAway(User* user, const std::string &awaymsg);
+ virtual void ProtoSendMode(void* opaque, TargetTypeFlags target_type, void* target, const std::string &modeline);
+ virtual void ProtoSendMetaData(void* opaque, TargetTypeFlags target_type, void* target, const std::string &extname, const std::string &extdata);