aboutsummaryrefslogtreecommitdiffstats
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
authorGravatar Attila Molnar2014-06-13 15:59:37 +0200
committerGravatar Attila Molnar2014-06-13 15:59:37 +0200
commitc35089b8cfd108ccfb85077f74236e704ba7cf55 (patch)
tree52401c4466a401ed640aef1fd6d7c653dbe17880 /src/inspircd.cpp
parentm_spanningtree Change allocation of the specialized ProtocolInterface to be p... (diff)
downloadinspircd++-c35089b8cfd108ccfb85077f74236e704ba7cf55.tar.gz
inspircd++-c35089b8cfd108ccfb85077f74236e704ba7cf55.tar.bz2
inspircd++-c35089b8cfd108ccfb85077f74236e704ba7cf55.zip
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/inspircd.cpp')
-rw-r--r--src/inspircd.cpp6
1 files changed, 1 insertions, 5 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;