summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-02-02 20:55:16 +0000
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-02-02 20:55:16 +0000
commitdd98d56cabcd08a3d5207454e002b187af98d28a (patch)
treeeb1eda174686679b500dee7d9f35a8c67a15971e /include
parent0808eb7a9dd3b339f5b37f0ee67c5253ccbc2956 (diff)
Move some stuff to usermanager, remove a little header insanity, remove trace because it's still less useful than a chocolate fireman.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8790 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'include')
-rw-r--r--include/command_parse.h1
-rw-r--r--include/inspircd.h69
-rw-r--r--include/typedefs.h12
-rw-r--r--include/usermanager.h54
4 files changed, 67 insertions, 69 deletions
diff --git a/include/command_parse.h b/include/command_parse.h
index 93a36885c..c2fa78177 100644
--- a/include/command_parse.h
+++ b/include/command_parse.h
@@ -16,7 +16,6 @@
#include <string>
#include "ctables.h"
-#include "typedefs.h"
/** Required forward declaration
*/
diff --git a/include/inspircd.h b/include/inspircd.h
index fb6b313a2..d78e25b48 100644
--- a/include/inspircd.h
+++ b/include/inspircd.h
@@ -25,15 +25,20 @@
#undef ERROR
#endif
+// Required system headers.
#include <time.h>
-#include <string>
-#include <sstream>
-#include <list>
+#include <stdarg.h>
+
+
+//#include <string>
+//#include <sstream>
#include "inspircd_config.h"
#include "uid.h"
#include "users.h"
-#include "usermanager.h"
#include "channels.h"
+#include "hashcomp.h"
+#include "typedefs.h"
+#include "usermanager.h"
#include "socket.h"
#include "mode.h"
#include "socketengine.h"
@@ -358,11 +363,6 @@ class CoreExport InspIRCd : public classbase
*/
void BuildISupport();
- /** Number of unregistered users online right now.
- * (Unregistered means before USER/NICK/dns)
- */
- int unregistered_count;
-
/** List of server names we've seen.
*/
servernamelist servernames;
@@ -410,27 +410,6 @@ class CoreExport InspIRCd : public classbase
*/
SnomaskManager* SNO;
- /** Client list, a hash_map containing all clients, local and remote
- */
- user_hash* clientlist;
-
- /** Client list stored by UUID. Contains all clients, and is updated
- * automatically by the constructor and destructor of User.
- */
- user_hash* uuidlist;
-
- /** Channel list, a hash_map containing all channels
- */
- chan_hash* chanlist;
-
- /** Local client list, a vector containing only local clients
- */
- std::vector<User*> local_users;
-
- /** Oper list, a vector containing all local and remote opered users
- */
- std::list<User*> all_opers;
-
/** DNS class, provides resolver facilities to the core and modules
*/
DNS* Res;
@@ -447,6 +426,10 @@ class CoreExport InspIRCd : public classbase
*/
UserManager *Users;
+ /** Channel list, a hash_map containing all channels XXX move to channel manager class
+ */
+ chan_hash* chanlist;
+
/** Set to the current signal recieved
*/
int s_signal;
@@ -466,10 +449,6 @@ class CoreExport InspIRCd : public classbase
* @return The old time delta
*/
int SetTimeDelta(int delta);
-
- /** Number of users with a certain mode set on them
- */
- int ModeCount(const char mode);
/** Get the time offset in seconds
* @return The current time delta (in seconds)
@@ -580,28 +559,6 @@ class CoreExport InspIRCd : public classbase
*/
void CloseLog();
- /** Send a server notice to all local users
- * @param text The text format string to send
- * @param ... The format arguments
- */
- void ServerNoticeAll(char* text, ...);
-
- /** Send a server message (PRIVMSG) to all local users
- * @param text The text format string to send
- * @param ... The format arguments
- */
- void ServerPrivmsgAll(char* text, ...);
-
- /** Send text to all users with a specific set of modes
- * @param modes The modes to check against, without a +, e.g. 'og'
- * @param flags one of WM_OR or WM_AND. If you specify WM_OR, any one of the
- * mode characters in the first parameter causes receipt of the message, and
- * if you specify WM_OR, all the modes must be present.
- * @param text The text format string to send
- * @param ... The format arguments
- */
- void WriteMode(const char* modes, int flags, const char* text, ...);
-
/** Return true if a channel name is valid
* @param chname A channel name to verify
* @return True if the name is valid
diff --git a/include/typedefs.h b/include/typedefs.h
index 44d24b1f6..2a98da4ae 100644
--- a/include/typedefs.h
+++ b/include/typedefs.h
@@ -14,18 +14,6 @@
#ifndef __TYPEDEF_H__
#define __TYPEDEF_H__
-
-#include <string>
-#include "inspircd_config.h"
-#include "hash_map.h"
-#include "users.h"
-#include "channels.h"
-#include "hashcomp.h"
-#include "inspstring.h"
-#include "ctables.h"
-#include "modules.h"
-#include "globals.h"
-
#ifndef WIN32
/** User hash (POSIX systems with GCC)
*/
diff --git a/include/usermanager.h b/include/usermanager.h
index f994e9739..33b97129a 100644
--- a/include/usermanager.h
+++ b/include/usermanager.h
@@ -14,6 +14,8 @@
#ifndef __USERMANAGER_H
#define __USERMANAGER_H
+#include <list>
+
/** A list of ip addresses cross referenced against clone counts */
typedef std::map<irc::string, unsigned int> clonemap;
@@ -31,6 +33,29 @@ class CoreExport UserManager : public classbase
ServerInstance = Instance;
}
+
+ /** Client list, a hash_map containing all clients, local and remote
+ */
+ user_hash* clientlist;
+
+ /** Client list stored by UUID. Contains all clients, and is updated
+ * automatically by the constructor and destructor of User.
+ */
+ user_hash* uuidlist;
+
+ /** Local client list, a vector containing only local clients
+ */
+ std::vector<User*> local_users;
+
+ /** Oper list, a vector containing all local and remote opered users
+ */
+ std::list<User*> all_opers;
+
+ /** Number of unregistered users online right now.
+ * (Unregistered means before USER/NICK/dns)
+ */
+ int unregistered_count;
+
/** Map of global ip addresses for clone counting
* XXX - this should be private, but m_clones depends on it currently.
*/
@@ -101,6 +126,35 @@ class CoreExport UserManager : public classbase
* @return The number of local users
*/
unsigned int LocalUserCount();
+
+
+
+
+ /** Number of users with a certain mode set on them
+ */
+ int ModeCount(const char mode);
+
+ /** Send a server notice to all local users
+ * @param text The text format string to send
+ * @param ... The format arguments
+ */
+ void ServerNoticeAll(char* text, ...);
+
+ /** Send a server message (PRIVMSG) to all local users
+ * @param text The text format string to send
+ * @param ... The format arguments
+ */
+ void ServerPrivmsgAll(char* text, ...);
+
+ /** Send text to all users with a specific set of modes
+ * @param modes The modes to check against, without a +, e.g. 'og'
+ * @param flags one of WM_OR or WM_AND. If you specify WM_OR, any one of the
+ * mode characters in the first parameter causes receipt of the message, and
+ * if you specify WM_OR, all the modes must be present.
+ * @param text The text format string to send
+ * @param ... The format arguments
+ */
+ void WriteMode(const char* modes, int flags, const char* text, ...);
};
#endif