X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=sidebyside;f=include%2Fconfigreader.h;h=66f7920be7471b6d9f0ad4c9513e407c6506f3b9;hb=c05f81cac83e80c7727594e3929e0709eccca689;hp=e1f9f01ba11bfafbff0275ed041820c945793ba3;hpb=4f9abe96a4301a740d4a5fd7932550d88d60a3fc;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/configreader.h b/include/configreader.h index e1f9f01ba..66f7920be 100644 --- a/include/configreader.h +++ b/include/configreader.h @@ -5,13 +5,14 @@ * Copyright (C) 2018 Chris Novakovic * Copyright (C) 2013-2014, 2016 Attila Molnar * Copyright (C) 2013 Daniel Vassdal - * Copyright (C) 2012-2014, 2016-2019 Sadie Powell + * Copyright (C) 2012-2014, 2016-2021 Sadie Powell * Copyright (C) 2012, 2019 Robby * Copyright (C) 2009-2010 Daniel De Graaf * Copyright (C) 2008 Thomas Stagner * Copyright (C) 2007-2008 Robin Burchell - * Copyright (C) 2007-2008 Craig Edwards * Copyright (C) 2007 Dennis Friis + * Copyright (C) 2006-2008 Craig Edwards + * Copyright (C) 2006 Oliver Lupton * * This file is part of InspIRCd. InspIRCd is free software: you can * redistribute it and/or modify it under the terms of the GNU General Public @@ -29,14 +30,7 @@ #pragma once -#include -#include -#include -#include #include "inspircd.h" -#include "modules.h" -#include "socketengine.h" -#include "socket.h" #include "token_list.h" /** Structure representing a single \ in config */ @@ -95,6 +89,8 @@ class CoreExport ConfigTag : public refcountbase class ServerLimits { public: + /** Maximum line length */ + size_t MaxLine; /** Maximum nickname length */ size_t NickMax; /** Maximum channel length */ @@ -113,8 +109,6 @@ class ServerLimits size_t MaxReal; /** Maximum away message length */ size_t MaxAway; - /** Maximum line length */ - size_t MaxLine; /** Maximum hostname length */ size_t MaxHost; @@ -250,12 +244,16 @@ class CoreExport ServerConfig /** Module path */ std::string Module; + /** Runtime path */ + std::string Runtime; + ServerPaths(ConfigTag* tag); 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); } + std::string PrependRuntime(const std::string& fn) const { return FileSystem::ExpandPath(Runtime, fn); } }; /** Holds a complete list of all connect blocks @@ -434,7 +432,7 @@ class CoreExport ServerConfig */ unsigned int OperMaxChans; - /** TS6-like server ID. + /** Unique server ID. * NOTE: 000...999 are usable for InspIRCd servers. This * makes code simpler. 0AA, 1BB etc with letters are reserved * for services use. @@ -451,6 +449,12 @@ class CoreExport ServerConfig */ const std::string& GetSID() const { return sid; } + /** Retrieves the server name which should be shown to users. */ + const std::string& GetServerName() const { return HideServer.empty() ? ServerName : HideServer; } + + /** Retrieves the server description which should be shown to users. */ + const std::string& GetServerDesc() const { return HideServer.empty() ? ServerDesc : HideServer; } + /** Read the entire configuration into memory * and initialize this class. All other methods * should be used only by the core.