]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/treeserver.cpp
Make User::uuid and User::server const
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / treeserver.cpp
index 5c7162094738724e5f8832e1be4260b645f7bf08..38d91f54cbf695f43b4e81716bde634d17c2c1bd 100644 (file)
@@ -27,7 +27,7 @@
  * no socket associated with it. Its version string is our own local version.
  */
 TreeServer::TreeServer(SpanningTreeUtilities* Util, std::string Name, std::string Desc, const std::string &id)
-                                               : ServerName(Name.c_str()), ServerDesc(Desc), Utils(Util)
+       : ServerName(Name.c_str()), ServerDesc(Desc), Utils(Util), ServerUser(ServerInstance->FakeClient)
 {
        age = ServerInstance->Time();
        bursting = false;
@@ -48,7 +48,7 @@ TreeServer::TreeServer(SpanningTreeUtilities* Util, std::string Name, std::strin
  * its ping counters so that it will be pinged one minute from now.
  */
 TreeServer::TreeServer(SpanningTreeUtilities* Util, std::string Name, std::string Desc, const std::string &id, TreeServer* Above, TreeSocket* Sock, bool Hide)
-       : Parent(Above), ServerName(Name.c_str()), ServerDesc(Desc), Socket(Sock), Utils(Util), Hidden(Hide)
+       : Parent(Above), ServerName(Name.c_str()), ServerDesc(Desc), Socket(Sock), Utils(Util), ServerUser(new FakeUser(id, Name)), Hidden(Hide)
 {
        age = ServerInstance->Time();
        bursting = true;
@@ -350,10 +350,19 @@ bool TreeServer::Tidy()
        return true;
 }
 
+CullResult TreeServer::cull()
+{
+       if (ServerUser != ServerInstance->FakeClient)
+               ServerUser->cull();
+       return classbase::cull();
+}
+
 TreeServer::~TreeServer()
 {
        /* We'd better tidy up after ourselves, eh? */
        this->DelHashEntry();
+       if (ServerUser != ServerInstance->FakeClient)
+               delete ServerUser;
 
        server_hash::iterator iter = Utils->sidlist.find(GetID());
        if (iter != Utils->sidlist.end())