- virtual void OnCleanup(int type, void* item)
- {
- if (type != TYPE_USER)
- return;
-
- User* u = (User*)item;
- /* Cleanup only happens on unload (before dtor), so keep this O(n) instead of O(n^2) which deferring to OnUserQuit would do. */
- RemoveData(u);
- }
-
- virtual void OnSyncUser(User* user, Module* proto, void* opaque)
- {
- callerid_data* dat = GetData(user, false);
- if (dat)
- {
- std::string str = dat->ToString(proto);
- proto->ProtoSendMetaData(opaque, user, "callerid_data", str);
- }
- }
-
- virtual void OnDecodeMetaData(Extensible* target, const std::string& extname, const std::string& extdata)
- {
- User* u = dynamic_cast<User*>(target);
- if (u && extname == "callerid_data")
- {
- callerid_data* dat = new callerid_data(extdata, ServerInstance);
- u->Extend("callerid_data", dat);
- }
- }
-
- virtual ModResult OnUserPreNick(User* user, const std::string& newnick)