X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_spanningtree%2Ftreeserver.h;h=2a96012e32bd24a1861a05d0abb8a67b1094d03f;hb=41026088e7c894bdbdd8cd6bdcb16bd0f8cb5e7f;hp=d8d3b70e8d8ba1c3681919d106d1b736246e4406;hpb=728a907e887406df109f37e68cafbb3abd2a02e4;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_spanningtree/treeserver.h b/src/modules/m_spanningtree/treeserver.h index d8d3b70e8..2a96012e3 100644 --- a/src/modules/m_spanningtree/treeserver.h +++ b/src/modules/m_spanningtree/treeserver.h @@ -43,6 +43,13 @@ class TreeServer : public classbase time_t NextPing; /* After this time, the server should be PINGed*/ bool LastPingWasGood; /* True if the server responded to the last PING with a PONG */ SpanningTreeUtilities* Utils; /* Utility class */ + std::string sid; /* Server ID */ + + /** Set server ID + * @param id Server ID + * @throws CoreException on duplicate ID + */ + void SetID(const std::string &id); public: @@ -51,19 +58,19 @@ class TreeServer : public classbase /** We don't use this constructor. Its a dummy, and won't cause any insertion * of the TreeServer into the hash_map. See below for the two we DO use. */ - TreeServer(SpanningTreeUtilities* Util, InspIRCd* Instance); + TreeServer(SpanningTreeUtilities* Util, InspIRCd* Instance, const std::string &id); /** We use this constructor only to create the 'root' item, Utils->TreeRoot, which * represents our own server. Therefore, it has no route, no parent, and * no socket associated with it. Its version string is our own local version. */ - TreeServer(SpanningTreeUtilities* Util, InspIRCd* Instance, std::string Name, std::string Desc); + TreeServer(SpanningTreeUtilities* Util, InspIRCd* Instance, std::string Name, std::string Desc, const std::string &id); /** When we create a new server, we call this constructor to initialize it. * This constructor initializes the server's Route and Parent, and sets up * its ping counters so that it will be pinged one minute from now. */ - TreeServer(SpanningTreeUtilities* Util, InspIRCd* Instance, std::string Name, std::string Desc, TreeServer* Above, TreeSocket* Sock, bool Hide); + TreeServer(SpanningTreeUtilities* Util, InspIRCd* Instance, std::string Name, std::string Desc, const std::string &id, TreeServer* Above, TreeSocket* Sock, bool Hide); int QuitUsers(const std::string &reason); @@ -181,6 +188,10 @@ class TreeServer : public classbase */ bool Tidy(); + /** Get server ID + */ + std::string& GetID(); + /** Destructor */ ~TreeServer();