diff options
author | Attila Molnar <attilamolnar@hush.com> | 2014-06-13 15:59:37 +0200 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2014-06-13 15:59:37 +0200 |
commit | c35089b8cfd108ccfb85077f74236e704ba7cf55 (patch) | |
tree | 52401c4466a401ed640aef1fd6d7c653dbe17880 /src | |
parent | 6193243e4b9234ba663bb9f0378490ae0e972826 (diff) |
Make the default ProtocolInterface instance part of class InspIRCd
The protocol module no longer has to delete it on load and construct it on
unload, only assign a new value to ServerInstance->PI
Diffstat (limited to 'src')
-rw-r--r-- | src/inspircd.cpp | 6 | ||||
-rw-r--r-- | src/modules/m_spanningtree/main.cpp | 3 |
2 files changed, 2 insertions, 7 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp index cb428c32a..50c79fb7b 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -134,7 +134,6 @@ void InspIRCd::Cleanup() DeleteZero(this->Modules); DeleteZero(this->SNO); DeleteZero(this->Config); - DeleteZero(this->PI); SocketEngine::Deinit(); Logs->CloseLogs(); DeleteZero(this->Logs); @@ -232,6 +231,7 @@ void InspIRCd::WritePID(const std::string &filename) InspIRCd::InspIRCd(int argc, char** argv) : ConfigFileName(INSPIRCD_CONFIG_PATH "/inspircd.conf"), + PI(&DefaultProtocolInterface), /* Functor pointer initialisation. * @@ -256,7 +256,6 @@ InspIRCd::InspIRCd(int argc, char** argv) : // Initialize so that if we exit before proper initialization they're not deleted this->Logs = 0; - this->PI = 0; this->Users = 0; this->Config = 0; this->SNO = 0; @@ -274,9 +273,6 @@ InspIRCd::InspIRCd(int argc, char** argv) : SocketEngine::Init(); - /* Default implementation does nothing */ - this->PI = new ProtocolInterface; - // Create base manager classes early, so nothing breaks this->Users = new UserManager; diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp index 8f0586923..2ab05e014 100644 --- a/src/modules/m_spanningtree/main.cpp +++ b/src/modules/m_spanningtree/main.cpp @@ -86,7 +86,6 @@ void ModuleSpanningTree::init() Utils->TreeRoot = new TreeServer; commands = new SpanningTreeCommands(this); - delete ServerInstance->PI; ServerInstance->PI = &protocolinterface; delete ServerInstance->FakeClient->server; @@ -758,7 +757,7 @@ CullResult ModuleSpanningTree::cull() ModuleSpanningTree::~ModuleSpanningTree() { - ServerInstance->PI = new ProtocolInterface; + ServerInstance->PI = &ServerInstance->DefaultProtocolInterface; Server* newsrv = new Server(ServerInstance->Config->ServerName, ServerInstance->Config->ServerDesc); SetLocalUsersServer(newsrv); |