#include "hashcomp.h"
#include "cull_list.h"
-
-#define STATUS_OP 4
-#define STATUS_HOP 2
-#define STATUS_VOICE 1
-#define STATUS_NORMAL 0
-#define CC_ALLOW 0
-#define CC_DENY 1
+enum ChanStatus {
+ STATUS_OP = 4,
+ STATUS_HOP = 2,
+ STATUS_VOICE = 1,
+ STATUS_NORMAL = 0
+};
-template<typename T> string ConvToStr(const T &in);
+enum ClassTypes {
+ CC_ALLOW = 0,
+ CC_DENY = 1
+};
/** Holds a channel name to which a user has been invited.
*/
typedef std::deque<WhoWasGroup*> whowas_set;
typedef std::map<irc::string,whowas_set*> whowas_users;
-/** A lightweight userrec used by WHOWAS
- */
-
void AddOper(userrec* user);
void DeleteOper(userrec* user);
void kill_link(userrec *user,const char* r);
void FullConnectUser(userrec* user, CullList* Goners);
userrec* ReHashNick(char* Old, char* New);
void force_nickchange(userrec* user,const char* newnick);
-void ReadClassesAndTypes();
+
+/* Configuration callbacks */
+bool InitTypes(const char* tag);
+bool InitClasses(const char* tag);
+bool DoType(const char* tag, char** entries, void** values, int* types);
+bool DoClass(const char* tag, char** entries, void** values, int* types);
+bool DoneClassesAndTypes(const char* tag);
#endif