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/xmlrpc.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/xmlrpc.cpp')
-rw-r--r-- | modules/xmlrpc.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/modules/xmlrpc.cpp b/modules/xmlrpc.cpp index 4dbfa0497..928929904 100644 --- a/modules/xmlrpc.cpp +++ b/modules/xmlrpc.cpp @@ -191,6 +191,7 @@ class MyXMLRPCServiceInterface : public XMLRPCServiceInterface, public HTTPPage class ModuleXMLRPC : public Module { ServiceReference<HTTPProvider> httpref; + public: MyXMLRPCServiceInterface xmlrpcinterface; @@ -210,9 +211,12 @@ class ModuleXMLRPC : public Module { if (httpref) httpref->UnregisterPage(&xmlrpcinterface); - this->httpref = ServiceReference<HTTPProvider>("HTTPProvider", conf->GetModule(this)->Get<Anope::string>("server", "httpd/main")); + + this->httpref = ServiceReference<HTTPProvider>(conf->GetModule(this)->Get<Anope::string>("server", "httpd/main")); + if (!httpref) throw ConfigException("Unable to find http reference, is m_httpd loaded?"); + httpref->RegisterPage(&xmlrpcinterface); } }; |