X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=docs%2Fmodule-doc%2Fchannels_8cpp-source.html;h=feec5850bfa99dfd9c1fb38c6840ae827925012f;hb=654ff4ae2f06704de2beb1050021c8196f693cb5;hp=867825333994ad8dd53b2c73bf0f08f6fb505a23;hpb=877a15fc3db18be9131c886720516eae6f582886;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/docs/module-doc/channels_8cpp-source.html b/docs/module-doc/channels_8cpp-source.html index 867825333..feec5850b 100644 --- a/docs/module-doc/channels_8cpp-source.html +++ b/docs/module-doc/channels_8cpp-source.html @@ -1,199 +1,212 @@
-00001 #include "inspircd.h" -00002 #include "inspircd_io.h" -00003 #include "inspircd_util.h" -00004 #include "inspircd_config.h" -00005 #include <unistd.h> -00006 #include <fcntl.h> -00007 #include <sys/errno.h> -00008 #include <sys/ioctl.h> -00009 #include <sys/utsname.h> -00010 #include <cstdio> -00011 #include <time.h> -00012 #include <string> -00013 #ifdef GCC3 -00014 #include <ext/hash_map> -00015 #else -00016 #include <hash_map> -00017 #endif -00018 #include <map> -00019 #include <sstream> -00020 #include <vector> -00021 #include <errno.h> -00022 #include <deque> -00023 #include <errno.h> -00024 #include <unistd.h> -00025 #include <sched.h> -00026 #include "connection.h" -00027 #include "users.h" -00028 #include "servers.h" -00029 #include "ctables.h" -00030 #include "globals.h" -00031 #include "modules.h" -00032 #include "dynamic.h" -00033 #include "wildcard.h" -00034 #include "message.h" -00035 #include "mode.h" -00036 #include "xline.h" -00037 -00038 #ifdef GCC3 -00039 #define nspace __gnu_cxx -00040 #else -00041 #define nspace std -00042 #endif -00043 -00044 using namespace std; -00045 -00046 extern int MODCOUNT; -00047 extern vector<Module*> modules; -00048 extern vector<ircd_module*> factory; -00049 -00050 extern int LogLevel; -00051 extern char ServerName[MAXBUF]; -00052 extern char Network[MAXBUF]; -00053 extern char ServerDesc[MAXBUF]; -00054 extern char AdminName[MAXBUF]; -00055 extern char AdminEmail[MAXBUF]; -00056 extern char AdminNick[MAXBUF]; -00057 extern char diepass[MAXBUF]; -00058 extern char restartpass[MAXBUF]; -00059 extern char motd[MAXBUF]; -00060 extern char rules[MAXBUF]; -00061 extern char list[MAXBUF]; -00062 extern char PrefixQuit[MAXBUF]; -00063 extern char DieValue[MAXBUF]; -00064 -00065 extern int debugging; -00066 extern int WHOWAS_STALE; -00067 extern int WHOWAS_MAX; -00068 extern int DieDelay; -00069 extern time_t startup_time; -00070 extern int NetBufferSize; -00071 int MaxWhoResults; -00072 extern time_t nb_start; -00073 -00074 extern std::vector<int> fd_reap; -00075 extern std::vector<std::string> module_names; -00076 -00077 extern char bannerBuffer[MAXBUF]; -00078 extern int boundPortCount; -00079 extern int portCount; -00080 extern int UDPportCount; -00081 extern int ports[MAXSOCKS]; -00082 extern int defaultRoute; -00083 -00084 extern std::vector<long> auth_cookies; -00085 extern std::stringstream config_f; -00086 -00087 extern serverrec* me[32]; -00088 -00089 extern FILE *log_file; + +Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members+channels.cpp
Go to the documentation of this file.00001 /* +------------------------------------+ +00002 * | Inspire Internet Relay Chat Daemon | +00003 * +------------------------------------+ +00004 * +00005 * Inspire is copyright (C) 2002-2004 ChatSpike-Dev. +00006 * E-mail: +00007 * <brain@chatspike.net> +00008 * <Craig@chatspike.net> +00009 * +00010 * Written by Craig Edwards, Craig McLure, and others. +00011 * This program is free but copyrighted software; see +00012 * the file COPYING for details. +00013 * +00014 * --------------------------------------------------- +00015 */ +00016 +00017 #include "inspircd.h" +00018 #include "inspircd_io.h" +00019 #include "inspircd_util.h" +00020 #include "inspircd_config.h" +00021 #include <unistd.h> +00022 #include <fcntl.h> +00023 #include <sys/errno.h> +00024 #include <sys/ioctl.h> +00025 #include <sys/utsname.h> +00026 #include <cstdio> +00027 #include <time.h> +00028 #include <string> +00029 #ifdef GCC3 +00030 #include <ext/hash_map> +00031 #else +00032 #include <hash_map> +00033 #endif +00034 #include <map> +00035 #include <sstream> +00036 #include <vector> +00037 #include <errno.h> +00038 #include <deque> +00039 #include <errno.h> +00040 #include <unistd.h> +00041 #include <sched.h> +00042 #include "connection.h" +00043 #include "users.h" +00044 #include "servers.h" +00045 #include "ctables.h" +00046 #include "globals.h" +00047 #include "modules.h" +00048 #include "dynamic.h" +00049 #include "wildcard.h" +00050 #include "message.h" +00051 #include "mode.h" +00052 #include "xline.h" +00053 #include "inspstring.h" +00054 +00055 #ifdef GCC3 +00056 #define nspace __gnu_cxx +00057 #else +00058 #define nspace std +00059 #endif +00060 +00061 using namespace std; +00062 +00063 extern int MODCOUNT; +00064 extern std::vector<Module*> modules; +00065 extern std::vector<ircd_module*> factory; +00066 +00067 extern int LogLevel; +00068 extern char ServerName[MAXBUF]; +00069 extern char Network[MAXBUF]; +00070 extern char ServerDesc[MAXBUF]; +00071 extern char AdminName[MAXBUF]; +00072 extern char AdminEmail[MAXBUF]; +00073 extern char AdminNick[MAXBUF]; +00074 extern char diepass[MAXBUF]; +00075 extern char restartpass[MAXBUF]; +00076 extern char motd[MAXBUF]; +00077 extern char rules[MAXBUF]; +00078 extern char list[MAXBUF]; +00079 extern char PrefixQuit[MAXBUF]; +00080 extern char DieValue[MAXBUF]; +00081 +00082 extern int debugging; +00083 extern int WHOWAS_STALE; +00084 extern int WHOWAS_MAX; +00085 extern int DieDelay; +00086 extern time_t startup_time; +00087 extern int NetBufferSize; +00088 int MaxWhoResults; +00089 extern time_t nb_start; 00090 -00091 -00092 using namespace std; +00091 extern std::vector<int> fd_reap; +00092 extern std::vector<std::string> module_names; 00093 -00094 std::vector<ModeParameter> custom_mode_params; -00095 -00096 chanrec::chanrec() -00097 { -00098 strcpy(name,""); -00099 strcpy(custom_modes,""); -00100 strcpy(topic,""); -00101 strcpy(setby,""); -00102 strcpy(key,""); -00103 created = topicset = limit = 0; -00104 topiclock = noexternal = inviteonly = moderated = secret = c_private = false; -00105 } +00094 extern int boundPortCount; +00095 extern int portCount; +00096 extern int UDPportCount; +00097 extern int ports[MAXSOCKS]; +00098 extern int defaultRoute; +00099 +00100 extern std::vector<long> auth_cookies; +00101 extern std::stringstream config_f; +00102 +00103 extern serverrec* me[32]; +00104 +00105 extern FILE *log_file; 00106 -00107 void chanrec::SetCustomMode(char mode,bool mode_on) -00108 { -00109 if (mode_on) { -00110 char m[3]; -00111 m[0] = mode; -00112 m[1] = '\0'; -00113 if (!strchr(this->custom_modes,mode)) -00114 { -00115 strncat(custom_modes,m,MAXMODES); -00116 } -00117 log(DEBUG,"Custom mode %c set",mode); -00118 } -00119 else { -00120 char temp[MAXBUF]; -00121 int count = 0; -00122 for (int q = 0; q < strlen(custom_modes); q++) { -00123 if (custom_modes[q] != mode) { -00124 temp[count++] = mode; -00125 } -00126 } -00127 temp[count] = '\0'; -00128 strncpy(custom_modes,temp,MAXMODES); -00129 log(DEBUG,"Custom mode %c removed",mode); -00130 this->SetCustomModeParam(mode,"",false); -00131 } -00132 } -00133 -00134 -00135 void chanrec::SetCustomModeParam(char mode,char* parameter,bool mode_on) -00136 { +00107 extern time_t TIME; +00108 +00109 using namespace std; +00110 +00111 std::vector<ModeParameter> custom_mode_params; +00112 +00113 chanrec::chanrec() +00114 { +00115 strcpy(name,""); +00116 strcpy(custom_modes,""); +00117 strcpy(topic,""); +00118 strcpy(setby,""); +00119 strcpy(key,""); +00120 created = topicset = limit = 0; +00121 topiclock = noexternal = inviteonly = moderated = secret = c_private = false; +00122 } +00123 +00124 void chanrec::SetCustomMode(char mode,bool mode_on) +00125 { +00126 if (mode_on) { +00127 char m[3]; +00128 m[0] = mode; +00129 m[1] = '\0'; +00130 if (!strchr(this->custom_modes,mode)) +00131 { +00132 strlcat(custom_modes,m,MAXMODES); +00133 } +00134 log(DEBUG,"Custom mode %c set",mode); +00135 } +00136 else { 00137 -00138 log(DEBUG,"SetCustomModeParam called"); -00139 ModeParameter M; -00140 M.mode = mode; -00141 strcpy(M.channel,this->name); -00142 strcpy(M.parameter,parameter); -00143 if (mode_on) -00144 { -00145 log(DEBUG,"Custom mode parameter %c %s added",mode,parameter); -00146 custom_mode_params.push_back(M); -00147 } -00148 else -00149 { -00150 if (custom_mode_params.size()) -00151 { -00152 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++) -00153 { -00154 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel))) -00155 { -00156 log(DEBUG,"Custom mode parameter %c %s removed",mode,parameter); -00157 custom_mode_params.erase(i); -00158 return; -00159 } -00160 } -00161 } -00162 log(DEBUG,"*** BUG *** Attempt to remove non-existent mode parameter!"); -00163 } -00164 } -00165 -00166 bool chanrec::IsCustomModeSet(char mode) -00167 { -00168 log(DEBUG,"Checking ISCustomModeSet: %c %s",mode,this->custom_modes); -00169 return (strchr(this->custom_modes,mode) != 0); -00170 } -00171 -00172 std::string chanrec::GetModeParameter(char mode) -00173 { -00174 if (custom_mode_params.size()) -00175 { -00176 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++) -00177 { -00178 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel))) -00179 { -00180 return std::string(i->parameter); -00181 } -00182 } -00183 } -00184 return std::string(""); -00185 } -
Generated on Sat May 1 17:50:06 2004 for InspIRCd by +00138 std::string a = this->custom_modes; +00139 int pos = a.find(mode); +00140 a.erase(pos,1); +00141 strncpy(this->custom_modes,a.c_str(),MAXMODES); +00142 +00143 log(DEBUG,"Custom mode %c removed: modelist='%s'",mode,this->custom_modes); +00144 this->SetCustomModeParam(mode,"",false); +00145 } +00146 } +00147 +00148 +00149 void chanrec::SetCustomModeParam(char mode,char* parameter,bool mode_on) +00150 { +00151 +00152 log(DEBUG,"SetCustomModeParam called"); +00153 ModeParameter M; +00154 M.mode = mode; +00155 strlcpy(M.channel,this->name,CHANMAX); +00156 strlcpy(M.parameter,parameter,MAXBUF); +00157 if (mode_on) +00158 { +00159 log(DEBUG,"Custom mode parameter %c %s added",mode,parameter); +00160 custom_mode_params.push_back(M); +00161 } +00162 else +00163 { +00164 if (custom_mode_params.size()) +00165 { +00166 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++) +00167 { +00168 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel))) +00169 { +00170 log(DEBUG,"Custom mode parameter %c %s removed",mode,parameter); +00171 custom_mode_params.erase(i); +00172 return; +00173 } +00174 } +00175 } +00176 log(DEBUG,"*** BUG *** Attempt to remove non-existent mode parameter!"); +00177 } +00178 } +00179 +00180 bool chanrec::IsCustomModeSet(char mode) +00181 { +00182 log(DEBUG,"Checking ISCustomModeSet: %c %s",mode,this->custom_modes); +00183 return (strchr(this->custom_modes,mode) != 0); +00184 } +00185 +00186 std::string chanrec::GetModeParameter(char mode) +00187 { +00188 if (custom_mode_params.size()) +00189 { +00190 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++) +00191 { +00192 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel))) +00193 { +00194 return std::string(i->parameter); +00195 } +00196 } +00197 } +00198 return std::string(""); +00199 } +