diff options
author | Adam <Adam@anope.org> | 2016-07-28 21:29:35 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2016-07-28 21:29:35 -0400 |
commit | 0e758a2ac23dc4a001e8e126cec14588da9a9769 (patch) | |
tree | 45df813323e023c5c89db7279426c4ad0943b4a9 /modules/encryption/old.cpp | |
parent | a3c8afae00c54d5b95c620248b51f90679d7d53f (diff) |
Allow serializable fields to use storage in the respective objects.
Split service management code nito a proper servicemanager. Make service
references managed instead of lazy lookup. Also made events and
serializable use service manager instead of their respective systems for
management
Diffstat (limited to 'modules/encryption/old.cpp')
-rw-r--r-- | modules/encryption/old.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/modules/encryption/old.cpp b/modules/encryption/old.cpp index 4e3e70f7d..fc4598887 100644 --- a/modules/encryption/old.cpp +++ b/modules/encryption/old.cpp @@ -12,12 +12,15 @@ #include "module.h" #include "modules/encryption.h" -static ServiceReference<Encryption::Provider> md5("Encryption::Provider", "md5"); - class OldMD5Provider : public Encryption::Provider { + ServiceReference<Encryption::Provider> md5; + public: - OldMD5Provider(Module *creator) : Encryption::Provider(creator, "oldmd5") { } + OldMD5Provider(Module *creator) : Encryption::Provider(creator, "oldmd5") + , md5("md5") + { + } Encryption::Context *CreateContext(Encryption::IV *iv) override { @@ -39,12 +42,16 @@ class EOld : public Module , public EventHook<Event::CheckAuthentication> { OldMD5Provider oldmd5provider; + ServiceReference<Encryption::Provider> md5; inline static char XTOI(char c) { return c > 9 ? c - 'A' + 10 : c - '0'; } public: EOld(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, ENCRYPTION | VENDOR) + , EventHook<Event::Encrypt>(this) + , EventHook<Event::CheckAuthentication>(this) , oldmd5provider(this) + , md5("md5") { if (ModuleManager::FindFirstOf(ENCRYPTION) == this) throw ModuleException("enc_old is deprecated and can not be used as a primary encryption method"); |