00001 #ifndef __MODE_H
00002 #define __MODE_H
00003
00004
00005
00006 #include <typeinfo>
00007 #include <iostream>
00008 #include <string>
00009 #include <deque>
00010 #include <sstream>
00011 #include <vector>
00012 #include "users.h"
00013 #include "channels.h"
00014
00015
00016 char* give_ops(userrec *user,char *dest,chanrec *chan,int status);
00017 char* give_hops(userrec *user,char *dest,chanrec *chan,int status);
00018 char* give_voice(userrec *user,char *dest,chanrec *chan,int status);
00019 char* take_ops(userrec *user,char *dest,chanrec *chan,int status);
00020 char* take_hops(userrec *user,char *dest,chanrec *chan,int status);
00021 char* take_voice(userrec *user,char *dest,chanrec *chan,int status);
00022 char* add_ban(userrec *user,char *dest,chanrec *chan,int status);
00023 char* take_ban(userrec *user,char *dest,chanrec *chan,int status);
00024 void process_modes(char **parameters,userrec* user,chanrec *chan,int status, int pcnt, bool servermode, bool silent, bool local);
00025 bool allowed_umode(char umode, char* sourcemodes,bool adding);
00026 bool process_module_umode(char umode, userrec* source, void* dest, bool adding);
00027 void handle_mode(char **parameters, int pcnt, userrec *user);
00028 void server_mode(char **parameters, int pcnt, userrec *user);
00029 void merge_mode(char **parameters, int pcnt);
00030 void merge_mode2(char **parameters, int pcnt, userrec* user);
00031
00032
00033 #endif