* ---------------------------------------------------
*/
-#include "inspircd_config.h"
-#include "channels.h"
-#include "inspstring.h"
-#include "connection.h"
+#ifndef __USERS_H__
+#define __USERS_H__
+
#include <string>
+
#ifdef THREADED_DNS
#include <pthread.h>
#endif
-
-#ifndef __USERS_H__
-#define __USERS_H__
+#include "inspircd_config.h"
+#include "socket.h"
+#include "channels.h"
+#include "inspstring.h"
+#include "connection.h"
#include "hashcomp.h"
#include "cull_list.h"
*/
typedef std::vector<ConnectClass> ClassVector;
+/** Typedef for the list of user-channel records for a user
+ */
+typedef std::vector<ucrec*> UserChanList;
+
/** Holds all information about a user
* This class stores all information about a user connected to the irc server. Everything about a
* connection is stored here primarily, from the user's socket ID (file descriptor) through to the
/** The host displayed to non-opers (used for cloaking etc).
* This usually matches the value of userrec::host.
*/
- char dhost[64];
+ char dhost[65];
/** The users full name.
*/
*/
char modebits;
- std::vector<ucrec*> chans;
+ UserChanList chans;
/** The server the user is connected to.
*/
bool DoClass(const char* tag, char** entries, void** values, int* types);
bool DoneClassesAndTypes(const char* tag);
+long FindMatchingGlobal(userrec* user);
+long FindMatchingLocal(userrec* user);
+
#endif