]> 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 3a9e151507b9b79ca2be8e372fe46d599cde8a0f..4c1f9424883688222fd2a07b6f43e9f057a8a714 100644 (file)
@@ -2,8 +2,8 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * See: http://wiki.inspircd.org/Credits
  *
  * This program is free but copyrighted software; see
  *         the file COPYING for details.
 /** A list of ip addresses cross referenced against clone counts */
 typedef std::map<irc::string, unsigned int> clonemap;
 
-class CoreExport UserManager : public classbase
+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++)
@@ -40,6 +33,8 @@ class CoreExport UserManager : public classbase
                        delete i->second;
                }
                clientlist->clear();
+               delete clientlist;
+               delete uuidlist;
        }
 
        /** Client list, a hash_map containing all clients, local and remote
@@ -74,18 +69,18 @@ class CoreExport UserManager : public classbase
         * 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 port The port number this user connected on
-        * @param iscached This variable is reserved for future use
-        * @param ip The IP address of the user
+        * @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, int port, bool iscached, int socketfamily, sockaddr* ip, const std::string &targetip);
+       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 = "");
 
@@ -100,7 +95,7 @@ class CoreExport UserManager : public classbase
        void AddGlobalClone(User *user);
 
        /** Remove all clone counts from the user, you should
-        * use this if you change the user's IP address 
+        * use this if you change the user's IP address
         * after they have registered.
         * @param user The user to remove
         */