X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Finspircd.h;h=aa6be2deeb3c3cd25f60137603999828ed89fc90;hb=3624c137a6db85eaab0372550c9dca79d6d21e55;hp=c37658515531ee236e071ce296fe092d4ec9449a;hpb=accccc212cd4f08a3c5532b1ae7a17e76bac8718;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/inspircd.h b/include/inspircd.h index c37658515..aa6be2dee 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -74,11 +74,6 @@ CoreExport extern InspIRCd* ServerInstance; #include "inspstring.h" #include "protocol.h" -/** - * Used to define the maximum number of parameters a command may have. - */ -#define MAXPARAMETERS 127 - /** Returned by some functions to indicate failure. */ #define ERROR -1 @@ -87,20 +82,19 @@ CoreExport extern InspIRCd* ServerInstance; */ template inline std::string ConvNumeric(const T &in) { - if (in == 0) return "0"; - char res[MAXBUF]; - char* out = res; + if (in == 0) + return "0"; T quotient = in; - while (quotient) { - *out = "0123456789"[ std::abs( (long)quotient % 10 ) ]; - ++out; + std::string out; + while (quotient) + { + out += "0123456789"[ std::abs( (long)quotient % 10 ) ]; quotient /= 10; } if (in < 0) - *out++ = '-'; - *out = 0; - std::reverse(res,out); - return res; + out += '-'; + std::reverse(out.begin(), out.end()); + return out; } /** Template function to convert any input type to std::string @@ -246,10 +240,10 @@ public: void SendTo(LocalUser* user); }; -DEFINE_HANDLER2(IsNickHandler, bool, const std::string&, size_t); +DEFINE_HANDLER1(IsNickHandler, bool, const std::string&); DEFINE_HANDLER2(GenRandomHandler, void, char*, size_t); DEFINE_HANDLER1(IsIdentHandler, bool, const std::string&); -DEFINE_HANDLER2(IsChannelHandler, bool, const std::string&, size_t); +DEFINE_HANDLER1(IsChannelHandler, bool, const std::string&); DEFINE_HANDLER1(RehashHandler, void, const std::string&); DEFINE_HANDLER3(OnCheckExemptionHandler, ModResult, User*, Channel*, const std::string&); @@ -276,16 +270,6 @@ class CoreExport InspIRCd */ void DoSocketTimeouts(time_t TIME); - /** Perform background user events such as PING checks - */ - void DoBackgroundUserStuff(); - - /** Returns true when all modules have done pre-registration checks on a user - * @param user The user to verify - * @return True if all modules have finished checking this user - */ - bool AllModulesReportReady(LocalUser* user); - /** The current time, updated in the mainloop */ struct timespec TIME; @@ -324,8 +308,6 @@ class CoreExport InspIRCd */ FakeUser* FakeClient; - static const char LogHeader[]; - /** Find a user in the UUID hash * @param uid The UUID to find * @return A pointer to the user, or NULL if the user does not exist @@ -417,10 +399,6 @@ class CoreExport InspIRCd */ ProtocolInterface* PI; - /** Holds extensible for user nickforced - */ - LocalIntExt NICKForced; - /** Holds extensible for user operquit */ LocalStringExt OperQuit; @@ -498,18 +476,11 @@ class CoreExport InspIRCd */ void CheckRoot(); - /** Determine the right path for, and open, the logfile - * @param argv The argv passed to main() initially, used to calculate program path - * @param argc The argc passed to main() initially, used to calculate program path - * @return True if the log could be opened, false if otherwise - */ - bool OpenLog(char** argv, int argc); - /** Return true if a channel name is valid * @param chname A channel name to verify * @return True if the name is valid */ - caller2 IsChannel; + caller1 IsChannel; /** Return true if str looks like a server ID * @param string to check against @@ -541,12 +512,21 @@ class CoreExport InspIRCd /** Causes the server to exit immediately with exit code 0. * The status code is required for signal handlers, and ignored. */ + + /** Printf-wrapper. + * @param How you want it formatted + * @param ... + * @return The formatted string + */ + static const char* Format(const char* formatString, ...) CUSTOM_PRINTF(1, 2); + static const char* Format(va_list &vaList, const char* formatString) CUSTOM_PRINTF(2, 0); + static void QuickExit(int status); /** Return a count of channels on the network * @return The number of channels */ - long ChannelCount(); + long ChannelCount() const { return chanlist->size(); } /** Send an error notice to all local users, opered and unopered * @param s The error string to send @@ -557,7 +537,7 @@ class CoreExport InspIRCd * @param n A nickname to verify * @return True if the nick is valid */ - caller2 IsNick; + caller1 IsNick; /** Return true if an ident is valid * @param An ident to verify @@ -574,22 +554,6 @@ class CoreExport InspIRCd Modules->AddService(*f); } - /** Send a modechange. - * The parameters provided are identical to that sent to the - * handler for class cmd_mode. - * @param parameters The mode parameters - * @param user The user to send error messages to - */ - void SendMode(const std::vector& parameters, User *user); - - /** Send a modechange and route it to the network. - * The parameters provided are identical to that sent to the - * handler for class cmd_mode. - * @param parameters The mode parameters - * @param user The user to send error messages to - */ - void SendGlobalMode(const std::vector& parameters, User *user); - /** Match two strings using pattern matching, optionally, with a map * to check case against (may be NULL). If map is null, match will be case insensitive. * @param str The literal string to match against