X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fconfigreader.h;h=a46f9cf95ce2bb5b370f0b85062bb2fa7538d069;hb=96d96c48bf5fcc1c6478f4631818e2af0ceed721;hp=ee58c3bc9232502f3c807f02b39b66b9bb0fed8e;hpb=6d39615998dee7b30565d34a9f209b569678fb6a;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/configreader.h b/include/configreader.h index ee58c3bc9..a46f9cf95 100644 --- a/include/configreader.h +++ b/include/configreader.h @@ -58,7 +58,7 @@ class CoreExport ConfigTag : public refcountbase * @param max Maximum acceptable value (optional) * @return The duration in seconds */ - time_t getDuration(const std::string& key, time_t def = 0, long min = LONG_MIN, long max = LONG_MAX); + long getDuration(const std::string& key, long def = 0, long min = LONG_MIN, long max = LONG_MAX); /** Get the value of an option * @param key The option to get @@ -225,10 +225,10 @@ class CoreExport ServerConfig , Log(LOG_PATH) , Module(MOD_PATH) { } - std::string PrependConfig(const std::string& fn) const { return ServerConfig::ExpandPath(Config, fn); } - std::string PrependData(const std::string& fn) const { return ServerConfig::ExpandPath(Data, fn); } - std::string PrependLog(const std::string& fn) const { return ServerConfig::ExpandPath(Log, fn); } - std::string PrependModule(const std::string& fn) const { return ServerConfig::ExpandPath(Module, fn); } + std::string PrependConfig(const std::string& fn) const { return FileSystem::ExpandPath(Config, fn); } + std::string PrependData(const std::string& fn) const { return FileSystem::ExpandPath(Data, fn); } + std::string PrependLog(const std::string& fn) const { return FileSystem::ExpandPath(Log, fn); } + std::string PrependModule(const std::string& fn) const { return FileSystem::ExpandPath(Module, fn); } }; /** Get a configuration tag @@ -507,11 +507,14 @@ class CoreExport ServerConfig */ bool FullHostInTopic; - /** Oper block and type index. - * For anonymous oper blocks (type only), prefix with a space. + /** Oper blocks keyed by their name */ OperIndex oper_blocks; + /** Oper types keyed by their name + */ + OperIndex OperTypes; + /** Max channels per user */ unsigned int MaxChans; @@ -548,30 +551,8 @@ class CoreExport ServerConfig void Fill(); - /** Returns true if the given string starts with a windows drive letter - */ - static bool StartsWithWindowsDriveLetter(const std::string& path); - bool ApplyDisabledCommands(const std::string& data); - /** Clean a filename, stripping the directories (and drives) from string. - * @param name Directory to tidy - * @return The cleaned filename - */ - static const char* CleanFilename(const char* name); - - /** Check if a file exists. - * @param file The full path to a file - * @return True if the file exists and is readable. - */ - static bool FileExists(const char* file); - - /** Expands a path fragment to a full path. - * @param base The base path to expand from - * @param fragment The path fragment to expand on top of base. - */ - static std::string ExpandPath(const std::string& base, const std::string& fragment); - /** Escapes a value for storage in a configuration key. * @param str The string to escape. * @param xml Are we using the XML config format? @@ -611,3 +592,14 @@ class CoreExport ConfigReaderThread : public Thread void Finish(); bool IsDone() { return done; } }; + +class CoreExport ConfigStatus +{ + public: + User* const srcuser; + + ConfigStatus(User* user = NULL) + : srcuser(user) + { + } +};