From 2f372251983f6618e1ccc5cfb6214e406ee739a5 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 3 Dec 2017 16:34:19 -0500 Subject: nickserv/cert: add events --- include/modules/nickserv/cert.h | 18 ++++++------------ modules/nickserv/cert.cpp | 5 ++++- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/include/modules/nickserv/cert.h b/include/modules/nickserv/cert.h index 0db681122..dc34e0013 100644 --- a/include/modules/nickserv/cert.h +++ b/include/modules/nickserv/cert.h @@ -55,22 +55,16 @@ namespace Event using Events::Events; - /** Called when a user adds an entry to their cert list - * @param nc The nick - * @param entry The entry + /** Called when a certificate is added to an account + * @param cert The certificate */ - virtual void OnNickAddCert(NickServ::Account *nc, const Anope::string &entry) anope_abstract; + virtual void OnNickAddCert(NSCertEntry *cert) anope_abstract; - /** Called from NickServ::Account::EraseCert() - * @param nc pointer to the NickServ::Account + /** Called before a certificate is deleted + * @param cert The certificate * @param entry The fingerprint */ - virtual void OnNickEraseCert(NickServ::Account *nc, const Anope::string &entry) anope_abstract; - - /** called from NickServ::Account::ClearCert() - * @param nc pointer to the NickServ::Account - */ - virtual void OnNickClearCert(NickServ::Account *nc) anope_abstract; + virtual void OnNickEraseCert(NSCertEntry *cert) anope_abstract; }; } diff --git a/modules/nickserv/cert.cpp b/modules/nickserv/cert.cpp index eb6f5f3d0..2db622faf 100644 --- a/modules/nickserv/cert.cpp +++ b/modules/nickserv/cert.cpp @@ -198,8 +198,9 @@ class CommandNSCert : public Command NSCertEntry *e = Serialize::New(); e->SetAccount(nc); e->SetCert(certfp); + + EventManager::Get()->Dispatch(&Event::NickCertEvents::OnNickAddCert, e); -#warning "events?" logger.Command(nc == source.GetAccount() ? LogType::COMMAND : LogType::ADMIN, source, _("{source} used {command} to add certificate fingerprint {0} to {1}"), certfp, nc->GetDisplay()); source.Reply(_("\002{0}\002 added to the certificate list of \002{1}\002."), certfp, nc->GetDisplay()); @@ -229,6 +230,8 @@ class CommandNSCert : public Command return; } + EventManager::Get()->Dispatch(&Event::NickCertEvents::OnNickEraseCert, cert); + cert->Delete(); logger.Command(nc == source.GetAccount() ? LogType::COMMAND : LogType::ADMIN, source, _("{source} used {command} to delete certificate fingerprint {0} from {1}"), certfp, nc->GetDisplay()); -- cgit