From dd98d56cabcd08a3d5207454e002b187af98d28a Mon Sep 17 00:00:00 2001 From: w00t Date: Sat, 2 Feb 2008 20:55:16 +0000 Subject: 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 --- include/command_parse.h | 1 - include/inspircd.h | 69 ++++++++++--------------------------------------- include/typedefs.h | 12 --------- include/usermanager.h | 54 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 67 insertions(+), 69 deletions(-) (limited to 'include') 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 #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 -#include -#include -#include +#include + + +//#include +//#include #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 local_users; - - /** Oper list, a vector containing all local and remote opered users - */ - std::list 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 -#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 + /** A list of ip addresses cross referenced against clone counts */ typedef std::map 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 local_users; + + /** Oper list, a vector containing all local and remote opered users + */ + std::list 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 -- cgit v1.2.3