]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/treeserver.h
Sync helpop chmodes s and p with docs
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / treeserver.h
index f75adf54c9a65510f77441c41ee0e569554fcdd0..753a7bc131000b28ad2ea75bee079a19a5f3420b 100644 (file)
@@ -1,9 +1,14 @@
 /*
  * InspIRCd -- Internet Relay Chat Daemon
  *
+ *   Copyright (C) 2017 B00mX0r <b00mx0r@aureus.pw>
+ *   Copyright (C) 2013, 2017, 2019 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2012-2015 Attila Molnar <attilamolnar@hush.com>
+ *   Copyright (C) 2012, 2019 Robby <robby@chatbelgie.be>
+ *   Copyright (C) 2009-2010 Daniel De Graaf <danieldg@inspircd.org>
  *   Copyright (C) 2008 Robin Burchell <robin+git@viroteck.net>
+ *   Copyright (C) 2007, 2010 Craig Edwards <brain@inspircd.org>
  *   Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
- *   Copyright (C) 2007 Craig Edwards <craigedwards@brainbox.cc>
  *
  * 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
@@ -48,9 +53,9 @@ class TreeServer : public Server
        /** Full version string including patch version and other info
         */
        std::string fullversion;
+       std::string rawversion;
 
        TreeSocket* Socket;                     /* Socket used to communicate with this server */
-       std::string sid;                        /* Server ID */
 
        /** Counter counting how many servers are bursting in front of this server, including
         * this server. Set to parents' value on construction then it is increased if the
@@ -74,7 +79,7 @@ class TreeServer : public Server
 
        /** Used by SQuit logic to recursively remove servers
         */
-       void SQuitInternal(unsigned int& num_lost_servers);
+       void SQuitInternal(unsigned int& num_lost_servers, bool error);
 
        /** Remove the reference to this server from the hash maps
         */
@@ -103,15 +108,17 @@ class TreeServer : public Server
        /** SQuit a server connected to this server, removing the given server and all servers behind it
         * @param server Server to squit, must be directly below this server
         * @param reason Reason for quitting the server, sent to opers and other servers
+        * @param error Whether the server is being squit because of an error.
         */
-       void SQuitChild(TreeServer* server, const std::string& reason);
+       void SQuitChild(TreeServer* server, const std::string& reason, bool error = false);
 
        /** SQuit this server, removing this server and all servers behind it
         * @param reason Reason for quitting the server, sent to opers and other servers
+        * @param error Whether the server is being squit because of an error.
         */
-       void SQuit(const std::string& reason)
+       void SQuit(const std::string& reason, bool error = false)
        {
-               GetParent()->SQuitChild(this, reason);
+               GetParent()->SQuitChild(this, reason, error);
        }
 
        static unsigned int QuitUsers(const std::string& reason);
@@ -144,11 +151,15 @@ class TreeServer : public Server
         */
        const std::string& GetFullVersion() const { return fullversion; }
 
+       /** Get the raw version string of this server
+        */
+       const std::string& GetRawVersion() const { return rawversion; }
+
        /** Round trip time of last ping
         */
        unsigned long rtt;
 
-       /** When we recieved BURST from this server, used to calculate total burst time at ENDBURST.
+       /** When we received BURST from this server, used to calculate total burst time at ENDBURST.
         */
        uint64_t StartBurst;
 
@@ -175,6 +186,10 @@ class TreeServer : public Server
         */
        void SetFullVersion(const std::string& verstr) { fullversion = verstr; }
 
+       /** Set the raw version string
+        */
+       void SetRawVersion(const std::string& verstr) { rawversion = verstr; }
+
        /** Sets the description of this server. Called when the description of a remote server changes
         * and we are notified about it.
         * @param descstr The description to set
@@ -185,10 +200,6 @@ class TreeServer : public Server
         */
        const ChildServers& GetChildren() const { return Children; }
 
-       /** Get server ID
-        */
-       const std::string& GetID() const { return sid; }
-
        /** Marks a server as having finished bursting and performs appropriate actions.
         */
        void FinishBurst();