summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/modules/nickserv/cert.h18
-rw-r--r--modules/nickserv/cert.cpp5
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<NSCertEntry *>();
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());