]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/mode.h
Decide that it wasn't quite appropriate :(
[user/henk/code/inspircd.git] / include / mode.h
index e63d9de6ecbf2f86c295d93a27d323a447bc1e04..3ad34ed7116f8221661d6e4d17619eacca455725 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  Inspire is copyright (C) 2002-2005 ChatSpike-Dev.
+ *  InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
  *                       E-mail:
  *                <brain@chatspike.net>
  *               <Craig@chatspike.net>
 #include <vector>
 #include "users.h"
 #include "channels.h"
+#include "ctables.h"
 
-char* give_ops(userrec *user,char *dest,chanrec *chan,int status);
-char* give_hops(userrec *user,char *dest,chanrec *chan,int status);
-char* give_voice(userrec *user,char *dest,chanrec *chan,int status);
-char* take_ops(userrec *user,char *dest,chanrec *chan,int status);
-char* take_hops(userrec *user,char *dest,chanrec *chan,int status);
-char* take_voice(userrec *user,char *dest,chanrec *chan,int status);
-char* add_ban(userrec *user,char *dest,chanrec *chan,int status);
-char* take_ban(userrec *user,char *dest,chanrec *chan,int status);
-void process_modes(char **parameters,userrec* user,chanrec *chan,int status, int pcnt, bool servermode, bool silent, bool local);
-bool allowed_umode(char umode, char* sourcemodes,bool adding);
-bool process_module_umode(char umode, userrec* source, void* dest, bool adding);
-void handle_mode(char **parameters, int pcnt, userrec *user);
-void server_mode(char **parameters, int pcnt, userrec *user);
-void merge_mode(char **parameters, int pcnt);
-void merge_mode2(char **parameters, int pcnt, userrec* user);
+class ModeParser
+{
+ private:
+       char* GiveOps(userrec *user,char *dest,chanrec *chan,int status);
+       char* GiveHops(userrec *user,char *dest,chanrec *chan,int status);
+       char* GiveVoice(userrec *user,char *dest,chanrec *chan,int status);
+       char* TakeOps(userrec *user,char *dest,chanrec *chan,int status);
+       char* TakeHops(userrec *user,char *dest,chanrec *chan,int status);
+       char* TakeVoice(userrec *user,char *dest,chanrec *chan,int status);
+       char* AddBan(userrec *user,char *dest,chanrec *chan,int status);
+       char* TakeBan(userrec *user,char *dest,chanrec *chan,int status);
+ public:
+       std::string CompressModes(std::string modes,bool channelmodes);
+       void ProcessModes(char **parameters,userrec* user,chanrec *chan,int status, int pcnt, bool servermode, bool silent, bool local);
+       bool AllowedUmode(char umode, char* sourcemodes,bool adding,bool serveroverride);
+       bool ProcessModuleUmode(char umode, userrec* source, void* dest, bool adding);
+       void ServerMode(char **parameters, int pcnt, userrec *user);
+};
 
+class cmd_mode : public command_t
+{
+ public:
+       cmd_mode () : command_t("MODE",0,1) { }
+       void Handle(char **parameters, int pcnt, userrec *user);
+};
 
 #endif