- void Prioritize()
- {
- /* To ensure that we get priority over namesx for names list generation */
- Module* namesx = ServerInstance->Modules->Find("m_namesx.so");
- ServerInstance->Modules->SetPriority(this, I_OnUserList, PRIO_BEFORE, &namesx);
- }
+ Version GetVersion() CXX11_OVERRIDE;
+ ModResult OnNamesListItem(User* issuer, Membership*, std::string& prefixes, std::string& nick) CXX11_OVERRIDE;
+ void OnUserJoin(Membership*, bool, bool, CUList&) CXX11_OVERRIDE;
+ void CleanUser(User* user);
+ void OnUserPart(Membership*, std::string &partmessage, CUList&) CXX11_OVERRIDE;
+ void OnUserKick(User* source, Membership*, const std::string &reason, CUList&) CXX11_OVERRIDE;
+ void OnBuildNeighborList(User* source, IncludeChanList& include, std::map<User*, bool>& exception) CXX11_OVERRIDE;
+ void OnText(User* user, void* dest, int target_type, const std::string &text, char status, CUList &exempt_list) CXX11_OVERRIDE;
+ ModResult OnRawMode(User* user, Channel* channel, ModeHandler* mh, const std::string& param, bool adding) CXX11_OVERRIDE;
+};
+
+ModeAction DelayJoinMode::OnModeChange(User* source, User* dest, Channel* channel, std::string ¶meter, bool adding)
+{
+ /* no change */
+ if (channel->IsModeSet(this) == adding)
+ return MODEACTION_DENY;