diff options
-rw-r--r-- | include/inspircd.h | 10 | ||||
-rw-r--r-- | include/typedefs.h | 1 | ||||
-rw-r--r-- | src/inspircd.cpp | 27 |
3 files changed, 25 insertions, 13 deletions
diff --git a/include/inspircd.h b/include/inspircd.h index 16f767ac3..236f99db0 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -90,10 +90,15 @@ class serverstats } }; -typedef void (handlerfunc) (char**, int, userrec*); + +class InspIRCd +{ + public: + InspIRCd(int argc, char** argv); + int Run(); +}; /* prototypes */ -int InspIRCd(char** argv, int argc); void force_nickchange(userrec* user,const char* newnick); void kill_link(userrec *user,const char* r); void kill_link_silent(userrec *user,const char* r); @@ -118,6 +123,5 @@ std::string GetVersionString(); void* dns_task(void* arg); void process_buffer(const char* cmdbuf,userrec *user); void FullConnectUser(userrec* user); -chanrec* ForceChan(chanrec* Ptr,ucrec &a,userrec* user, int created); #endif diff --git a/include/typedefs.h b/include/typedefs.h index 05cf9e8db..558a93757 100644 --- a/include/typedefs.h +++ b/include/typedefs.h @@ -25,5 +25,6 @@ typedef std::deque<command_t> command_table; typedef std::vector<std::string> servernamelist; typedef std::vector<ExtMode> ExtModeList; typedef ExtModeList::iterator ExtModeListIter; +typedef void (handlerfunc) (char**, int, userrec*); #endif diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 0da0f580c..60e0c11bd 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -428,7 +428,7 @@ void kill_link_silent(userrec *user,const char* r) } -int main(int argc, char** argv) +InspIRCd::InspIRCd(int argc, char** argv) { Start(); srand(time(NULL)); @@ -468,14 +468,7 @@ int main(int argc, char** argv) lowermap[(unsigned)']'] = '}'; lowermap[(unsigned)'\\'] = '|'; - if (InspIRCd(argv,argc) == ERROR) - { - log(DEFAULT,"main: daemon function bailed"); - printf("ERROR: could not initialise. Shutting down.\n"); - Exit(ERROR); - } - Exit(TRUE); - return 0; + return; } template<typename T> inline string ConvToStr(const T &in) @@ -1543,7 +1536,7 @@ int BindPorts() return boundPortCount; } -int InspIRCd(char** argv, int argc) +int InspIRCd::Run() { bool expire_run = false; std::vector<int> activefds; @@ -1753,3 +1746,17 @@ int InspIRCd(char** argv, int argc) return 0; } +/**********************************************************************************/ + +/** + * An ircd in four lines! bwahahaha. ahahahahaha. ahahah *cough*. + */ + +int main(int argc, char** argv) +{ + InspIRCd TittyBiscuits = new InspIRCd(argc, argv); + TittyBiscuits->Run(); + delete TittyBiscuits; + return 0; +} + |