]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - docs/module-doc/channels_8cpp-source.html
Re-added the dot graphs again
[user/henk/code/inspircd.git] / docs / module-doc / channels_8cpp-source.html
index 70440fd36b658fa8bb40f3b59a16a76af4999d63..6d616f6f1b429721036c21462f50dff5e410a96d 100644 (file)
 00093 
 <a name="l00094"></a><a class="code" href="channels_8cpp.html#a28">00094</a> <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#a28">boundPortCount</a>;
 <a name="l00095"></a><a class="code" href="channels_8cpp.html#a29">00095</a> <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#a29">portCount</a>;
-<a name="l00096"></a><a class="code" href="channels_8cpp.html#a30">00096</a> <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#a30">UDPportCount</a>;
+<a name="l00096"></a><a class="code" href="channels_8cpp.html#a30">00096</a> <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#a30">SERVERportCount</a>;
 <a name="l00097"></a><a class="code" href="channels_8cpp.html#a31">00097</a> <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#a31">ports</a>[MAXSOCKS];
 <a name="l00098"></a><a class="code" href="channels_8cpp.html#a32">00098</a> <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#a32">defaultRoute</a>;
 00099 
 00104 
 <a name="l00105"></a><a class="code" href="channels_8cpp.html#a36">00105</a> <span class="keyword">extern</span> FILE *<a class="code" href="channels_8cpp.html#a36">log_file</a>;
 00106 
-00107 
-00108 <span class="keyword">using</span> <span class="keyword">namespace </span>std;
-00109 
-<a name="l00110"></a><a class="code" href="channels_8cpp.html#a37">00110</a> std::vector&lt;ModeParameter&gt; <a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>;
-00111 
-<a name="l00112"></a><a class="code" href="classchanrec.html#a4">00112</a> <a class="code" href="classchanrec.html#a4">chanrec::chanrec</a>()
-00113 {
-00114         strcpy(<a class="code" href="classchanrec.html#o0">name</a>,<span class="stringliteral">""</span>);
-00115         strcpy(<a class="code" href="classchanrec.html#o1">custom_modes</a>,<span class="stringliteral">""</span>);
-00116         strcpy(<a class="code" href="classchanrec.html#o2">topic</a>,<span class="stringliteral">""</span>);
-00117         strcpy(<a class="code" href="classchanrec.html#o5">setby</a>,<span class="stringliteral">""</span>);
-00118         strcpy(<a class="code" href="classchanrec.html#o7">key</a>,<span class="stringliteral">""</span>);
-00119         <a class="code" href="classchanrec.html#o3">created</a> = <a class="code" href="classchanrec.html#o4">topicset</a> = <a class="code" href="classchanrec.html#o6">limit</a> = 0;
-00120         <a class="code" href="classchanrec.html#o8">topiclock</a> = <a class="code" href="classchanrec.html#o9">noexternal</a> = <a class="code" href="classchanrec.html#o10">inviteonly</a> = <a class="code" href="classchanrec.html#o11">moderated</a> = <a class="code" href="classchanrec.html#o12">secret</a> = <a class="code" href="classchanrec.html#o13">c_private</a> = <span class="keyword">false</span>;
-00121 }
-00122 
-<a name="l00123"></a><a class="code" href="classchanrec.html#a0">00123</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a0">chanrec::SetCustomMode</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">bool</span> mode_on)
-00124 {
-00125         <span class="keywordflow">if</span> (mode_on) {
-00126                 <span class="keywordtype">char</span> m[3];
-00127                 m[0] = mode;
-00128                 m[1] = <span class="charliteral">'\0'</span>;
-00129                 <span class="keywordflow">if</span> (!strchr(this-&gt;custom_modes,mode))
-00130                 {
-00131                         strlcat(<a class="code" href="classchanrec.html#o1">custom_modes</a>,m,MAXMODES);
-00132                 }
-00133                 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Custom mode %c set"</span>,mode);
-00134         }
-00135         <span class="keywordflow">else</span> {
-00136 
-00137                 std::string a = this-&gt;<a class="code" href="classchanrec.html#o1">custom_modes</a>;
-00138                 <span class="keywordtype">int</span> pos = a.find(mode);
-00139                 a.erase(pos,1);
-00140                 strncpy(this-&gt;custom_modes,a.c_str(),MAXMODES);
-00141 
-00142                 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Custom mode %c removed: modelist='%s'"</span>,mode,this-&gt;custom_modes);
-00143                 this-&gt;<a class="code" href="classchanrec.html#a1">SetCustomModeParam</a>(mode,<span class="stringliteral">""</span>,<span class="keyword">false</span>);
-00144         }
-00145 }
-00146 
-00147 
-<a name="l00148"></a><a class="code" href="classchanrec.html#a1">00148</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a1">chanrec::SetCustomModeParam</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">char</span>* parameter,<span class="keywordtype">bool</span> mode_on)
-00149 {
-00150 
-00151         log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"SetCustomModeParam called"</span>);
-00152         <a class="code" href="classModeParameter.html">ModeParameter</a> M;
-00153         M.<a class="code" href="classModeParameter.html#o0">mode</a> = mode;
-00154         strlcpy(M.<a class="code" href="classModeParameter.html#o2">channel</a>,this-&gt;name,CHANMAX);
-00155         strlcpy(M.<a class="code" href="classModeParameter.html#o1">parameter</a>,parameter,MAXBUF);
-00156         <span class="keywordflow">if</span> (mode_on)
-00157         {
-00158                 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Custom mode parameter %c %s added"</span>,mode,parameter);
-00159                 <a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.push_back(M);
-00160         }
-00161         <span class="keywordflow">else</span>
-00162         {
-00163                 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.size())
-00164                 {
-00165                         <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.end(); i++)
-00166                         {
-00167                                 <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
-00168                                 {
-00169                                         log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Custom mode parameter %c %s removed"</span>,mode,parameter);
-00170                                         <a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.erase(i);
-00171                                         <span class="keywordflow">return</span>;
-00172                                 }
-00173                         }
-00174                 }
-00175                 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** BUG *** Attempt to remove non-existent mode parameter!"</span>);
-00176         }
-00177 }
-00178 
-<a name="l00179"></a><a class="code" href="classchanrec.html#a2">00179</a> <span class="keywordtype">bool</span> <a class="code" href="classchanrec.html#a2">chanrec::IsCustomModeSet</a>(<span class="keywordtype">char</span> mode)
-00180 {
-00181         log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Checking ISCustomModeSet: %c %s"</span>,mode,this-&gt;custom_modes);
-00182         <span class="keywordflow">return</span> (strchr(this-&gt;custom_modes,mode) != 0);
-00183 }
-00184 
-<a name="l00185"></a><a class="code" href="classchanrec.html#a3">00185</a> std::string <a class="code" href="classchanrec.html#a3">chanrec::GetModeParameter</a>(<span class="keywordtype">char</span> mode)
-00186 {
-00187         <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.size())
-00188         {
-00189                 <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#a37">custom_mode_params</a>.end(); i++)
-00190                 {
-00191                         <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
-00192                         {
-00193                                 <span class="keywordflow">return</span> std::string(i-&gt;parameter);
-00194                         }
-00195                 }
-00196         }
-00197         <span class="keywordflow">return</span> std::string(<span class="stringliteral">""</span>);
-00198 }
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by
+<a name="l00107"></a><a class="code" href="channels_8cpp.html#a37">00107</a> <span class="keyword">extern</span> time_t <a class="code" href="channels_8cpp.html#a37">TIME</a>;
+00108 
+00109 <span class="keyword">using</span> <span class="keyword">namespace </span>std;
+00110 
+<a name="l00111"></a><a class="code" href="channels_8cpp.html#a38">00111</a> std::vector&lt;ModeParameter&gt; <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>;
+00112 
+<a name="l00113"></a><a class="code" href="classchanrec.html#a8">00113</a> <a class="code" href="classchanrec.html#a8">chanrec::chanrec</a>()
+00114 {
+00115         strcpy(<a class="code" href="classchanrec.html#o0">name</a>,<span class="stringliteral">""</span>);
+00116         strcpy(<a class="code" href="classchanrec.html#o1">custom_modes</a>,<span class="stringliteral">""</span>);
+00117         strcpy(<a class="code" href="classchanrec.html#o3">topic</a>,<span class="stringliteral">""</span>);
+00118         strcpy(<a class="code" href="classchanrec.html#o6">setby</a>,<span class="stringliteral">""</span>);
+00119         strcpy(<a class="code" href="classchanrec.html#o8">key</a>,<span class="stringliteral">""</span>);
+00120         <a class="code" href="classchanrec.html#o4">created</a> = <a class="code" href="classchanrec.html#o5">topicset</a> = <a class="code" href="classchanrec.html#o7">limit</a> = 0;
+00121         <a class="code" href="classchanrec.html#o9">binarymodes</a> = 0;
+00122         <a class="code" href="classchanrec.html#o2">internal_userlist</a>.clear();
+00123 }
+00124 
+<a name="l00125"></a><a class="code" href="classchanrec.html#a0">00125</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a0">chanrec::SetCustomMode</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">bool</span> mode_on)
+00126 {
+00127         <span class="keywordflow">if</span> (mode_on) {
+00128                 <span class="keyword">static</span> <span class="keywordtype">char</span> m[3];
+00129                 m[0] = mode;
+00130                 m[1] = <span class="charliteral">'\0'</span>;
+00131                 <span class="keywordflow">if</span> (!strchr(this-&gt;custom_modes,mode))
+00132                 {
+00133                         strlcat(<a class="code" href="classchanrec.html#o1">custom_modes</a>,m,MAXMODES);
+00134                 }
+00135                 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Custom mode %c set"</span>,mode);
+00136         }
+00137         <span class="keywordflow">else</span> {
+00138 
+00139                 std::string a = this-&gt;<a class="code" href="classchanrec.html#o1">custom_modes</a>;
+00140                 <span class="keywordtype">int</span> pos = a.find(mode);
+00141                 a.erase(pos,1);
+00142                 strncpy(this-&gt;custom_modes,a.c_str(),MAXMODES);
+00143 
+00144                 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Custom mode %c removed: modelist='%s'"</span>,mode,this-&gt;custom_modes);
+00145                 this-&gt;<a class="code" href="classchanrec.html#a1">SetCustomModeParam</a>(mode,<span class="stringliteral">""</span>,<span class="keyword">false</span>);
+00146         }
+00147 }
+00148 
+00149 
+<a name="l00150"></a><a class="code" href="classchanrec.html#a1">00150</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a1">chanrec::SetCustomModeParam</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">char</span>* parameter,<span class="keywordtype">bool</span> mode_on)
+00151 {
+00152 
+00153         log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"SetCustomModeParam called"</span>);
+00154         <a class="code" href="classModeParameter.html">ModeParameter</a> M;
+00155         M.<a class="code" href="classModeParameter.html#o0">mode</a> = mode;
+00156         strlcpy(M.<a class="code" href="classModeParameter.html#o2">channel</a>,this-&gt;name,CHANMAX);
+00157         strlcpy(M.<a class="code" href="classModeParameter.html#o1">parameter</a>,parameter,MAXBUF);
+00158         <span class="keywordflow">if</span> (mode_on)
+00159         {
+00160                 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Custom mode parameter %c %s added"</span>,mode,parameter);
+00161                 <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.push_back(M);
+00162         }
+00163         <span class="keywordflow">else</span>
+00164         {
+00165                 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.size())
+00166                 {
+00167                         <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.end(); i++)
+00168                         {
+00169                                 <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
+00170                                 {
+00171                                         log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Custom mode parameter %c %s removed"</span>,mode,parameter);
+00172                                         <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.erase(i);
+00173                                         <span class="keywordflow">return</span>;
+00174                                 }
+00175                         }
+00176                 }
+00177                 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** BUG *** Attempt to remove non-existent mode parameter!"</span>);
+00178         }
+00179 }
+00180 
+<a name="l00181"></a><a class="code" href="classchanrec.html#a2">00181</a> <span class="keywordtype">bool</span> <a class="code" href="classchanrec.html#a2">chanrec::IsCustomModeSet</a>(<span class="keywordtype">char</span> mode)
+00182 {
+00183         log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Checking ISCustomModeSet: %c %s"</span>,mode,this-&gt;custom_modes);
+00184         <span class="keywordflow">return</span> (strchr(this-&gt;custom_modes,mode) != 0);
+00185 }
+00186 
+<a name="l00187"></a><a class="code" href="classchanrec.html#a3">00187</a> std::string <a class="code" href="classchanrec.html#a3">chanrec::GetModeParameter</a>(<span class="keywordtype">char</span> mode)
+00188 {
+00189         <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.size())
+00190         {
+00191                 <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#a38">custom_mode_params</a>.end(); i++)
+00192                 {
+00193                         <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
+00194                         {
+00195                                 <span class="keywordflow">return</span> i-&gt;parameter;
+00196                         }
+00197                 }
+00198         }
+00199         <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
+00200 }
+00201 
+<a name="l00202"></a><a class="code" href="classchanrec.html#a4">00202</a> <span class="keywordtype">long</span> <a class="code" href="classchanrec.html#a4">chanrec::GetUserCounter</a>()
+00203 {
+00204         <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classchanrec.html#o2">internal_userlist</a>.size());
+00205 }
+00206 
+<a name="l00207"></a><a class="code" href="classchanrec.html#a5">00207</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a5">chanrec::AddUser</a>(<span class="keywordtype">char</span>* castuser)
+00208 {
+00209         <a class="code" href="classchanrec.html#o2">internal_userlist</a>.push_back(castuser);
+00210         log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Added casted user to channel's internal list"</span>);
+00211 }
+00212 
+<a name="l00213"></a><a class="code" href="classchanrec.html#a6">00213</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a6">chanrec::DelUser</a>(<span class="keywordtype">char</span>* castuser)
+00214 {
+00215         <span class="keywordflow">for</span> (std::vector&lt;char*&gt;::iterator a = <a class="code" href="classchanrec.html#o2">internal_userlist</a>.begin(); a &lt; <a class="code" href="classchanrec.html#o2">internal_userlist</a>.end(); a++)
+00216         {
+00217                 <span class="keywordflow">if</span> (*a == castuser)
+00218                 {
+00219                         log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Removed casted user from channel's internal list"</span>);
+00220                         <a class="code" href="classchanrec.html#o2">internal_userlist</a>.erase(a);
+00221                         <span class="keywordflow">return</span>;
+00222                 }
+00223         }
+00224         log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"BUG BUG BUG! Attempt to remove an uncasted user from the internal list of %s!"</span>,<a class="code" href="classchanrec.html#o0">name</a>);
+00225 }
+00226 
+<a name="l00227"></a><a class="code" href="classchanrec.html#a7">00227</a> std::vector&lt;char*&gt; *<a class="code" href="classchanrec.html#a7">chanrec::GetUsers</a>()
+00228 {
+00229         <span class="keywordflow">return</span> &amp;<a class="code" href="classchanrec.html#o2">internal_userlist</a>;
+00230 }
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri May 13 01:58:42 2005 for InspIRCd by
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
 </a>1.3.3 </small></address>