]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/usermanager.h
Remove more classbase
[user/henk/code/inspircd.git] / include / usermanager.h
index a6b5f74e4fbde68a165825a77725131be4036f7c..4c1f9424883688222fd2a07b6f43e9f057a8a714 100644 (file)
 /** A list of ip addresses cross referenced against clone counts */
 typedef std::map<irc::string, unsigned int> clonemap;
 
-class CoreExport UserManager : public Extensible
+class CoreExport UserManager
 {
  private:
-       InspIRCd *ServerInstance;
-
        /** Map of local ip addresses for clone counting
         */
        clonemap local_clones;
  public:
-       UserManager(InspIRCd *Instance) : ServerInstance(Instance)
-       {
-       }
-
        ~UserManager()
        {
                for (user_hash::iterator i = clientlist->begin();i != clientlist->end();i++)
@@ -39,6 +33,8 @@ class CoreExport UserManager : public Extensible
                        delete i->second;
                }
                clientlist->clear();
+               delete clientlist;
+               delete uuidlist;
        }
 
        /** Client list, a hash_map containing all clients, local and remote
@@ -73,18 +69,18 @@ class CoreExport UserManager : public Extensible
         * initialize it as not yet registered, and add it to the socket engine.
         * @param Instance a pointer to the server instance
         * @param socket The socket id (file descriptor) this user is on
-        * @param iscached This variable is reserved for future use
+        * @param via The socket that this user connected using
         * @param client The IP address and client port of the user
         * @param server The server IP address and port used by the user
         * @return This function has no return value, but a call to AddClient may remove the user.
         */
-       void AddUser(InspIRCd* Instance, int socket, bool iscached, irc::sockets::sockaddrs* client, irc::sockets::sockaddrs* server);
+       void AddUser(int socket, ClientListenSocket* via, irc::sockets::sockaddrs* client, irc::sockets::sockaddrs* server);
 
        /** Disconnect a user gracefully
-        * @param user The user to remove
-        * @param r The quit reason to show to normal users
-        * @param oreason The quit reason to show to opers
-        * @return Although this function has no return type, on exit the user provided will no longer exist.
+        * @param user The user to remove
+        * @param r The quit reason to show to normal users
+        * @param oreason The quit reason to show to opers
+        * @return Although this function has no return type, on exit the user provided will no longer exist.
         */
        void QuitUser(User *user, const std::string &quitreason, const char* operreason = "");