X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Finspircd.h;h=d045b347b6ddf59539a22a17d66b9cf0a989f5e8;hb=ad47ea662698e72ff8f79b03512b1e7fe81bdf53;hp=4845a777ef483a5c9b7ee7a43a9f76d867b67b58;hpb=e0cb6bd46fb1d804ad6adea5688c844f7e1a0f6f;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/inspircd.h b/include/inspircd.h index 4845a777e..d045b347b 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -49,10 +49,12 @@ CoreExport extern InspIRCd* ServerInstance; #include "config.h" +#include "dynref.h" #include "consolecolors.h" #include "caller.h" #include "cull_list.h" #include "extensible.h" +#include "fileutils.h" #include "numerics.h" #include "uid.h" #include "users.h" @@ -244,7 +246,6 @@ DEFINE_HANDLER1(IsNickHandler, bool, const std::string&); DEFINE_HANDLER2(GenRandomHandler, void, char*, size_t); DEFINE_HANDLER1(IsIdentHandler, bool, const std::string&); DEFINE_HANDLER1(IsChannelHandler, bool, const std::string&); -DEFINE_HANDLER1(RehashHandler, void, const std::string&); DEFINE_HANDLER3(OnCheckExemptionHandler, ModResult, User*, Channel*, const std::string&); /** The main class of the irc server. @@ -265,11 +266,6 @@ class CoreExport InspIRCd */ bool DaemonSeed(); - /** Iterate the list of BufferedSocket objects, removing ones which have timed out - * @param TIME the current time - */ - void DoSocketTimeouts(time_t TIME); - /** The current time, updated in the mainloop */ struct timespec TIME; @@ -300,7 +296,6 @@ class CoreExport InspIRCd IsIdentHandler HandleIsIdent; OnCheckExemptionHandler HandleOnCheckExemption; IsChannelHandler HandleIsChannel; - RehashHandler HandleRehash; GenRandomHandler HandleGenRandom; /** Globally accessible fake user record. This is used to force mode changes etc across s2s, etc.. bit ugly, but.. better than how this was done in 1.1 @@ -406,7 +401,7 @@ class CoreExport InspIRCd /** Holds extensible for user operquit */ - LocalStringExt OperQuit; + StringExtItem OperQuit; /** Manages the generation and transmission of ISUPPORT. */ ISupportManager ISupport; @@ -483,14 +478,10 @@ class CoreExport InspIRCd caller1 IsChannel; /** Return true if str looks like a server ID - * @param string to check against + * @param sid string to check against */ static bool IsSID(const std::string& sid); - /** Rehash the local server - */ - caller1 Rehash; - /** Handles incoming signals after being set * @param signal the signal recieved */ @@ -514,9 +505,9 @@ class CoreExport InspIRCd */ static void QuickExit(int status); - /** Printf-wrapper. - * @param How you want it formatted - * @param ... + /** Formats the input string with the specified arguments. + * @param formatString The string to format + * @param ... A variable number of format arguments. * @return The formatted string */ static const char* Format(const char* formatString, ...) CUSTOM_PRINTF(1, 2); @@ -544,23 +535,14 @@ class CoreExport InspIRCd */ caller1 IsIdent; - /** Add a command to this server's command parser - * @param f A Command command handler object to add - * @throw ModuleException Will throw ModuleExcption if the command already exists - */ - inline void AddCommand(Command *f) - { - Modules->AddService(*f); - } - /** 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 * @param mask The glob pattern to match against. * @param map The character map to use when matching. */ - static bool Match(const std::string &str, const std::string &mask, unsigned const char *map = NULL); - static bool Match(const char *str, const char *mask, unsigned const char *map = NULL); + static bool Match(const std::string& str, const std::string& mask, unsigned const char* map = NULL); + static bool Match(const char* str, const char* mask, unsigned const char* map = NULL); /** 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. @@ -569,8 +551,8 @@ class CoreExport InspIRCd * @param mask The glob or CIDR pattern to match against. * @param map The character map to use when matching. */ - static bool MatchCIDR(const std::string &str, const std::string &mask, unsigned const char *map = NULL); - static bool MatchCIDR(const char *str, const char *mask, unsigned const char *map = NULL); + static bool MatchCIDR(const std::string& str, const std::string& mask, unsigned const char* map = NULL); + static bool MatchCIDR(const char* str, const char* mask, unsigned const char* map = NULL); /** Matches a hostname and IP against a space delimited list of hostmasks. * @param masks The space delimited masks to match against. @@ -583,7 +565,7 @@ class CoreExport InspIRCd * @param mask A nick!user\@host masak to match against * @return True i the mask is valid */ - bool IsValidMask(const std::string &mask); + static bool IsValidMask(const std::string& mask); /** Strips all color codes from the given string * @param sentence The string to strip from @@ -596,8 +578,9 @@ class CoreExport InspIRCd static void ProcessColors(file_cache& input); /** Rehash the local server + * @param uuid The uuid of the user who started the rehash, can be empty */ - void RehashServer(); + void Rehash(const std::string& uuid = ""); /** Check if the given nickmask matches too many users, send errors to the given user * @param nick A nickmask to match against @@ -694,14 +677,6 @@ class CoreExport InspIRCd */ caller3 OnCheckExemption; - /** Restart the server. - * This function will not return. If an error occurs, - * it will throw an instance of CoreException. - * @param reason The restart reason to show to all clients - * @throw CoreException An instance of CoreException indicating the error from execv(). - */ - void Restart(const std::string &reason); - /** Prepare the ircd for restart or shutdown. * This function unloads all modules which can be unloaded, * closes all open sockets, and closes the logfile. @@ -710,7 +685,7 @@ class CoreExport InspIRCd /** Return a time_t as a human-readable string. */ - std::string TimeString(time_t curtime); + static std::string TimeString(time_t curtime); /** Begin execution of the server. * NOTE: this function NEVER returns. Internally, @@ -735,11 +710,6 @@ class CommandModule : public Module { } - void init() - { - ServerInstance->Modules->AddService(cmd); - } - Version GetVersion() { return Version(cmd.name, VF_VENDOR|VF_CORE);