- ~ModuleDelayJoin();
- Version GetVersion();
- void OnNamesListItem(User* issuer, Membership*, std::string &prefixes, std::string &nick);
- void OnUserJoin(Membership*, bool, bool, CUList&);
+};
+
+}
+
+class ModuleDelayJoin
+ : public Module
+ , public CTCTags::EventListener
+ , public Names::EventListener
+{
+ public:
+ LocalIntExt unjoined;
+ JoinHook joinhook;
+ DelayJoinMode djm;
+
+ ModuleDelayJoin()
+ : CTCTags::EventListener(this)
+ , Names::EventListener(this)
+ , unjoined("delayjoin", ExtensionItem::EXT_MEMBERSHIP, this)
+ , joinhook(this, unjoined)
+ , djm(this, unjoined)
+ {
+ }
+
+ Version GetVersion() CXX11_OVERRIDE;
+ ModResult OnNamesListItem(LocalUser* issuer, Membership*, std::string& prefixes, std::string& nick) CXX11_OVERRIDE;
+ void OnUserJoin(Membership*, bool, bool, CUList&) CXX11_OVERRIDE;