]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/configreader.h
Move linuxdaemon and Sheogorath to former contributors.
[user/henk/code/inspircd.git] / include / configreader.h
index 5a775a016eb1f6c4ba386495ad0cc29083b881ed..8a548fcbfef8e0724a0610ad977e1c6b6cc1ea52 100644 (file)
@@ -5,7 +5,7 @@
  *   Copyright (C) 2018 Chris Novakovic <chrisnovakovic@users.noreply.github.com>
  *   Copyright (C) 2013-2014, 2016 Attila Molnar <attilamolnar@hush.com>
  *   Copyright (C) 2013 Daniel Vassdal <shutter@canternet.org>
- *   Copyright (C) 2012-2014, 2016-2019 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2012-2014, 2016-2020 Sadie Powell <sadie@witchery.services>
  *   Copyright (C) 2012, 2019 Robby <robby@chatbelgie.be>
  *   Copyright (C) 2009-2010 Daniel De Graaf <danieldg@inspircd.org>
  *   Copyright (C) 2008 Thomas Stagner <aquanight@inspircd.org>
@@ -95,6 +95,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 +115,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 +250,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
@@ -313,12 +317,12 @@ class CoreExport ServerConfig
        CommandLineConf cmdline;
 
        /** Clones CIDR range for ipv4 (0-32)
-        * Defaults to 32 (checks clones on all IPs seperately)
+        * Defaults to 32 (checks clones on all IPs separately)
         */
        unsigned char c_ipv4_range;
 
        /** Clones CIDR range for ipv6 (0-128)
-        * Defaults to 128 (checks on all IPs seperately)
+        * Defaults to 128 (checks on all IPs separately)
         */
        unsigned char c_ipv6_range;
 
@@ -332,7 +336,7 @@ class CoreExport ServerConfig
        std::string XLineMessage;
 
        /* Holds the network name the local server
-        * belongs to. This is an arbitary field defined
+        * belongs to. This is an arbitrary field defined
         * by the administrator.
         */
        std::string Network;
@@ -451,6 +455,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.