From e53c7aa50c815761f84e0ba3a28c0e6e58dc025f Mon Sep 17 00:00:00 2001 From: brain Date: Sat, 1 May 2004 12:43:49 +0000 Subject: [PATCH] Added Module::OnAccessCheck Added ListMode support git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@758 e03df62e-2008-0410-955e-edbf42e46eb7 --- docs/module-doc/annotated.html | 2 +- docs/module-doc/base_8h-source.html | 8 +- docs/module-doc/base_8h.html | 2 +- docs/module-doc/channels_8cpp-source.html | 2 +- docs/module-doc/channels_8cpp.html | 2 +- docs/module-doc/channels_8h-source.html | 2 +- docs/module-doc/channels_8h.html | 2 +- docs/module-doc/classAdmin-members.html | 2 +- docs/module-doc/classAdmin.html | 14 +- docs/module-doc/classBanItem-members.html | 2 +- docs/module-doc/classBanItem.html | 2 +- .../module-doc/classConfigReader-members.html | 2 +- docs/module-doc/classConfigReader.html | 96 +- .../module-doc/classConnectClass-members.html | 2 +- docs/module-doc/classConnectClass.html | 2 +- docs/module-doc/classExemptItem-members.html | 2 +- docs/module-doc/classExemptItem.html | 2 +- docs/module-doc/classExtMode-members.html | 3 +- docs/module-doc/classExtMode.html | 31 +- docs/module-doc/classExtMode__coll__graph.gif | Bin 10335 -> 10477 bytes docs/module-doc/classExtensible-members.html | 4 +- docs/module-doc/classExtensible.html | 14 +- .../classExtensible__coll__graph.gif | Bin 6375 -> 6126 bytes docs/module-doc/classFileReader-members.html | 2 +- docs/module-doc/classFileReader.html | 100 +-- docs/module-doc/classGLine-members.html | 2 +- docs/module-doc/classGLine.html | 2 +- docs/module-doc/classHostItem-members.html | 2 +- docs/module-doc/classHostItem.html | 2 +- docs/module-doc/classInviteItem-members.html | 2 +- docs/module-doc/classInviteItem.html | 2 +- docs/module-doc/classInvited-members.html | 2 +- docs/module-doc/classInvited.html | 2 +- docs/module-doc/classKLine-members.html | 2 +- docs/module-doc/classKLine.html | 2 +- .../classModeParameter-members.html | 2 +- docs/module-doc/classModeParameter.html | 2 +- docs/module-doc/classModule-members.html | 3 +- docs/module-doc/classModule.html | 159 +++- .../classModuleFactory-members.html | 2 +- docs/module-doc/classModuleFactory.html | 12 +- docs/module-doc/classQLine-members.html | 2 +- docs/module-doc/classQLine.html | 2 +- docs/module-doc/classServer-members.html | 36 +- docs/module-doc/classServer.html | 559 +++++++----- docs/module-doc/classVersion-members.html | 2 +- docs/module-doc/classVersion.html | 16 +- docs/module-doc/classXLine-members.html | 2 +- docs/module-doc/classXLine.html | 2 +- docs/module-doc/classZLine-members.html | 2 +- docs/module-doc/classZLine.html | 2 +- docs/module-doc/classchanrec-members.html | 4 +- docs/module-doc/classchanrec.html | 2 +- docs/module-doc/classchanrec__coll__graph.gif | Bin 21868 -> 21679 bytes docs/module-doc/classclassbase-members.html | 2 +- docs/module-doc/classclassbase.html | 2 +- docs/module-doc/classcommand__t-members.html | 4 +- docs/module-doc/classcommand__t.html | 2 +- docs/module-doc/classconnection-members.html | 4 +- docs/module-doc/classconnection.html | 4 +- docs/module-doc/classes.html | 2 +- .../classircd__connector-members.html | 4 +- docs/module-doc/classircd__connector.html | 2 +- docs/module-doc/classpacket-members.html | 2 +- docs/module-doc/classpacket.html | 2 +- docs/module-doc/classserverrec-members.html | 4 +- docs/module-doc/classserverrec.html | 2 +- docs/module-doc/classucrec-members.html | 4 +- docs/module-doc/classucrec.html | 2 +- docs/module-doc/classuserrec-members.html | 4 +- docs/module-doc/classuserrec.html | 68 +- docs/module-doc/commands_8h-source.html | 2 +- docs/module-doc/commands_8h.html | 4 +- docs/module-doc/connection_8h-source.html | 2 +- docs/module-doc/connection_8h.html | 2 +- docs/module-doc/ctables_8h-source.html | 2 +- docs/module-doc/ctables_8h.html | 2 +- docs/module-doc/files.html | 2 +- docs/module-doc/functions.html | 62 +- docs/module-doc/globals.html | 50 +- docs/module-doc/graph_legend.html | 2 +- docs/module-doc/hierarchy.html | 2 +- docs/module-doc/inherits.html | 2 +- docs/module-doc/main.html | 2 +- docs/module-doc/message_8h-source.html | 2 +- docs/module-doc/message_8h.html | 18 +- docs/module-doc/mode_8h-source.html | 4 +- docs/module-doc/mode_8h.html | 2 +- docs/module-doc/modules_8cpp-source.html | 830 +++++++++--------- docs/module-doc/modules_8cpp.html | 270 ++++-- docs/module-doc/modules_8h-source.html | 443 +++++----- docs/module-doc/modules_8h.html | 376 +++++++- docs/module-doc/namespaces.html | 2 +- docs/module-doc/namespacestd.html | 2 +- docs/module-doc/servers_8cpp-source.html | 2 +- docs/module-doc/servers_8cpp.html | 2 +- docs/module-doc/servers_8h-source.html | 2 +- docs/module-doc/servers_8h.html | 2 +- docs/module-doc/users_8cpp-source.html | 70 +- docs/module-doc/users_8cpp.html | 2 +- docs/module-doc/users_8h-source.html | 2 +- docs/module-doc/users_8h.html | 2 +- docs/module-doc/xline_8h-source.html | 2 +- docs/module-doc/xline_8h.html | 2 +- 104 files changed, 2054 insertions(+), 1364 deletions(-) diff --git a/docs/module-doc/annotated.html b/docs/module-doc/annotated.html index 95945ac47..abb0d3b07 100644 --- a/docs/module-doc/annotated.html +++ b/docs/module-doc/annotated.html @@ -38,7 +38,7 @@ XLineXLine is the base class for ban lines such as G lines and K lines ZLineZLine class -
Generated on Fri Apr 30 15:46:31 2004 for InspIRCd by +
Generated on Sat May 1 13:39:09 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/base_8h-source.html b/docs/module-doc/base_8h-source.html index 6e698c0a5..7d9860bf8 100644 --- a/docs/module-doc/base_8h-source.html +++ b/docs/module-doc/base_8h-source.html @@ -31,20 +31,20 @@ 00030 00038 class Extensible : public classbase 00039 { -00042 std::map<std::string,VoidPointer> Extension_Items; +00042 std::map<std::string,char*> Extension_Items; 00043 00044 public: 00045 -00052 bool Extend(std::string key, VoidPointer p); +00052 bool Extend(std::string key, char* p); 00053 00059 bool Shrink(std::string key); 00060 -00065 VoidPointer GetExt(std::string key); +00065 char* GetExt(std::string key); 00066 }; 00067 00068 #endif 00069 -
Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +
Generated on Sat May 1 13:38:59 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/base_8h.html b/docs/module-doc/base_8h.html index 8cc0bcf2c..3aa70b0db 100644 --- a/docs/module-doc/base_8h.html +++ b/docs/module-doc/base_8h.html @@ -59,7 +59,7 @@ This graph shows which files directly or indirectly include this file:

13 of file base.h. -
Generated on Fri Apr 30 15:46:23 2004 for InspIRCd by +
Generated on Sat May 1 13:39:01 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/channels_8cpp-source.html b/docs/module-doc/channels_8cpp-source.html index e3ae0f437..aee88a231 100644 --- a/docs/module-doc/channels_8cpp-source.html +++ b/docs/module-doc/channels_8cpp-source.html @@ -106,7 +106,7 @@ 00098 } 00099 return std::string(""); 00100 } -
Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +
Generated on Sat May 1 13:38:59 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/channels_8cpp.html b/docs/module-doc/channels_8cpp.html index d5dac0da3..45ffc4333 100644 --- a/docs/module-doc/channels_8cpp.html +++ b/docs/module-doc/channels_8cpp.html @@ -55,7 +55,7 @@ Definition at line 10 Referenced by chanrec::GetModeParameter(), and chanrec::SetCustomModeParam(). -
Generated on Fri Apr 30 15:46:23 2004 for InspIRCd by +
Generated on Sat May 1 13:39:01 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/channels_8h-source.html b/docs/module-doc/channels_8h-source.html index a69f69dfa..9812ef9b2 100644 --- a/docs/module-doc/channels_8h-source.html +++ b/docs/module-doc/channels_8h-source.html @@ -129,7 +129,7 @@ 00207 00208 #endif 00209 -
Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +
Generated on Sat May 1 13:38:59 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/channels_8h.html b/docs/module-doc/channels_8h.html index 560b9f7a5..491130e8f 100644 --- a/docs/module-doc/channels_8h.html +++ b/docs/module-doc/channels_8h.html @@ -263,7 +263,7 @@ Holds a complete invite list. Definition at line 77 of file channels.h. -
Generated on Fri Apr 30 15:46:24 2004 for InspIRCd by +
Generated on Sat May 1 13:39:02 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classAdmin-members.html b/docs/module-doc/classAdmin-members.html index deacaca38..1016ac41e 100644 --- a/docs/module-doc/classAdmin-members.html +++ b/docs/module-doc/classAdmin-members.html @@ -14,7 +14,7 @@ NameAdmin NickAdmin ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:32 2004 for InspIRCd by +
Generated on Sat May 1 13:39:10 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classAdmin.html b/docs/module-doc/classAdmin.html index 6e1d3abb7..6682ae817 100644 --- a/docs/module-doc/classAdmin.html +++ b/docs/module-doc/classAdmin.html @@ -35,7 +35,7 @@ It is constructed by class Server, and

-Definition at line 80 of file modules.h.


Constructor & Destructor Documentation

+Definition at line 100 of file modules.h.

Constructor & Destructor Documentation

@@ -79,9 +79,9 @@ Definition at line 80 of

-Definition at line 109 of file modules.cpp. +Definition at line 137 of file modules.cpp.

-

00109 : Name(name), Email(email), Nick(nick) { };
+
00137 : Name(name), Email(email), Nick(nick) { };
 
@@ -107,7 +107,7 @@ Definition at line 109

-Definition at line 83 of file modules.h. +Definition at line 103 of file modules.h.

@@ -131,7 +131,7 @@ Definition at line 83 of

-Definition at line 83 of file modules.h. +Definition at line 103 of file modules.h.

@@ -155,12 +155,12 @@ Definition at line 83 of

-Definition at line 83 of file modules.h. +Definition at line 103 of file modules.h.


The documentation for this class was generated from the following files: -
Generated on Fri Apr 30 15:46:32 2004 for InspIRCd by +
Generated on Sat May 1 13:39:10 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classBanItem-members.html b/docs/module-doc/classBanItem-members.html index 2418b5278..5a4677502 100644 --- a/docs/module-doc/classBanItem-members.html +++ b/docs/module-doc/classBanItem-members.html @@ -15,7 +15,7 @@ set_timeHostItem ~classbase()classbase [inline] ~HostItem()HostItem [inline, virtual] -
Generated on Fri Apr 30 15:46:32 2004 for InspIRCd by +
Generated on Sat May 1 13:39:11 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classBanItem.html b/docs/module-doc/classBanItem.html index a01f2a750..9557c93ac 100644 --- a/docs/module-doc/classBanItem.html +++ b/docs/module-doc/classBanItem.html @@ -31,7 +31,7 @@ A subclass of HostItem designed to h

Definition at line 34 of file channels.h.


The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:32 2004 for InspIRCd by +
Generated on Sat May 1 13:39:11 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classConfigReader-members.html b/docs/module-doc/classConfigReader-members.html index 52675b464..683542e9d 100644 --- a/docs/module-doc/classConfigReader-members.html +++ b/docs/module-doc/classConfigReader-members.html @@ -19,7 +19,7 @@ Verify()ConfigReader ~classbase()classbase [inline] ~ConfigReader()ConfigReader -
Generated on Fri Apr 30 15:46:35 2004 for InspIRCd by +
Generated on Sat May 1 13:39:13 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classConfigReader.html b/docs/module-doc/classConfigReader.html index 0b3e2ad20..34229d103 100644 --- a/docs/module-doc/classConfigReader.html +++ b/docs/module-doc/classConfigReader.html @@ -49,7 +49,7 @@ It may either be instantiated with one parameter or none. Constructing the class

-Definition at line 518 of file modules.h.


Constructor & Destructor Documentation

+Definition at line 588 of file modules.h.

Constructor & Destructor Documentation

@@ -79,14 +79,14 @@ Default constructor.

This constructor initialises the ConfigReader class to read the inspircd.conf file as specified when running ./configure.

-Definition at line 343 of file modules.cpp. +Definition at line 385 of file modules.cpp.

-References cache, and error. +References cache, and error.

-

00344 {
-00345         this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
-00346         this->error = LoadConf(CONFIG_FILE,this->cache);
-00347 }
+
00386 {
+00387         this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
+00388         this->error = LoadConf(CONFIG_FILE,this->cache);
+00389 }
 
@@ -120,14 +120,14 @@ Overloaded constructor.

This constructor initialises the ConfigReader class to read a user-specified config file

-Definition at line 357 of file modules.cpp. +Definition at line 399 of file modules.cpp.

-References cache, and error. +References cache, and error.

-

00358 {
-00359         this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
-00360         this->error = LoadConf(filename.c_str(),this->cache);
-00361 };
+
00400 {
+00401         this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
+00402         this->error = LoadConf(filename.c_str(),this->cache);
+00403 };
 
@@ -160,14 +160,14 @@ Default destructor.

This method destroys the ConfigReader class.

-Definition at line 350 of file modules.cpp. +Definition at line 392 of file modules.cpp.

-References cache. +References cache.

-

00351 {
-00352         if (this->cache)
-00353                 delete this->cache;
-00354 }
+
00393 {
+00394         if (this->cache)
+00395                 delete this->cache;
+00396 }
 
@@ -202,11 +202,11 @@ Counts the number of times a given tag appears in the config file.

This method counts the number of times a tag appears in a config file, for use where there are several tags of the same kind, e.g. with opers and connect types. It can be used with the index value of ConfigReader::ReadValue to loop through all copies of a multiple instance tag.

-Definition at line 375 of file modules.cpp. +Definition at line 417 of file modules.cpp.

-

00376 {
-00377         return EnumConf(cache,tag.c_str());
-00378 }
+
00418 {
+00419         return EnumConf(cache,tag.c_str());
+00420 }
 
@@ -249,11 +249,11 @@ Returns the number of items within a tag.

For example if the tag was <test tag="blah" data="foo"> then this function would return 2. Spaces and newlines both qualify as valid seperators between values.

-Definition at line 380 of file modules.cpp. +Definition at line 422 of file modules.cpp.

-

00381 {
-00382         return EnumValues(cache, tag.c_str(), index);
-00383 }
+
00423 {
+00424         return EnumValues(cache, tag.c_str(), index);
+00425 }
 
@@ -302,17 +302,17 @@ Retrieves a value from the config file.

This method retrieves a value from the config file. Where multiple copies of the tag exist in the config file, index indicates which of the values to retrieve.

-Definition at line 363 of file modules.cpp. -

-

00364 {
-00365         char val[MAXBUF];
-00366         char t[MAXBUF];
-00367         char n[MAXBUF];
-00368         strncpy(t,tag.c_str(),MAXBUF);
-00369         strncpy(n,name.c_str(),MAXBUF);
-00370         ReadConf(cache,t,n,index,val);
-00371         return std::string(val);
-00372 }
+Definition at line 405 of file modules.cpp.
+

+

00406 {
+00407         char val[MAXBUF];
+00408         char t[MAXBUF];
+00409         char n[MAXBUF];
+00410         strncpy(t,tag.c_str(),MAXBUF);
+00411         strncpy(n,name.c_str(),MAXBUF);
+00412         ReadConf(cache,t,n,index,val);
+00413         return std::string(val);
+00414 }
 
@@ -345,13 +345,13 @@ Returns true if a config file is valid.

This method is partially implemented and will only return false if the config file does not exist or could not be opened.

-Definition at line 385 of file modules.cpp. +Definition at line 427 of file modules.cpp.

-References error. +References error.

-

00386 {
-00387         return this->error;
-00388 }
+
00428 {
+00429         return this->error;
+00430 }
 
@@ -379,9 +379,9 @@ The contents of the configuration file This protected member should never be acc

It will contain a pointer to the configuration file data with unneeded data (such as comments) stripped from it.

-Definition at line 526 of file modules.h. +Definition at line 596 of file modules.h.

-Referenced by ConfigReader(), and ~ConfigReader(). +Referenced by ConfigReader(), and ~ConfigReader().

@@ -407,14 +407,14 @@ Used to store errors.

-Definition at line 529 of file modules.h. +Definition at line 599 of file modules.h.

-Referenced by ConfigReader(), and Verify(). +Referenced by ConfigReader(), and Verify().


The documentation for this class was generated from the following files: -
Generated on Fri Apr 30 15:46:35 2004 for InspIRCd by +
Generated on Sat May 1 13:39:13 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classConnectClass-members.html b/docs/module-doc/classConnectClass-members.html index 277cfa703..24b8fde34 100644 --- a/docs/module-doc/classConnectClass-members.html +++ b/docs/module-doc/classConnectClass-members.html @@ -16,7 +16,7 @@ registration_timeoutConnectClass typeConnectClass ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:35 2004 for InspIRCd by +
Generated on Sat May 1 13:39:14 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classConnectClass.html b/docs/module-doc/classConnectClass.html index b3fc93555..e23e9f1ad 100644 --- a/docs/module-doc/classConnectClass.html +++ b/docs/module-doc/classConnectClass.html @@ -212,7 +212,7 @@ Definition at line 39 of fi
The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:35 2004 for InspIRCd by +
Generated on Sat May 1 13:39:14 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classExemptItem-members.html b/docs/module-doc/classExemptItem-members.html index 91fb10549..b36a01af2 100644 --- a/docs/module-doc/classExemptItem-members.html +++ b/docs/module-doc/classExemptItem-members.html @@ -15,7 +15,7 @@ set_timeHostItem ~classbase()classbase [inline] ~HostItem()HostItem [inline, virtual] -
Generated on Fri Apr 30 15:46:37 2004 for InspIRCd by +
Generated on Sat May 1 13:39:15 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classExemptItem.html b/docs/module-doc/classExemptItem.html index fe83ba73f..6c6544ef4 100644 --- a/docs/module-doc/classExemptItem.html +++ b/docs/module-doc/classExemptItem.html @@ -31,7 +31,7 @@ A subclass of HostItem designed to h

Definition at line 42 of file channels.h.


The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:37 2004 for InspIRCd by +
Generated on Sat May 1 13:39:15 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classExtMode-members.html b/docs/module-doc/classExtMode-members.html index 0d1d4a42f..462ff320c 100644 --- a/docs/module-doc/classExtMode-members.html +++ b/docs/module-doc/classExtMode-members.html @@ -10,13 +10,14 @@ ageclassbase classbase()classbase [inline] ExtMode(char mc, int ty, bool oper, int p_on, int p_off)ExtMode [inline] + listExtMode modecharExtMode needsoperExtMode params_when_offExtMode params_when_onExtMode typeExtMode ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:38 2004 for InspIRCd by +
Generated on Sat May 1 13:39:17 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classExtMode.html b/docs/module-doc/classExtMode.html index eaf57547f..751aad764 100644 --- a/docs/module-doc/classExtMode.html +++ b/docs/module-doc/classExtMode.html @@ -24,6 +24,7 @@ int params_when_on int params_when_off bool needsoper +bool list

Constructor & Destructor Documentation

@@ -81,13 +82,37 @@

-Definition at line 29 of file modules.cpp. +Definition at line 30 of file modules.cpp.

-

00029 : modechar(mc), type(ty), needsoper(oper), params_when_on(p_on), params_when_off(p_off) { };
+
00030 : modechar(mc), type(ty), needsoper(oper), params_when_on(p_on), params_when_off(p_off) { };
 

Member Data Documentation

+

+ + + + +
+ + +
bool ExtMode::list +
+
+ + + + + +
+   + + +

+ +

+Definition at line 29 of file modules.cpp.

@@ -210,7 +235,7 @@ Definition at line 25 o


The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:38 2004 for InspIRCd by +
Generated on Sat May 1 13:39:17 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classExtMode__coll__graph.gif b/docs/module-doc/classExtMode__coll__graph.gif index 11260f705190faa03e77ffcb475c865c8d6fef0a..ae929f14e506e0a930156e991942df14565057f5 100644 GIT binary patch delta 2074 zcmY*aZA?>V6h8NIDYvC7mr|r;h;Q4gd?*`i%T|=cw}s7;8CFK-2Tn4Ig8Og+vbc>O z_ZApbC8V`+A+yD z8xN%Li)ZT{Hk5JV-^t@I%|B|s$EewCbu#Gp(jUEz+7)x?Ijw4TwY0iq^Gh==`_8OQ{Kdw6H=uUA% zO>l69iqjL*CIDuvwFc-nfj5S66QlD@lk%c{NIF8YuQUwD<@8m0q#L#Nk_@=f zepbqdjzQZ-dcZ^i=qQn8HBc-T0*b>nV$x_p5T>a}+b%Y0vgEE8Y!2nmtQk42ZC-$Yon(QHih)jqkh6C6imDw zBXOIbh?^6ME7SzPl>(Q@fhDvZ2rl&PzT3C^NUTz!cGG27zh%s7roIuvV#T$Sh&8~Sle zCj|z!hw!3anhs5M>ZF0rZ#R<1ylA7NKn^dgZ#G0uVr&TPG^O)RrO_0k)665jHitvQ zF+j1x?n4Lo?wAYDN~2TJ{xW$A)P(SUtRSlw+^#&+wOc6X-} zfFXlMjHtjJ2n<~sXDH9%$dr)#>a8GlQnvgb5JhenKJ2j3K#>7qgl&^NI~8b3Gkd%) zyF?Y~fYctFj5pe{jv8Jr)t?m}vn@Q}Oj}9VN5myO`QDHrNmI)LDGm}jnE=GNV^|QO zm(Z5M3dXWMd|Xo*AStKy6gdEiD@JelyupdU4POVN`cWR47Jx#$X4+ zYcKU!x|QGGXy2=1(DKSLpS`J}E0@3yNZk;dxgkJM?)T7#(CZsB!Dc6|0KjBoN&B07 zI-@u`=XGM#TObRRAd7z&qwr1E@jssw|71!07scmcLP>-WvJB=dVM=rN7HRlb5?e*f zlKo+|Em7j*NRhD|L%oI}f+pOF@A8(R=oZYf;dZ^|x3D!H9^K9~0<+`pkbRqeEBOeb40ja?)It JT*Sb-{{jCo`~(01 delta 1869 zcmaJ>ZERCj7=G{R-FDkG+u7E#LOMD9fOW#+#(vNuiKnGX7qRKKL>vZWLj;*5Ym0HX z#NL+KjSrV@mn;jGIB=j*hNyrBTpYOZ8OkyPBoGG9Aufm*4eW=B_1xP|${&-PlXK5G z@AE$AeV_B(ues$r@=0-M>-1dhNY^2f6^Z~Ltz1-@*`r$jtQ$FMQ zv86TnwfJ21=Y#fpmrf?v+MNhF-aJ;kVK5cF@KVvkCjg340AIfE@`e>CP8ZPd85t%# zJ7N*)U3Fj5TM9!uJ}|cFnS%@N#)CcU>wBEJY4qfO@Gq5noTPN%QR9g~!m**gXT9O* zV~WoFRT<=Ln^MRl!8`F_;;V%hD>f>j6NeT*_-9*5M%*diq{2FMednDEj=O5LFxjsc zng)&?KRr{8mCXsiadDc^t6jl_<03<3-@-JXBZ0(Lmt2jk)2o^W4m8iCniUTk&sL8r zcN|$cnPMV`=B5g1IJ9d-T;A_@BT$FJzgS9y~xo&x3r10&oAAlG5^Q z^14_C8YDtH`0~Jqf#(AkmRTJXmnkxPaJof3#L{DpkL>&z=~dn)%S(QHGQ+#S)7gMGVeckH*RW$`!Z>%cb22NB1T z4Mm2l8IA}Dsd>@mm2bn|SK{5jeqY=#-zU`SKi;@Qon_}CkjIIFkjDWAHXGu2pkf^m zgh=Xr>D}F`Q)TSBjF9mawgK`{N+?IzbBVuUXwL3#ba4s*&$u&c?VfL8@gYX9i z;My5$u^lLH11pyovO-M7bE2`C$Y=_^WCp)9Jy~2))36|5^DqH6P(DSk@-e+AR^`~U zu!X@ui-x?w9uOe8vFd(RI9|1vi+O5U2V89iUId_AI9@p071E+c#sp`jR3| zY#(;ku3#i(E1p#c9vM5*Mp;vat689z1G67PW4wxKLmg&UO*`e*>5>eCzMUmo8N1!X zUv7pfbZ6CtkNxo}rhwTq=I+eR*ja1qERsfx4dwd(b?;Wl0LQgmHF~M0s5mqoNx8VJ zvgC7y9hUk%rF%YGaN|U=BDvOUgVW=!U)(!!Sd%vECi-an#_`RwpD<+Oa>ZA#9&UXw zIKAfD+pBdm+kgHx_|4`Ui!!}@pS@eL`hnHc<5KP154fasYp!3aA)WG!u$f7jnb^#% z%*=l2+afGASl*LQSlGH%S-1M77F(Y5+B{KSpXZk@&&!rp&hL=_=KG~9LcX-NG$j9( YvKU)uzP4fCPo~EG6Xtb#HxJML3l*26IsgCw diff --git a/docs/module-doc/classExtensible-members.html b/docs/module-doc/classExtensible-members.html index fc7408412..2fb6d28fb 100644 --- a/docs/module-doc/classExtensible-members.html +++ b/docs/module-doc/classExtensible-members.html @@ -9,12 +9,12 @@

Extensible Member List

This is the complete list of members for Extensible, including all inherited members. - + -
ageclassbase
classbase()classbase [inline]
Extend(std::string key, VoidPointer p)Extensible
Extend(std::string key, char *p)Extensible
Extension_ItemsExtensible [private]
GetExt(std::string key)Extensible
Shrink(std::string key)Extensible
~classbase()classbase [inline]

Generated on Fri Apr 30 15:46:38 2004 for InspIRCd by +
Generated on Sat May 1 13:39:16 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classExtensible.html b/docs/module-doc/classExtensible.html index ff602dfad..ee9c6bdde 100644 --- a/docs/module-doc/classExtensible.html +++ b/docs/module-doc/classExtensible.html @@ -29,14 +29,14 @@ Inheritance diagram for Extensible:

[legend]
List of all members. - + - + - +

Public Member Functions

bool Extend (std::string key, VoidPointer p)
bool Extend (std::string key, char *p)
 Extend an Extensible class.

bool Shrink (std::string key)
 Shrink an Extensible class.

VoidPointer GetExt (std::string key)
char * GetExt (std::string key)
 Get an extension item.


Private Attributes

std::map< std::string, VoidPointerExtension_Items
std::map< std::string, char * > Extension_Items
 Private data store.


Detailed Description

@@ -61,7 +61,7 @@ Definition at line 38 of fil - VoidPointer  + char *    p @@ -93,7 +93,7 @@ You must provide a key to store the data as, and a void* to the data (typedef Vo - + @@ -156,7 +156,7 @@ You must provide a key name. The given key name will be removed from the classes @@ -178,7 +178,7 @@ Definition at line 42 of fil
VoidPointer Extensible::GetExt char* Extensible::GetExt std::string    key -
std::map<std::string,VoidPointer> Extensible::Extension_Items [private] + std::map<std::string,char*> Extensible::Extension_Items [private]

The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:38 2004 for InspIRCd by +
Generated on Sat May 1 13:39:16 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classExtensible__coll__graph.gif b/docs/module-doc/classExtensible__coll__graph.gif index 50eece36576983f17f4b08113fca23eb0940402b..3c48427522c296a3032abf3bd63758636358d24d 100644 GIT binary patch literal 6126 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::string filename)FileReader ~classbase()classbase [inline] ~FileReader()FileReader -
Generated on Fri Apr 30 15:46:39 2004 for InspIRCd by +
Generated on Sat May 1 13:39:17 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classFileReader.html b/docs/module-doc/classFileReader.html index aaabafca3..4d53881cf 100644 --- a/docs/module-doc/classFileReader.html +++ b/docs/module-doc/classFileReader.html @@ -37,7 +37,7 @@ Inheritance diagram for FileReader:

FileSize ()  Returns the size of the file in lines.


Private Attributes

-file_cache fc +file_cache fc

Detailed Description

Caches a text file into memory and can be used to retrieve lines from it. @@ -46,7 +46,7 @@ This class contains methods for read-only manipulation of a text file in memory.

-Definition at line 578 of file modules.h.


Constructor & Destructor Documentation

+Definition at line 648 of file modules.h.

Constructor & Destructor Documentation

@@ -76,10 +76,10 @@ Default constructor.

This method does not load any file into memory, you must use the LoadFile method after constructing the class this way.

-Definition at line 398 of file modules.cpp. +Definition at line 440 of file modules.cpp.

-

00399 {
-00400 }
+
00441 {
+00442 }
 
@@ -113,15 +113,15 @@ Secondary constructor.

This method initialises the class with a file loaded into it ready for GetLine and and other methods to be called. If the file could not be loaded, FileReader::FileSize returns 0.

-Definition at line 391 of file modules.cpp. +Definition at line 433 of file modules.cpp.

-References fc, and file_cache. +References fc, and file_cache.

-

00392 {
-00393         file_cache c;
-00394         readfile(c,filename.c_str());
-00395         this->fc = c;
-00396 }
+
00434 {
+00435         file_cache c;
+00436         readfile(c,filename.c_str());
+00437         this->fc = c;
+00438 }
 
@@ -154,10 +154,10 @@ Default destructor.

This deletes the memory allocated to the file.

-Definition at line 410 of file modules.cpp. +Definition at line 452 of file modules.cpp.

-

00411 {
-00412 }
+
00453 {
+00454 }
 
@@ -191,20 +191,20 @@ Returns true if the file exists This function will return false if the file coul

-Definition at line 414 of file modules.cpp. +Definition at line 456 of file modules.cpp.

-References fc. +References fc.

-

00415 {
-00416         if (fc.size() == 0)
-00417         {
-00418                 return(false);
-00419         }
-00420         else
-00421         {
-00422                 return(true);
-00423         }
-00424 }
+
00457 {
+00458         if (fc.size() == 0)
+00459         {
+00460                 return(false);
+00461         }
+00462         else
+00463         {
+00464                 return(true);
+00465         }
+00466 }
 
@@ -237,13 +237,13 @@ Returns the size of the file in lines.

This method returns the number of lines in the read file. If it is 0, no lines have been read into memory, either because the file is empty or it does not exist, or cannot be opened due to permission problems.

-Definition at line 433 of file modules.cpp. +Definition at line 475 of file modules.cpp.

-References fc. +References fc.

-

00434 {
-00435         return fc.size();
-00436 }
+
00476 {
+00477         return fc.size();
+00478 }
 
@@ -277,15 +277,15 @@ Retrieve one line from the file.

This method retrieves one line from the text file. If an empty non-NULL string is returned, the index was out of bounds, or the line had no data on it.

-Definition at line 426 of file modules.cpp. +Definition at line 468 of file modules.cpp.

-References fc. +References fc.

-

00427 {
-00428         if ((x<0) || (x>fc.size()))
-00429                 return "";
-00430         return fc[x];
-00431 }
+
00469 {
+00470         if ((x<0) || (x>fc.size()))
+00471                 return "";
+00472         return fc[x];
+00473 }
 
@@ -319,15 +319,15 @@ Used to load a file.

This method loads a file into the class ready for GetLine and and other methods to be called. If the file could not be loaded, FileReader::FileSize returns 0.

-Definition at line 402 of file modules.cpp. +Definition at line 444 of file modules.cpp.

-References fc, and file_cache. +References fc, and file_cache.

-

00403 {
-00404         file_cache c;
-00405         readfile(c,filename.c_str());
-00406         this->fc = c;
-00407 }
+
00445 {
+00446         file_cache c;
+00447         readfile(c,filename.c_str());
+00448         this->fc = c;
+00449 }
 
@@ -338,7 +338,7 @@ References fc, and -
file_cache FileReader::fc [private] + file_cache FileReader::fc [private]
@@ -353,14 +353,14 @@ References
fc, and

-Definition at line 580 of file modules.h. +Definition at line 650 of file modules.h.

-Referenced by Exists(), FileReader(), FileSize(), GetLine(), and LoadFile(). +Referenced by Exists(), FileReader(), FileSize(), GetLine(), and LoadFile().


The documentation for this class was generated from the following files: -
Generated on Fri Apr 30 15:46:39 2004 for InspIRCd by +
Generated on Sat May 1 13:39:17 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classGLine-members.html b/docs/module-doc/classGLine-members.html index 17362de37..97ae8ec23 100644 --- a/docs/module-doc/classGLine-members.html +++ b/docs/module-doc/classGLine-members.html @@ -16,7 +16,7 @@ set_timeXLine sourceXLine ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:39 2004 for InspIRCd by +
Generated on Sat May 1 13:39:18 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classGLine.html b/docs/module-doc/classGLine.html index 7b2763fa1..8c9d2c083 100644 --- a/docs/module-doc/classGLine.html +++ b/docs/module-doc/classGLine.html @@ -61,7 +61,7 @@ Definition at line 63 of fi
The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:39 2004 for InspIRCd by +
Generated on Sat May 1 13:39:18 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classHostItem-members.html b/docs/module-doc/classHostItem-members.html index 820dc104d..ab3381af1 100644 --- a/docs/module-doc/classHostItem-members.html +++ b/docs/module-doc/classHostItem-members.html @@ -15,7 +15,7 @@ set_timeHostItem ~classbase()classbase [inline] ~HostItem()HostItem [inline, virtual] -
Generated on Fri Apr 30 15:46:40 2004 for InspIRCd by +
Generated on Sat May 1 13:39:18 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classHostItem.html b/docs/module-doc/classHostItem.html index 8c0cebbfe..66bff7697 100644 --- a/docs/module-doc/classHostItem.html +++ b/docs/module-doc/classHostItem.html @@ -181,7 +181,7 @@ Definition at line 21 of
The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:40 2004 for InspIRCd by +
Generated on Sat May 1 13:39:18 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classInviteItem-members.html b/docs/module-doc/classInviteItem-members.html index 494fed463..06d098a1f 100644 --- a/docs/module-doc/classInviteItem-members.html +++ b/docs/module-doc/classInviteItem-members.html @@ -15,7 +15,7 @@ set_timeHostItem ~classbase()classbase [inline] ~HostItem()HostItem [inline, virtual] -
Generated on Fri Apr 30 15:46:41 2004 for InspIRCd by +
Generated on Sat May 1 13:39:20 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classInviteItem.html b/docs/module-doc/classInviteItem.html index 5618ddffc..cd80bfd34 100644 --- a/docs/module-doc/classInviteItem.html +++ b/docs/module-doc/classInviteItem.html @@ -31,7 +31,7 @@ A subclass of HostItem designed to h

Definition at line 50 of file channels.h.


The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:41 2004 for InspIRCd by +
Generated on Sat May 1 13:39:20 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classInvited-members.html b/docs/module-doc/classInvited-members.html index 68c2ebfae..ae62ac75b 100644 --- a/docs/module-doc/classInvited-members.html +++ b/docs/module-doc/classInvited-members.html @@ -11,7 +11,7 @@ channelInvited classbase()classbase [inline] ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:41 2004 for InspIRCd by +
Generated on Sat May 1 13:39:19 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classInvited.html b/docs/module-doc/classInvited.html index 2d98a2710..872eeeb3e 100644 --- a/docs/module-doc/classInvited.html +++ b/docs/module-doc/classInvited.html @@ -58,7 +58,7 @@ Referenced by userrec::Invite
The documentation for this class was generated from the following file:
-
Generated on Fri Apr 30 15:46:41 2004 for InspIRCd by +
Generated on Sat May 1 13:39:19 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classKLine-members.html b/docs/module-doc/classKLine-members.html index 7308897e2..96544cae5 100644 --- a/docs/module-doc/classKLine-members.html +++ b/docs/module-doc/classKLine-members.html @@ -16,7 +16,7 @@ set_timeXLine sourceXLine ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:42 2004 for InspIRCd by +
Generated on Sat May 1 13:39:21 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classKLine.html b/docs/module-doc/classKLine.html index 1597d97e0..5e304ccee 100644 --- a/docs/module-doc/classKLine.html +++ b/docs/module-doc/classKLine.html @@ -61,7 +61,7 @@ Definition at line 52 of fi
The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:42 2004 for InspIRCd by +
Generated on Sat May 1 13:39:21 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classModeParameter-members.html b/docs/module-doc/classModeParameter-members.html index df1b6703c..12b409bc6 100644 --- a/docs/module-doc/classModeParameter-members.html +++ b/docs/module-doc/classModeParameter-members.html @@ -13,7 +13,7 @@ modeModeParameter parameterModeParameter ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:43 2004 for InspIRCd by +
Generated on Sat May 1 13:39:21 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classModeParameter.html b/docs/module-doc/classModeParameter.html index 7b94a7613..ac9464f44 100644 --- a/docs/module-doc/classModeParameter.html +++ b/docs/module-doc/classModeParameter.html @@ -114,7 +114,7 @@ Referenced by chanrec::Set
The documentation for this class was generated from the following file:
-
Generated on Fri Apr 30 15:46:43 2004 for InspIRCd by +
Generated on Sat May 1 13:39:21 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classModule-members.html b/docs/module-doc/classModule-members.html index 16eb009b3..69880c1c2 100644 --- a/docs/module-doc/classModule-members.html +++ b/docs/module-doc/classModule-members.html @@ -11,6 +11,7 @@ classbase()classbase [inline] GetVersion()Module [virtual] Module()Module + OnAccessCheck(userrec *source, userrec *dest, chanrec *channel, int access_type)Module [virtual] OnExtendedMode(userrec *user, void *target, char modechar, int type, bool mode_on, string_list &params)Module [virtual] OnInfo(userrec *user)Module [virtual] OnOper(userrec *user)Module [virtual] @@ -29,7 +30,7 @@ OnWhois(userrec *source, userrec *dest)Module [virtual] ~classbase()classbase [inline] ~Module()Module [virtual] -
Generated on Fri Apr 30 15:46:44 2004 for InspIRCd by +
Generated on Sat May 1 13:39:22 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classModule.html b/docs/module-doc/classModule.html index a931bf27e..cd2fe531f 100644 --- a/docs/module-doc/classModule.html +++ b/docs/module-doc/classModule.html @@ -44,7 +44,7 @@ Inheritance diagram for Module:



virtual void OnServerRaw (std::string &raw, bool inbound, userrec *user)  Called when a raw command is transmitted or received.

-virtual bool OnExtendedMode (userrec *user, void *target, char modechar, int type, bool mode_on, string_list &params) +virtual int OnExtendedMode (userrec *user, void *target, char modechar, int type, bool mode_on, string_list &params)  Called whenever an extended mode is to be processed.

virtual int OnUserPreJoin (userrec *user, chanrec *chan, const char *cname)  Called whenever a user is about to join a channel, before any processing is done.

@@ -60,6 +60,8 @@ Inheritance diagram for Module:



virtual int OnUserPreNick (userrec *user, std::string newnick)  Called before any nickchange, local or remote.

+virtual int OnAccessCheck (userrec *source, userrec *dest, chanrec *channel, int access_type) + Called before an action which requires a channel privilage check.


Detailed Description

Base class for all InspIRCd modules This class is the base class for InspIRCd modules. @@ -68,7 +70,7 @@ All modules must inherit from this class, its methods will be called when irc se

-Definition at line 92 of file modules.h.


Constructor & Destructor Documentation

+Definition at line 112 of file modules.h.

Constructor & Destructor Documentation

@@ -98,9 +100,9 @@ Default constructor creates a module class.

-Definition at line 111 of file modules.cpp. +Definition at line 139 of file modules.cpp.

-

00111 { }
+
00139 { }
 
@@ -133,9 +135,9 @@ Default destructor destroys a module class.

-Definition at line 112 of file modules.cpp. +Definition at line 140 of file modules.cpp.

-

00112 { }
+
00140 { }
 
@@ -169,9 +171,78 @@ Returns the version number of a Module.

The method should return a Version object with its version information assigned via Version::Version

-Definition at line 123 of file modules.cpp. +Definition at line 151 of file modules.cpp.

-

00123 { return Version(1,0,0,0); }
+
00151 { return Version(1,0,0,0); }
+
+ + +

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int Module::OnAccessCheck userrec  source,
userrec  dest,
chanrec  channel,
int   access_type
[virtual]
+
+ + + +
+   + + +

+Called before an action which requires a channel privilage check. +

+This function is called before many functions which check a users status on a channel, for example before opping a user, deopping a user, kicking a user, etc. There are several values for access_type which indicate for what reason access is being checked. These are:
+ AC_KICK (0) - A user is being kicked
+ AC_DEOP (1) - a user is being deopped
+ AC_OP (2) - a user is being opped
+ AC_VOICE (3) - a user is being voiced
+ AC_DEVOICE (4) - a user is being devoiced
+ AC_HALFOP (5) - a user is being halfopped
+ AC_DEHALFOP (6) - a user is being dehalfopped
+ AC_INVITE (7) - a user is being invited
+ AC_GENERAL_MODE (8) - a user channel mode is being changed
+ Upon returning from your function you must return either ACR_DEFAULT, to indicate the module wishes to do nothing, or ACR_DENY where approprate to deny the action, and ACR_ALLOW where appropriate to allow the action. Please note that in the case of some access checks (such as AC_GENERAL_MODE) access may be denied 'upstream' causing other checks such as AC_DEOP to not be reached. Be very careful with use of the AC_GENERAL_MODE type, as it may inadvertently override the behaviour of other modules. When the access_type is AC_GENERAL_MODE, the destination of the mode will be NULL (as it has not yet been determined). +

+Definition at line 158 of file modules.cpp. +

+References ACR_DEFAULT. +

+

00158 { return ACR_DEFAULT; };
 
@@ -181,7 +252,7 @@ Definition at line 123 - + @@ -213,7 +284,7 @@ Definition at line 123 - + @@ -236,11 +307,11 @@ Definition at line 123

Called whenever an extended mode is to be processed.

-The type parameter is MT_SERVER, MT_CLIENT or MT_CHANNEL, dependent on where the mode is being changed. mode_on is set when the mode is being set, in which case params contains a list of parameters for the mode as strings. If mode_on is false, the mode is being removed, and parameters may contain the parameters for the mode, dependent on wether they were defined when a mode handler was set up with Server::AddExtendedMode If the mode is a channel mode, target is a chanrec*, and if it is a user mode, target is a userrec*. You must cast this value yourself to make use of it. +The type parameter is MT_SERVER, MT_CLIENT or MT_CHANNEL, dependent on where the mode is being changed. mode_on is set when the mode is being set, in which case params contains a list of parameters for the mode as strings. If mode_on is false, the mode is being removed, and parameters may contain the parameters for the mode, dependent on wether they were defined when a mode handler was set up with Server::AddExtendedMode If the mode is a channel mode, target is a chanrec*, and if it is a user mode, target is a userrec*. You must cast this value yourself to make use of it.

-Definition at line 122 of file modules.cpp. +Definition at line 150 of file modules.cpp.

-

00122 { return false; }
+
00150 { return false; }
 
bool Module::OnExtendedMode int Module::OnExtendedMode userrec   user,
string_liststring_list   params
@@ -275,9 +346,9 @@ Called whenever a user types /INFO. The userrec will contain the information of the user who typed the command. Modules may use this method to output their own credits in /INFO (which is the ircd's version of an about box). It is purposefully not possible to modify any info that has already been output, or halt the list. You must write a 371 numeric to the user, containing your info in the following format:

:information here

-Definition at line 125 of file modules.cpp. +Definition at line 153 of file modules.cpp.

-

00125 { };
+
00153 { };
 
@@ -311,9 +382,9 @@ Called whenever a user opers locally.

The userrec will contain the oper mode 'o' as this function is called after any modifications are made to the user's structure by the core.

-Definition at line 124 of file modules.cpp. +Definition at line 152 of file modules.cpp.

-

00124 { };
+
00152 { };
 
@@ -347,9 +418,9 @@ Called after a packet is received from another irc server.

The packet is represented as a char*, as it should be regarded as a buffer, and not a string. This allows you to easily represent it in the correct ways to implement encryption, compression, digital signatures and anything else you may want to add. This should be regarded as a pre-processor and will be called immediately after the packet is received but before any other operations with the core of the ircd.

-Definition at line 118 of file modules.cpp. +Definition at line 146 of file modules.cpp.

-

00118 { }
+
00146 { }
 
@@ -383,9 +454,9 @@ Called before a packet is transmitted across the irc network between two irc ser

The packet is represented as a char*, as it should be regarded as a buffer, and not a string. This allows you to easily represent it in the correct ways to implement encryption, compression, digital signatures and anything else you may want to add. This should be regarded as a pre-processor and will be called before ANY other operations within the ircd core program.

-Definition at line 117 of file modules.cpp. +Definition at line 145 of file modules.cpp.

-

00117 { }
+
00145 { }
 
@@ -418,9 +489,9 @@ Called on rehash.

This method is called prior to a /REHASH or when a SIGHUP is received from the operating system. You should use it to reload any files so that your module keeps in step with the rest of the application.

-Definition at line 119 of file modules.cpp. +Definition at line 147 of file modules.cpp.

-

00119 { }
+
00147 { }
 
@@ -469,9 +540,9 @@ Called when a raw command is transmitted or received.

This method is the lowest level of handler available to a module. It will be called with raw data which is passing through a connected socket. If you wish, you may munge this data by changing the string parameter "raw". If you do this, after your function exits it will immediately be cut down to 510 characters plus a carriage return and linefeed. For INBOUND messages only (where inbound is set to true) the value of user will be the userrec of the connection sending the data. This is not possible for outbound data because the data may be being routed to multiple targets.

-Definition at line 120 of file modules.cpp. +Definition at line 148 of file modules.cpp.

-

00120 { }
+
00148 { }
 
@@ -505,9 +576,9 @@ Called when a user connects.

The details of the connecting user are available to you in the parameter userrec *user

-Definition at line 113 of file modules.cpp. +Definition at line 141 of file modules.cpp.

-

00113 { }
+
00141 { }
 
@@ -550,9 +621,9 @@ Called when a user joins a channel.

The details of the joining user are available to you in the parameter userrec *user, and the details of the channel they have joined is available in the variable chanrec *channel

-Definition at line 115 of file modules.cpp. +Definition at line 143 of file modules.cpp.

-

00115 { }
+
00143 { }
 
@@ -595,9 +666,9 @@ Called when a user parts a channel.

The details of the leaving user are available to you in the parameter userrec *user, and the details of the channel they have left is available in the variable chanrec *channel

-Definition at line 116 of file modules.cpp. +Definition at line 144 of file modules.cpp.

-

00116 { }
+
00144 { }
 
@@ -648,9 +719,9 @@ Returning any nonzero value from this function stops the process immediately, ca IMPORTANT NOTE!

If the user joins a NEW channel which does not exist yet, OnUserPreJoin will be called BEFORE the channel record is created. This will cause chanrec* chan to be NULL. There is very little you can do in form of processing on the actual channel record at this point, however the channel NAME will still be passed in char* cname, so that you could for example implement a channel blacklist or whitelist, etc.

-Definition at line 121 of file modules.cpp. +Definition at line 149 of file modules.cpp.

-

00121 { return 0; }
+
00149 { return 0; }
 
@@ -705,9 +776,9 @@ Called whenever a user is about to PRIVMSG A user or a channel, before any proce

Returning any nonzero value from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to filter or redirect messages. target_type can be one of TYPE_USER or TYPE_CHANNEL. If the target_type value is a user, you must cast dest to a userrec* otherwise you must cast it to a chanrec*, this is the details of where the message is destined to be sent.

-Definition at line 127 of file modules.cpp. +Definition at line 155 of file modules.cpp.

-

00127 { return 0; };
+
00155 { return 0; };
 
@@ -750,9 +821,9 @@ Called before any nickchange, local or remote.

This can be used to implement Q-lines etc. Please note that although you can see remote nickchanges through this function, you should NOT make any changes to the userrec if the user is a remote user as this may cause a desnyc. check user->server before taking any action (including returning nonzero from the method). If your method returns nonzero, the nickchange is silently forbidden, and it is down to your module to generate some meaninful output.

-Definition at line 129 of file modules.cpp. +Definition at line 157 of file modules.cpp.

-

00129 { return 0; };
+
00157 { return 0; };
 
@@ -807,9 +878,9 @@ Called whenever a user is about to NOTICE A user or a channel, before any proces

Returning any nonzero value from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to filter or redirect messages. target_type can be one of TYPE_USER or TYPE_CHANNEL. If the target_type value is a user, you must cast dest to a userrec* otherwise you must cast it to a chanrec*, this is the details of where the message is destined to be sent.

-Definition at line 128 of file modules.cpp. +Definition at line 156 of file modules.cpp.

-

00128 { return 0; };
+
00156 { return 0; };
 
@@ -843,9 +914,9 @@ Called when a user quits.

The details of the exiting user are available to you in the parameter userrec *user

-Definition at line 114 of file modules.cpp. +Definition at line 142 of file modules.cpp.

-

00114 { }
+
00142 { }
 
@@ -888,15 +959,15 @@ Called whenever a /WHOIS is performed on a local user.

The source parameter contains the details of the user who issued the WHOIS command, and the dest parameter contains the information of the user they are whoising.

-Definition at line 126 of file modules.cpp. +Definition at line 154 of file modules.cpp.

-

00126 { };
+
00154 { };
 

The documentation for this class was generated from the following files: -
Generated on Fri Apr 30 15:46:44 2004 for InspIRCd by +
Generated on Sat May 1 13:39:22 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classModuleFactory-members.html b/docs/module-doc/classModuleFactory-members.html index 2bc4751f8..0d30f798e 100644 --- a/docs/module-doc/classModuleFactory-members.html +++ b/docs/module-doc/classModuleFactory-members.html @@ -13,7 +13,7 @@ ModuleFactory()ModuleFactory [inline] ~classbase()classbase [inline] ~ModuleFactory()ModuleFactory [inline, virtual] -
Generated on Fri Apr 30 15:46:45 2004 for InspIRCd by +
Generated on Sat May 1 13:39:23 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classModuleFactory.html b/docs/module-doc/classModuleFactory.html index 296be3d3c..96e51e3cc 100644 --- a/docs/module-doc/classModuleFactory.html +++ b/docs/module-doc/classModuleFactory.html @@ -34,7 +34,7 @@ This is to allow for modules to create many different variants of

-Definition at line 633 of file modules.h.


Constructor & Destructor Documentation

+Definition at line 703 of file modules.h.

Constructor & Destructor Documentation

@@ -62,9 +62,9 @@ Definition at line 633 of

-Definition at line 636 of file modules.h. +Definition at line 706 of file modules.h.

-

00636 { }
+
00706 { }
 
@@ -95,9 +95,9 @@ Definition at line 636 of

-Definition at line 637 of file modules.h. +Definition at line 707 of file modules.h.

-

00637 { }
+
00707 { }
 
@@ -134,7 +134,7 @@ Your inherited class of ModuleFactory must return a pointer to your modules.h -
Generated on Fri Apr 30 15:46:45 2004 for InspIRCd by +
Generated on Sat May 1 13:39:23 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classQLine-members.html b/docs/module-doc/classQLine-members.html index 477b1346a..9ff708c96 100644 --- a/docs/module-doc/classQLine-members.html +++ b/docs/module-doc/classQLine-members.html @@ -17,7 +17,7 @@ set_timeXLine sourceXLine ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:46 2004 for InspIRCd by +
Generated on Sat May 1 13:39:24 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classQLine.html b/docs/module-doc/classQLine.html index 79e409ce1..888e58305 100644 --- a/docs/module-doc/classQLine.html +++ b/docs/module-doc/classQLine.html @@ -89,7 +89,7 @@ Definition at line 89 of fi
The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:46 2004 for InspIRCd by +
Generated on Sat May 1 13:39:24 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classServer-members.html b/docs/module-doc/classServer-members.html index 552fe6f2b..a7bc180f6 100644 --- a/docs/module-doc/classServer-members.html +++ b/docs/module-doc/classServer-members.html @@ -7,43 +7,45 @@
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Server Member List

This is the complete list of members for Server, including all inherited members. - - + + + - - - - + + + + - - - + + + - - + + + - - - + + + - + - + -
AddCommand(char *cmd, handlerfunc f, char flags, int minparams)Server [virtual]
AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off)Server [virtual]
AddCommand(char *cmd, handlerfunc f, char flags, int minparams)Server [virtual]
AddExtendedListMode(char modechar)Server [virtual]
AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off)Server [virtual]
ageclassbase
CallCommandHandler(std::string commandname, char **parameters, int pcnt, userrec *user)Server [virtual]
ChangeGECOS(userrec *user, std::string gecos)Server [virtual]
ChangeHost(userrec *user, std::string host)Server [virtual]
ChangeUserNick(userrec *user, std::string nickname)Server [virtual]
CallCommandHandler(std::string commandname, char **parameters, int pcnt, userrec *user)Server [virtual]
ChangeGECOS(userrec *user, std::string gecos)Server [virtual]
ChangeHost(userrec *user, std::string host)Server [virtual]
ChangeUserNick(userrec *user, std::string nickname)Server [virtual]
ChanMode(userrec *User, chanrec *Chan)Server [virtual]
classbase()classbase [inline]
CommonChannels(userrec *u1, userrec *u2)Server [virtual]
CountUsers(chanrec *c)Server [virtual]
FindChannel(std::string channel)Server [virtual]
FindNick(std::string nick)Server [virtual]
GetAdmin()Server [virtual]
GetNetworkName()Server [virtual]
GetServerName()Server [virtual]
GetAdmin()Server [virtual]
GetNetworkName()Server [virtual]
GetServerName()Server [virtual]
IsNick(std::string nick)Server [virtual]
IsUlined(std::string server)Server [virtual]
JoinUserToChannel(userrec *user, std::string cname, std::string key)Server [virtual]
IsOnChannel(userrec *User, chanrec *Chan)Server [virtual]
IsUlined(std::string server)Server [virtual]
JoinUserToChannel(userrec *user, std::string cname, std::string key)Server [virtual]
Log(int level, std::string s)Server [virtual]
MatchText(std::string sliteral, std::string spattern)Server [virtual]
PartUserFromChannel(userrec *user, std::string cname, std::string reason)Server [virtual]
QuitUser(userrec *user, std::string reason)Server [virtual]
MatchText(std::string sliteral, std::string spattern)Server [virtual]
PartUserFromChannel(userrec *user, std::string cname, std::string reason)Server [virtual]
QuitUser(userrec *user, std::string reason)Server [virtual]
Send(int Socket, std::string s)Server [virtual]
SendChannel(userrec *User, chanrec *Channel, std::string s, bool IncludeSender)Server [virtual]
SendCommon(userrec *User, std::string text, bool IncludeSender)Server [virtual]
SendFrom(int Socket, userrec *User, std::string s)Server [virtual]
SendMode(char **parameters, int pcnt, userrec *user)Server [virtual]
SendMode(char **parameters, int pcnt, userrec *user)Server [virtual]
SendOpers(std::string s)Server [virtual]
SendServ(int Socket, std::string s)Server [virtual]
SendTo(userrec *Source, userrec *Dest, std::string s)Server [virtual]
SendToModeMask(std::string modes, int flags, std::string text)Server [virtual]
SendToModeMask(std::string modes, int flags, std::string text)Server [virtual]
SendWallops(userrec *User, std::string text)Server [virtual]
Server()Server
~classbase()classbase [inline]
~Server()Server [virtual]

Generated on Fri Apr 30 15:46:47 2004 for InspIRCd by +
Generated on Sat May 1 13:39:25 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classServer.html b/docs/module-doc/classServer.html index 770d43736..1486d7d17 100644 --- a/docs/module-doc/classServer.html +++ b/docs/module-doc/classServer.html @@ -56,38 +56,42 @@ Inheritance diagram for Server:



virtual std::string ChanMode (userrec *User, chanrec *Chan)  Attempts to look up a user's privilages on a channel.

-virtual std::string GetServerName () - Returns the server name of the server where the module is loaded.

-virtual std::string GetNetworkName () - Returns the network name, global to all linked servers.

-virtual Admin GetAdmin () - Returns the information of the server as returned by the /ADMIN command.

-virtual bool AddExtendedMode (char modechar, int type, bool requires_oper, int params_when_on, int params_when_off) - Adds an extended mode letter which is parsed by a module This allows modules to add extra mode letters, e.g.

-virtual void AddCommand (char *cmd, handlerfunc f, char flags, int minparams) - Adds a command to the command table.

-virtual void SendMode (char **parameters, int pcnt, userrec *user) - Sends a servermode.

-virtual void SendToModeMask (std::string modes, int flags, std::string text) - Sends to all users matching a mode mask You must specify one or more usermodes as the first parameter.

-virtual chanrecJoinUserToChannel (userrec *user, std::string cname, std::string key) - Forces a user to join a channel.

-virtual chanrecPartUserFromChannel (userrec *user, std::string cname, std::string reason) - Forces a user to part a channel.

-virtual void ChangeUserNick (userrec *user, std::string nickname) - Forces a user nickchange.

-virtual void QuitUser (userrec *user, std::string reason) - Forces a user to quit with the specified reason.

-virtual bool MatchText (std::string sliteral, std::string spattern) - Matches text against a glob pattern.

-virtual void CallCommandHandler (std::string commandname, char **parameters, int pcnt, userrec *user) - Calls the handler for a command, either implemented by the core or by another module.

-virtual void ChangeHost (userrec *user, std::string host) - Change displayed hostname of a user.

-virtual void ChangeGECOS (userrec *user, std::string gecos) - Change GECOS (fullname) of a user.

-virtual bool IsUlined (std::string server) - Returns true if the servername you give is ulined.

+virtual bool IsOnChannel (userrec *User, chanrec *Chan) + Checks if a user is on a channel.

+virtual std::string GetServerName () + Returns the server name of the server where the module is loaded.

+virtual std::string GetNetworkName () + Returns the network name, global to all linked servers.

+virtual Admin GetAdmin () + Returns the information of the server as returned by the /ADMIN command.

+virtual bool AddExtendedMode (char modechar, int type, bool requires_oper, int params_when_on, int params_when_off) + Adds an extended mode letter which is parsed by a module.

+virtual bool AddExtendedListMode (char modechar) + Adds an extended mode letter which is parsed by a module and handled in a list fashion.

+virtual void AddCommand (char *cmd, handlerfunc f, char flags, int minparams) + Adds a command to the command table.

+virtual void SendMode (char **parameters, int pcnt, userrec *user) + Sends a servermode.

+virtual void SendToModeMask (std::string modes, int flags, std::string text) + Sends to all users matching a mode mask You must specify one or more usermodes as the first parameter.

+virtual chanrecJoinUserToChannel (userrec *user, std::string cname, std::string key) + Forces a user to join a channel.

+virtual chanrecPartUserFromChannel (userrec *user, std::string cname, std::string reason) + Forces a user to part a channel.

+virtual void ChangeUserNick (userrec *user, std::string nickname) + Forces a user nickchange.

+virtual void QuitUser (userrec *user, std::string reason) + Forces a user to quit with the specified reason.

+virtual bool MatchText (std::string sliteral, std::string spattern) + Matches text against a glob pattern.

+virtual void CallCommandHandler (std::string commandname, char **parameters, int pcnt, userrec *user) + Calls the handler for a command, either implemented by the core or by another module.

+virtual void ChangeHost (userrec *user, std::string host) + Change displayed hostname of a user.

+virtual void ChangeGECOS (userrec *user, std::string gecos) + Change GECOS (fullname) of a user.

+virtual bool IsUlined (std::string server) + Returns true if the servername you give is ulined.


Detailed Description

Allows server output and query functions This class contains methods which allow a module to query the state of the irc server, and produce output to users and other servers. @@ -96,7 +100,7 @@ All modules should instantiate at least one copy of this class, and use its memb

-Definition at line 252 of file modules.h.


Constructor & Destructor Documentation

+Definition at line 295 of file modules.h.

Constructor & Destructor Documentation

@@ -126,10 +130,10 @@ Default constructor.

Creates a Server object.

-Definition at line 135 of file modules.cpp. +Definition at line 164 of file modules.cpp.

-

00136 {
-00137 }
+
00165 {
+00166 }
 
@@ -162,15 +166,15 @@ Default destructor.

Destroys a Server object.

-Definition at line 139 of file modules.cpp. +Definition at line 168 of file modules.cpp.

-

00140 {
-00141 }
+
00169 {
+00170 }
 

Member Function Documentation

-

+

@@ -223,17 +227,65 @@ This allows modules to add extra commands into the command table. You must place typedef void (handlerfunc) (char**, int, userrec*); ... void handle_kill(char **parameters, int pcnt, userrec *user)

When the command is typed, the parameters will be placed into the parameters array (similar to argv) and the parameter count will be placed into pcnt (similar to argv). There will never be any less parameters than the 'minparams' value you specified when creating the command. The *user parameter is the class of the user which caused the command to trigger, who will always have the flag you specified in 'flags' when creating the initial command. For example to create an oper only command create the commands with flags='o'.

-Definition at line 197 of file modules.cpp. +Definition at line 226 of file modules.cpp.

-References createcommand(). +References createcommand().

-

00198 {
-00199         createcommand(cmd,f,flags,minparams);
-00200 }
+
00227 {
+00228         createcommand(cmd,f,flags,minparams);
+00229 }
 
-

+

+ + + + +
+ + + + + + + + + + +
bool Server::AddExtendedListMode char   modechar [virtual]
+
+ + + + + +
+   + + +

+Adds an extended mode letter which is parsed by a module and handled in a list fashion. +

+This call is used to implement modes like +q and +a. The characteristics of these modes are as follows:

+(1) They are ALWAYS on channels, not on users, therefore their type is MT_CHANNEL

+(2) They always take exactly one parameter when being added or removed

+(3) They can be set multiple times, usually on users in channels

+(4) The mode and its parameter are NOT stored in the channels modes structure

+It is down to the module handling the mode to maintain state and determine what 'items' (e.g. users, or a banlist) have the mode set on them, and process the modes at the correct times, e.g. during access checks on channels, etc. When the extended mode is triggered the OnExtendedMode method will be triggered as above. Note that the target you are given will be a channel, if for example your mode is set 'on a user' (in for example +a) you must use Server::Find to locate the user the mode is operating on. Your mode handler may return 1 to handle the mode AND tell the core to display the mode change, e.g. '+aaa one two three' in the case of the mode for 'two', or it may return -1 to 'eat' the mode change, so the above example would become '+aa one three' after processing. +

+Definition at line 371 of file modules.cpp. +

+References DoAddExtendedMode(), and ModeMakeList(). +

+

00372 {
+00373         bool res = DoAddExtendedMode(modechar,MT_CHANNEL,false,1,1);
+00374         if (res)
+00375                 ModeMakeList(modechar);
+00376         return res;
+00377 }
+
+

@@ -286,36 +338,36 @@ References createcommand().

-Adds an extended mode letter which is parsed by a module This allows modules to add extra mode letters, e.g. +Adds an extended mode letter which is parsed by a module.

-+x for hostcloak. the "type" parameter is either MT_CHANNEL, MT_CLIENT, or MT_SERVER, to indicate wether the mode is a channel mode, a client mode, or a server mode. requires_oper is used with MT_CLIENT type modes only to indicate the mode can only be set or unset by an oper. If this is used for MT_CHANNEL type modes it is ignored. params_when_on is the number of modes to expect when the mode is turned on (for type MT_CHANNEL only), e.g. with mode +k, this would have a value of 1. the params_when_off value has a similar value to params_when_on, except it indicates the number of parameters to expect when the mode is disabled. Modes which act in a similar way to channel mode +l (e.g. require a parameter to enable, but not to disable) should use this parameter. The function returns false if the mode is unavailable, and will not attempt to allocate another character, as this will confuse users. This also means that as only one module can claim a specific mode character, the core does not need to keep track of which modules own which modes, which speeds up operation of the server. In this version, a mode can have at most one parameter, attempting to use more parameters will have undefined effects. +This allows modules to add extra mode letters, e.g. +x for hostcloak. the "type" parameter is either MT_CHANNEL, MT_CLIENT, or MT_SERVER, to indicate wether the mode is a channel mode, a client mode, or a server mode. requires_oper is used with MT_CLIENT type modes only to indicate the mode can only be set or unset by an oper. If this is used for MT_CHANNEL type modes it is ignored. params_when_on is the number of modes to expect when the mode is turned on (for type MT_CHANNEL only), e.g. with mode +k, this would have a value of 1. the params_when_off value has a similar value to params_when_on, except it indicates the number of parameters to expect when the mode is disabled. Modes which act in a similar way to channel mode +l (e.g. require a parameter to enable, but not to disable) should use this parameter. The function returns false if the mode is unavailable, and will not attempt to allocate another character, as this will confuse users. This also means that as only one module can claim a specific mode character, the core does not need to keep track of which modules own which modes, which speeds up operation of the server. In this version, a mode can have at most one parameter, attempting to use more parameters will have undefined effects.

-Definition at line 317 of file modules.cpp. +Definition at line 351 of file modules.cpp.

-References DoAddExtendedMode(), MT_CLIENT, and MT_SERVER. +References DoAddExtendedMode(), MT_CLIENT, and MT_SERVER.

-

00318 {
-00319         if (type == MT_SERVER)
-00320         {
-00321                 log(DEBUG,"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion");
-00322                 return false;
-00323         }
-00324         if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT))
-00325         {
-00326                 log(DEBUG,"*** API ERROR *** Parameters on MT_CLIENT modes are not supported");
-00327                 return false;
-00328         }
-00329         if ((params_when_on>1) || (params_when_off>1))
-00330         {
-00331                 log(DEBUG,"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported");
-00332                 return false;
-00333         }
-00334         return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off);
-00335 }
+
00352 {
+00353         if (type == MT_SERVER)
+00354         {
+00355                 log(DEBUG,"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion");
+00356                 return false;
+00357         }
+00358         if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT))
+00359         {
+00360                 log(DEBUG,"*** API ERROR *** Parameters on MT_CLIENT modes are not supported");
+00361                 return false;
+00362         }
+00363         if ((params_when_on>1) || (params_when_off>1))
+00364         {
+00365                 log(DEBUG,"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported");
+00366                 return false;
+00367         }
+00368         return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off);
+00369 }
 
-

+

@@ -365,17 +417,17 @@ References DoAddExtendedMod Calls the handler for a command, either implemented by the core or by another module.

You can use this function to trigger other commands in the ircd, such as PRIVMSG, JOIN, KICK etc, or even as a method of callback. By defining command names that are untypeable for users on irc (e.g. those which contain a or
-) you may use them as callback identifiers. The first parameter to this method is the name of the command handler you wish to call, e.g. PRIVMSG. This will be a command handler previously registered by the core or wih
AddCommand(). The second parameter is an array of parameters, and the third parameter is a count of parameters in the array. If you do not pass enough parameters to meet the minimum needed by the handler, the functiom will silently ignore it. The final parameter is the user executing the command handler, used for privilage checks, etc. +) you may use them as callback identifiers. The first parameter to this method is the name of the command handler you wish to call, e.g. PRIVMSG. This will be a command handler previously registered by the core or wih AddCommand(). The second parameter is an array of parameters, and the third parameter is a count of parameters in the array. If you do not pass enough parameters to meet the minimum needed by the handler, the functiom will silently ignore it. The final parameter is the user executing the command handler, used for privilage checks, etc.

-Definition at line 187 of file modules.cpp. +Definition at line 216 of file modules.cpp.

-

00188 {
-00189         call_handler(commandname.c_str(),parameters,pcnt,user);
-00190 }
+
00217 {
+00218         call_handler(commandname.c_str(),parameters,pcnt,user);
+00219 }
 
-

+

@@ -414,17 +466,17 @@ Change GECOS (fullname) of a user.

You should always call this method to change a user's GECOS rather than writing directly to the fullname member of userrec, as any change applied via this method will be propogated to any linked servers.

-Definition at line 275 of file modules.cpp. +Definition at line 304 of file modules.cpp.

References ChangeName().

-

00276 {
-00277         ChangeName(user,gecos.c_str());
-00278 }
+
00305 {
+00306         ChangeName(user,gecos.c_str());
+00307 }
 
-

+

@@ -463,17 +515,17 @@ Change displayed hostname of a user.

You should always call this method to change a user's host rather than writing directly to the dhost member of userrec, as any change applied via this method will be propogated to any linked servers.

-Definition at line 270 of file modules.cpp. +Definition at line 299 of file modules.cpp.

References ChangeDisplayedHost().

-

00271 {
-00272         ChangeDisplayedHost(user,host.c_str());
-00273 }
+
00300 {
+00301         ChangeDisplayedHost(user,host.c_str());
+00302 }
 
-

+

@@ -512,11 +564,11 @@ Forces a user nickchange.

This command works similarly to SVSNICK, and can be used to implement Q-lines etc. If you specify an invalid nickname, the nick change will be dropped and the target user will receive the error numeric for it.

-Definition at line 171 of file modules.cpp. +Definition at line 200 of file modules.cpp.

-

00172 {
-00173         force_nickchange(user,nickname.c_str());
-00174 }
+
00201 {
+00202         force_nickchange(user,nickname.c_str());
+00203 }
 
@@ -559,13 +611,13 @@ Attempts to look up a user's privilages on a channel.

This function will return a string containing either @, , +, or an empty string, representing the user's privilages upon the channel you specify.

-Definition at line 295 of file modules.cpp. +Definition at line 324 of file modules.cpp.

References cmode().

-

00296 {
-00297         return cmode(User,Chan);
-00298 }
+
00325 {
+00326         return cmode(User,Chan);
+00327 }
 
@@ -608,13 +660,13 @@ Returns true if two users share a common channel.

This method is used internally by the NICK and QUIT commands, and the Server::SendCommon method.

-Definition at line 248 of file modules.cpp. +Definition at line 277 of file modules.cpp.

References common_channels().

-

00249 {
-00250         return (common_channels(u1,u2) != 0);
-00251 }
+
00278 {
+00279         return (common_channels(u1,u2) != 0);
+00280 }
 
@@ -648,11 +700,11 @@ Returns a count of the number of users on a channel.

This will NEVER be 0, as if the chanrec exists, it will have at least one user in the channel.

-Definition at line 337 of file modules.cpp. +Definition at line 379 of file modules.cpp.

-

00338 {
-00339         return usercount(c);
-00340 }
+
00380 {
+00381         return usercount(c);
+00382 }
 
@@ -686,11 +738,11 @@ Attempts to look up a channel and return a pointer to it.

This function will return NULL if the channel does not exist.

-Definition at line 290 of file modules.cpp. +Definition at line 319 of file modules.cpp.

-

00291 {
-00292         return FindChan(channel.c_str());
-00293 }
+
00320 {
+00321         return FindChan(channel.c_str());
+00322 }
 
@@ -724,15 +776,15 @@ Attempts to look up a nick and return a pointer to it.

This function will return NULL if the nick does not exist.

-Definition at line 285 of file modules.cpp. +Definition at line 314 of file modules.cpp.

-

00286 {
-00287         return Find(nick);
-00288 }
+
00315 {
+00316         return Find(nick);
+00317 }
 
-

+

@@ -761,15 +813,15 @@ Returns the information of the server as returned by the /ADMIN command.

See the Admin class for further information of the return value. The members Admin::Nick, Admin::Email and Admin::Name contain the information for the server where the module is loaded.

-Definition at line 310 of file modules.cpp. +Definition at line 344 of file modules.cpp.

-

00311 {
-00312         return Admin(getadminname(),getadminemail(),getadminnick());
-00313 }
+
00345 {
+00346         return Admin(getadminname(),getadminemail(),getadminnick());
+00347 }
 
-

+

@@ -798,15 +850,15 @@ Returns the network name, global to all linked servers.

-Definition at line 305 of file modules.cpp. +Definition at line 339 of file modules.cpp.

-

00306 {
-00307         return getnetworkname();
-00308 }
+
00340 {
+00341         return getnetworkname();
+00342 }
 
-

+

@@ -835,11 +887,11 @@ Returns the server name of the server where the module is loaded.

-Definition at line 300 of file modules.cpp. +Definition at line 334 of file modules.cpp.

-

00301 {
-00302         return getservername();
-00303 }
+
00335 {
+00336         return getservername();
+00337 }
 
@@ -873,17 +925,66 @@ Returns true if a nick is valid.

Nicks for unregistered connections will return false.

-Definition at line 280 of file modules.cpp. +Definition at line 309 of file modules.cpp.

References isnick().

-

00281 {
-00282         return (isnick(nick.c_str()) != 0);
-00283 }
+
00310 {
+00311         return (isnick(nick.c_str()) != 0);
+00312 }
 
-

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
bool Server::IsOnChannel userrec  User,
chanrec  Chan
[virtual]
+
+ + + + + +
+   + + +

+Checks if a user is on a channel. +

+This function will return true or false to indicate if user 'User' is on channel 'Chan'. +

+Definition at line 329 of file modules.cpp. +

+References has_channel(). +

+

00330 {
+00331         return has_channel(User,Chan);
+00332 }
+
+

@@ -913,17 +1014,17 @@ Returns true if the servername you give is ulined.

ULined servers have extra privilages. They are allowed to change nicknames on remote servers, change modes of clients which are on remote servers and set modes of channels where there are no channel operators for that channel on the ulined server, amongst other things. Ulined server data is also broadcast across the mesh at all times as opposed to selectively messaged in the case of normal servers, as many ulined server types (such as services) do not support meshed links and must operate in this manner.

-Definition at line 182 of file modules.cpp. +Definition at line 211 of file modules.cpp.

References is_uline().

-

00183 {
-00184         return is_uline(server.c_str());
-00185 }
+
00212 {
+00213         return is_uline(server.c_str());
+00214 }
 
-

+

@@ -968,11 +1069,11 @@ Forces a user to join a channel.

This is similar to svsjoin and can be used to implement redirection, etc. On success, the return value is a valid pointer to a chanrec* of the channel the user was joined to. On failure, the result is NULL.

-Definition at line 161 of file modules.cpp. +Definition at line 190 of file modules.cpp.

-

00162 {
-00163         return add_channel(user,cname.c_str(),key.c_str(),true);
-00164 }
+
00191 {
+00192         return add_channel(user,cname.c_str(),key.c_str(),true);
+00193 }
 
@@ -1015,15 +1116,15 @@ Writes a log string.

This method writes a line of text to the log. If the level given is lower than the level given in the configuration, this command has no effect.

-Definition at line 192 of file modules.cpp. +Definition at line 221 of file modules.cpp.

-

00193 {
-00194         log(level,"%s",s.c_str());
-00195 }
+
00222 {
+00223         log(level,"%s",s.c_str());
+00224 }
 
-

+

@@ -1062,18 +1163,18 @@ Matches text against a glob pattern.

Uses the ircd's internal matching function to match string against a globbing pattern, e.g. *!*@*.com Returns true if the literal successfully matches the pattern, false if otherwise.

-Definition at line 148 of file modules.cpp. +Definition at line 177 of file modules.cpp.

-

00149 {
-00150         char literal[MAXBUF],pattern[MAXBUF];
-00151         strncpy(literal,sliteral.c_str(),MAXBUF);
-00152         strncpy(pattern,spattern.c_str(),MAXBUF);
-00153         return match(literal,pattern);
-00154 }
+
00178 {
+00179         char literal[MAXBUF],pattern[MAXBUF];
+00180         strncpy(literal,sliteral.c_str(),MAXBUF);
+00181         strncpy(pattern,spattern.c_str(),MAXBUF);
+00182         return match(literal,pattern);
+00183 }
 
-

+

@@ -1118,15 +1219,15 @@ Forces a user to part a channel.

This is similar to svspart and can be used to implement redirection, etc. Although the return value of this function is a pointer to a channel record, the returned data is undefined and should not be read or written to. This behaviour may be changed in a future version.

-Definition at line 166 of file modules.cpp. +Definition at line 195 of file modules.cpp.

-

00167 {
-00168         return del_channel(user,cname.c_str(),reason.c_str(),false);
-00169 }
+
00196 {
+00197         return del_channel(user,cname.c_str(),reason.c_str(),false);
+00198 }
 
-

+

@@ -1167,14 +1268,14 @@ To the user, it will appear as if they typed /QUIT themselves, except for the fa WARNING!

Once you call this function, userrec* user will immediately become INVALID. You MUST NOT write to, or read from this pointer after calling the QuitUser method UNDER ANY CIRCUMSTANCES! The best course of action after calling this method is to immediately bail from your handler.

-Definition at line 176 of file modules.cpp. +Definition at line 205 of file modules.cpp.

References userrec::nick, and send_network_quit().

-

00177 {
-00178         send_network_quit(user->nick,reason.c_str());
-00179         kill_link(user,reason.c_str());
-00180 }
+
00206 {
+00207         send_network_quit(user->nick,reason.c_str());
+00208         kill_link(user,reason.c_str());
+00209 }
 
@@ -1217,11 +1318,11 @@ Sends a line of text down a TCP/IP socket.

This method writes a line of text to an established socket, cutting it to 510 characters plus a carriage return and linefeed if required.

-Definition at line 207 of file modules.cpp. +Definition at line 236 of file modules.cpp.

-

00208 {
-00209         Write(Socket,"%s",s.c_str());
-00210 }
+
00237 {
+00238         Write(Socket,"%s",s.c_str());
+00239 }
 
@@ -1276,18 +1377,18 @@ Sends text from a user to a channel (mulicast).

This method writes a line of text to a channel, with the given user's nick/ident /host combination prepended, as used in PRIVMSG etc commands (see RFC 1459). If the IncludeSender flag is set, then the text is also sent back to the user from which it originated, as seen in MODE (see RFC 1459).

-Definition at line 236 of file modules.cpp. +Definition at line 265 of file modules.cpp.

-

00237 {
-00238         if (IncludeSender)
-00239         {
-00240                 WriteChannel(Channel,User,"%s",s.c_str());
-00241         }
-00242         else
-00243         {
-00244                 ChanExceptSender(Channel,User,"%s",s.c_str());
-00245         }
-00246 }
+
00266 {
+00267         if (IncludeSender)
+00268         {
+00269                 WriteChannel(Channel,User,"%s",s.c_str());
+00270         }
+00271         else
+00272         {
+00273                 ChanExceptSender(Channel,User,"%s",s.c_str());
+00274         }
+00275 }
 
@@ -1336,18 +1437,18 @@ Sends text from a user to one or more channels (mulicast).

This method writes a line of text to all users which share a common channel with a given user, with the user's nick/ident/host combination prepended, as used in PRIVMSG etc commands (see RFC 1459). If the IncludeSender flag is set, then the text is also sent back to the user from which it originated, as seen in NICK (see RFC 1459). Otherwise, it is only sent to the other recipients, as seen in QUIT.

-Definition at line 253 of file modules.cpp. -

-

00254 {
-00255         if (IncludeSender)
-00256         {
-00257                 WriteCommon(User,"%s",text.c_str());
-00258         }
-00259         else
-00260         {
-00261                 WriteCommonExcept(User,"%s",text.c_str());
-00262         }
-00263 }
+Definition at line 282 of file modules.cpp.
+

+

00283 {
+00284         if (IncludeSender)
+00285         {
+00286                 WriteCommon(User,"%s",text.c_str());
+00287         }
+00288         else
+00289         {
+00290                 WriteCommonExcept(User,"%s",text.c_str());
+00291         }
+00292 }
 
@@ -1396,15 +1497,15 @@ Sends text from a user to a socket.

This method writes a line of text to an established socket, with the given user's nick/ident /host combination prepended, as used in PRIVSG etc commands (see RFC 1459)

-Definition at line 217 of file modules.cpp. +Definition at line 246 of file modules.cpp.

-

00218 {
-00219         WriteFrom(Socket,User,"%s",s.c_str());
-00220 }
+
00247 {
+00248         WriteFrom(Socket,User,"%s",s.c_str());
+00249 }
 
-

+

@@ -1456,13 +1557,13 @@ modes[2] = user->nick;

Srv->SendMode(modes,3,user);

The modes will originate from the server where the command was issued, however responses (e.g. numerics) will be sent to the user you provide as the third parameter. You must be sure to get the number of parameters correct in the pcnt parameter otherwise you could leave your server in an unstable state!

-Definition at line 202 of file modules.cpp. +Definition at line 231 of file modules.cpp.

-References server_mode(). +References server_mode().

-

00203 {
-00204         server_mode(parameters,pcnt,user);
-00205 }
+
00232 {
+00233         server_mode(parameters,pcnt,user);
+00234 }
 
@@ -1496,11 +1597,11 @@ Sends text to all opers.

This method sends a server notice to all opers with the usermode +s.

-Definition at line 143 of file modules.cpp. +Definition at line 172 of file modules.cpp.

-

00144 {
-00145         WriteOpers("%s",s.c_str());
-00146 }
+
00173 {
+00174         WriteOpers("%s",s.c_str());
+00175 }
 
@@ -1543,11 +1644,11 @@ Sends text from the server to a socket.

This method writes a line of text to an established socket, with the servername prepended as used by numerics (see RFC 1459)

-Definition at line 212 of file modules.cpp. +Definition at line 241 of file modules.cpp.

-

00213 {
-00214         WriteServ(Socket,"%s",s.c_str());
-00215 }
+
00242 {
+00243         WriteServ(Socket,"%s",s.c_str());
+00244 }
 
@@ -1600,26 +1701,26 @@ The format will become:

:localserver TEXT

Which is useful for numerics and server notices to single users, etc.

-Definition at line 222 of file modules.cpp. +Definition at line 251 of file modules.cpp.

References connection::fd.

-

00223 {
-00224         if (!Source)
-00225         {
-00226                 // if source is NULL, then the message originates from the local server
-00227                 Write(Dest->fd,":%s %s",this->GetServerName().c_str(),s.c_str());
-00228         }
-00229         else
-00230         {
-00231                 // otherwise it comes from the user specified
-00232                 WriteTo(Source,Dest,"%s",s.c_str());
-00233         }
-00234 }
+
00252 {
+00253         if (!Source)
+00254         {
+00255                 // if source is NULL, then the message originates from the local server
+00256                 Write(Dest->fd,":%s %s",this->GetServerName().c_str(),s.c_str());
+00257         }
+00258         else
+00259         {
+00260                 // otherwise it comes from the user specified
+00261                 WriteTo(Source,Dest,"%s",s.c_str());
+00262         }
+00263 }
 
-

+

@@ -1666,11 +1767,11 @@ These can be RFC specified modes such as +i, or module provided modes, including Serv->SendToModeMask("xi", WM_OR, "m00");

Then the text 'm00' will be sent to all users with EITHER mode x or i. Conversely if you used WM_AND, the user must have both modes set to receive the message.

-Definition at line 156 of file modules.cpp. +Definition at line 185 of file modules.cpp.

-

00157 {
-00158         WriteMode(modes.c_str(),flags,"%s",text.c_str());
-00159 }
+
00186 {
+00187         WriteMode(modes.c_str(),flags,"%s",text.c_str());
+00188 }
 
@@ -1713,17 +1814,17 @@ Sends a WALLOPS message.

This method writes a WALLOPS message to all users with the +w flag, originating from the specified user.

-Definition at line 265 of file modules.cpp. +Definition at line 294 of file modules.cpp.

-

00266 {
-00267         WriteWallOps(User,false,"%s",text.c_str());
-00268 }
+
00295 {
+00296         WriteWallOps(User,false,"%s",text.c_str());
+00297 }
 

The documentation for this class was generated from the following files: -
Generated on Fri Apr 30 15:46:47 2004 for InspIRCd by +
Generated on Sat May 1 13:39:24 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classVersion-members.html b/docs/module-doc/classVersion-members.html index 687f219ef..56265788b 100644 --- a/docs/module-doc/classVersion-members.html +++ b/docs/module-doc/classVersion-members.html @@ -15,7 +15,7 @@ RevisionVersion Version(int major, int minor, int revision, int build)Version ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:49 2004 for InspIRCd by +
Generated on Sat May 1 13:39:27 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classVersion.html b/docs/module-doc/classVersion.html index 113af7d4e..f925b4a3d 100644 --- a/docs/module-doc/classVersion.html +++ b/docs/module-doc/classVersion.html @@ -36,7 +36,7 @@ A class of type Version is returned by the GetVersion method of the 68 of file modules.h.

Constructor & Destructor Documentation

+Definition at line 88 of file modules.h.

Constructor & Destructor Documentation

@@ -86,9 +86,9 @@ Definition at line 68 of

-Definition at line 105 of file modules.cpp. +Definition at line 133 of file modules.cpp.

-

00105 : Major(major), Minor(minor), Revision(revision), Build(build) { };
+
00133 : Major(major), Minor(minor), Revision(revision), Build(build) { };
 
@@ -114,7 +114,7 @@ Definition at line 105

-Definition at line 71 of file modules.h. +Definition at line 91 of file modules.h.

@@ -138,7 +138,7 @@ Definition at line 71 of

-Definition at line 71 of file modules.h. +Definition at line 91 of file modules.h.

@@ -162,7 +162,7 @@ Definition at line 71 of

-Definition at line 71 of file modules.h. +Definition at line 91 of file modules.h.

@@ -186,12 +186,12 @@ Definition at line 71 of

-Definition at line 71 of file modules.h. +Definition at line 91 of file modules.h.


The documentation for this class was generated from the following files: -
Generated on Fri Apr 30 15:46:49 2004 for InspIRCd by +
Generated on Sat May 1 13:39:27 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classXLine-members.html b/docs/module-doc/classXLine-members.html index 230d36435..678c3da6a 100644 --- a/docs/module-doc/classXLine-members.html +++ b/docs/module-doc/classXLine-members.html @@ -15,7 +15,7 @@ set_timeXLine sourceXLine ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:50 2004 for InspIRCd by +
Generated on Sat May 1 13:39:28 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classXLine.html b/docs/module-doc/classXLine.html index f14c4a5f7..a1e13f118 100644 --- a/docs/module-doc/classXLine.html +++ b/docs/module-doc/classXLine.html @@ -175,7 +175,7 @@ Definition at line 32 of fi
The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:50 2004 for InspIRCd by +
Generated on Sat May 1 13:39:28 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classZLine-members.html b/docs/module-doc/classZLine-members.html index 167e9462f..be371cfa5 100644 --- a/docs/module-doc/classZLine-members.html +++ b/docs/module-doc/classZLine-members.html @@ -17,7 +17,7 @@ set_timeXLine sourceXLine ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:51 2004 for InspIRCd by +
Generated on Sat May 1 13:39:29 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classZLine.html b/docs/module-doc/classZLine.html index c3ecd93f0..8c2aa4d04 100644 --- a/docs/module-doc/classZLine.html +++ b/docs/module-doc/classZLine.html @@ -89,7 +89,7 @@ Definition at line 78 of fi
The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:51 2004 for InspIRCd by +
Generated on Sat May 1 13:39:29 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classchanrec-members.html b/docs/module-doc/classchanrec-members.html index b9844c177..9a7889360 100644 --- a/docs/module-doc/classchanrec-members.html +++ b/docs/module-doc/classchanrec-members.html @@ -14,7 +14,7 @@ classbase()classbase [inline] createdchanrec custom_modeschanrec - Extend(std::string key, VoidPointer p)Extensible + Extend(std::string key, char *p)Extensible GetExt(std::string key)Extensible GetModeParameter(char mode)chanrec inviteonlychanrec @@ -34,7 +34,7 @@ topicsetchanrec ~chanrec()chanrec [inline, virtual] ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:33 2004 for InspIRCd by +
Generated on Sat May 1 13:39:11 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classchanrec.html b/docs/module-doc/classchanrec.html index 88b1de112..31357bc82 100644 --- a/docs/module-doc/classchanrec.html +++ b/docs/module-doc/classchanrec.html @@ -810,7 +810,7 @@ Referenced by chanrec()
The documentation for this class was generated from the following files: -
Generated on Fri Apr 30 15:46:33 2004 for InspIRCd by +
Generated on Sat May 1 13:39:11 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classchanrec__coll__graph.gif b/docs/module-doc/classchanrec__coll__graph.gif index ed67ec0559b29d6320bd5f30c5a03769a93c6ba4..7e494b1298ed26d164b81c97f989fd4f3fc99339 100644 GIT binary patch literal 21679 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 literal 21868 zcmd6P4^$IZ+V{;c!AZ=qF$9Q~wi5_S1Qpc2iq-8Tpc@cf8mv_m1=Q9*wJK=;vE2?a zP(;=Z5s|jk#x7vhf~^%>wYFA8u_|@#R{Peiwo1!(t);u&>hAX4&G+0pb0-OeetY)3 z-#H(LlXD<5ckX@e^XK>cp6AZbv!+i(_T??Kv{(#<|1(!lcbhmTzCS zyY0~%@2*MtaNVk_Pqy{`ve$pqx5kk&{5PFVC8r;q{POu%*JZcn@BQSp$Isk+`n}Iz ze==vxiy!`R|I_ClJAC!Kw|_Zn@8#aVz4NONdw=wc<*p6xipuAzHdb${`Ss@Ccxt^{ z>bBNzYj}Q!e%h@3n;i!Qeq`&dYp+f0{nv&alf2DOy|U}jzSbX)#n0wFTjrFdjR`-u z*STn}yXoVFHG|ob3oFKUJ^lT+_nWE{=DjfTh26=Q4~$-M&ZHQJZouYUamVSA7;6vxA5&d50&@!gc@DHvVs^WLS*^ zg>O6bT6=iut$EZon6X}R5w-58iHoE1@wfS5@AbdCW`TXBjsG$qKEhh#pSjTo5h~0M zFTY7KI}&3NI;#n9Yp2ZnyBQ>co`6C3+ng^jv*FFE}y8W*^blT@m_+R;R zRnDkwXIsA4{5pH*?|1)DeQw2De`vcsc*v$x-TVGtGi%SKZw~yZ{mq%4zaE;ZnKyu# zzp)R-E|+}7_A{Z)Y0I!~JwAYfrA3a$yW<*Y#xeV`X(z{q_cC$w&ttuBT`<7ZuxY^5 zN(yFpho09VhapmfykaDsi@#6oksfy6rB>@{l@|5rOITr}{z-lKXD^V(F8wUqV$Buf zIh2Vqkk~OmSc@j>C`(H^*~qF*pmeNgpEZD9UgYx-&lqj+!DPUdB%t*d?7f{vVKe$X z&h8cYMEk6P9DsKC^u{8@XPGRry9{WCKM)sBCCoxlvM`fnBFzTN>g`@6wJldc>L z9}B*Sm3-hjy7{p8{$SuSM%tmT2asa{QR7<|22j+)L=kVc4qycjOD4H;06jh{nNS$( z`SSU;n|FTr!%MyYyvJl5vT@q=q0i4A^Zd-7sNq{@?RxM=^ot)qcCer~HZJBjrz-|9jQ#JMSJlkci{nljhk$0);;qv&@thSbQkF{EDI^`85o%JD<3vU2Pjc0wZLn zbaMdtW=W5~b~yawzZi-iZ#4qw+dJ2^_)+Y#lZ$EtfrT~qiD29DO0(6ns%<)=l7OWg zhyLn=$nFoA0$9RRcoVGAvYL;+6)8hSDW?8zLtmuRqrnO{Teg|EKDko}MiJBQkg!J( zx_)(#Mz;8vvIvY275w{0Tkx#}fc(I#WG7y{8cCQ}#zIp=ZY9w9Zi_6n`QK>q!eCvc ziTM!@D$8F;Fs3hL^pE_LjlpYfzo^Y@ZQq^bz>}I&U)Fo%Hsb*dnAX#H;jD(mGW;?t z`mSW&ljlfkngWw;_8CopTkE{?&qLF;5CYth>Br8(^@WR zdYl94JF7BL)^uUKkakUvyr~>x?Px6RN?-bXl%cb#yv8J25`4o@RZ*r(_`sDDA7xA! zVmZpGyr~(8=Mm$Fzg5#Yq&5uV(23NC5r-oLz~zU}772!U8*=9y)0r#kkQRCM8l)0U z=NnWtdS0^ui2}ct_l(;({;Rt1TgTsJpT#hi24sqCU~-ujK{TLi`Vxaf!=&m`)jl>i z-V?_n1oB_rzHe@Ar(R!PBxEC9geX4e*?>%^b+BnIsICcpt#@n&krrx&EUneRvJh&R z<7mz2=57w=`p2^y&YQahmUTSmNkDqU2dQ^Kf)rso3@ zRFz23!7Ob}9>x^EsT^_fpidTC6FY!T@vj1?w1%lIY`zg9g;Tg$4FL@Uw*a>x*J5yW^K z;v*Rn%26drf^hx~#+g6wwT5CXm!lFn#HvIg0-iSv0zHa>>jXd%d@jg2sf4pO`51<` z=zU!LMvv2LdDT>?O$8x}A`v3YX=G}qA;Jy2fmrxLKzi7S-`Lz2f_E8j@^TVjq91I@ z?99@0g&`XE_@KQ)|{2Z?(jxyu3( zl;lqC>x*_0Z~EZxpLaW)LTb&V<6^PfieeISR05x1Kx<5ED^(p_9xBHvUtMumdQaoN zvlQjH73N4!@#Z?E?QzhBZ{ynK|69A7{MSQB#MaBxGeyKEIBaE_w|cM6#2bI zy=XZL39WUh>zD=aI^q$V<*{Tk2yCmVykDtKQ!RDo2-ZVwzk(V#o+?nRj`BZAG_WpP(bU$Y2O>iOp9>P%bp7#3n79neP6wa zCMS#v1`7f`(v86CJY;QcZ(05V{J00cjcFa1ziuC6GtjH-?zV8d3F#PbvfEuGD=1rUwyWEndP~Tw6>WjZs7{dr0n9aDu9%bhyhR=bv2d=m`{1vYRt{A^S?+-`+wgfI2 zyCB?#t}2LjQV(~yBJ35P#VA+Y7xs#!#1R5N+qRqMkv-@n|GzNy^NYYj#EE5pRbR@*H{F>f`-+;OnhfL=oz+}7Q*bC+E zI0%G6P9=l|N7xdwGb~m?uhFV}CIYrNi1A`EKrta6fcOA9XA(j2oz_wMC~dk7fpR-F zEJR7JyH1g!M05Hn&l!nrboTIg4O2Ya0cfOwK|_(C(m^;Ygcz>ve{1NS7*+^54G`T` z7%d3ABir4`o;S01!x{trU7pljmu<5)Cut1Gr1-ah3%Io*U`9LSd<0@x1p#(6==c?`_n*9?G-Vhd z@(Fj0vx{tn4WYCeNH~&)s08G3JCFc>>O0fbsdm_Xm!Ms8LYS`0)ft})4vBI(V{^cg zrW!Fqw*Oo!8p^wQg5UE{CZrSql6bz5IS%mBh_QM)$MA+>OnH%L)%$?k4#`lVhB4Vr z_wdhBJ`Oy*3U!zm5hKiMm7qtg2!I{w0U~k}@Si~Fo7JhAF$p_(#32#jJe8L}$fHJ4 zi(M7l6AQqk^o8+ipr`;738I&s5P={UKpfy}d$zUQ!wBY)1S}!O<#mHZ`qhyv)WIDd z)0GB5WoO(;omDhP8OVstQ2_obUF`{EE*GIR(1a>;;?=Cv!3(t+{Y1H3Gn7nuN>=@- zo|H5DzL6|=b@a9dr_U^SKx`n&a^q25YK@V<%K^#=N=(+B1#p%}cE(%|=vLJyh4(|% zs2=CJ`Q@))bS_SwEw5v0Y|n5@w~@R9}evp1KAxGlQf-hpY@p&B`HhcE#dYYP@}i z{6=vXeJWd<7ddRaA2U!>2H+&WvB{q1^>7Ff0LlNz7xXBuGqlwDob3Ld47bs^(kpq0 zKNo~kp&Rdh$61M@KN^01_sCfB;`~uv=~~Gb261hqlI>DZ#jZ&`mSz2bq@R=&Gbk2) zYk>V76?jxQ(_6nNnm&GN_^n$_v>K;B0UQ%jXq+ff+fdH_MR;MpNc0EiN;|`&jhPfs zT?q=e!H}Xwk;U#n@C~V!e({L}J-?=_>8ngrqzx|}U_aNY$%cIpeg%V1#gP3TJb*UE zEt1qF{PHTU>#&L^51=b+UZcv|w}QL50Q5XSv<3|R*jP)qA5zlYsV6_NW7hLnJh@Cx z$0i@ge-d5YlzF*vw)DmO zro}aBy5p%ji7*)3_13c1d!_Hvl7P#2Q;un4>*ISGOY7%h4mH0u1=9-cln(1!+B-Es z6u%|Yq`%yBF+W4%AUAk{{5&&8(&u7pNmu$K&qJDzv-}dEbQcb$l=OmISEAtIewjWW zER!++Kg{Xhp3)=Pl4K+8H#B7ado89d^W|+g_|1`#0h&BUqH$_Yk52EYaY-N`GO?%8 zUs_)vn}u^hQa8b95ZkOxAbdWl89Fn*#@z-^>x$M3vjO^)4yUx$s3+>QOT=tMed!3K>;ti5SzB zt}*B#1$e2mb3={D;3P)SEskV6s{9#%YPcmn2a8mKA=1Y0Yybt?nUZJksDiH?4Jwoa z!H+eZ;#B2z_UfXuXgZ`3v=3sz8rO9E?Ze2cGd_%X&m?Fpk~iSRC$LggYdkn%`kXuv zC{?Q(czdP>Sju_iy0p=AJJ|{cF!X03n@ZB*c~XpasUv-m08zKx_j`U_6VfNzhcJQ# z32GN=!nAwpmS%Svfn^8qj9fsWiw+UP1$#AHSzA1d)=<`unfQJN z07O1j=kNm;Ut`qhtqK|WSP{rCZDSUnn66{tX*EVCqw)cW!uZK$hk^%m>wx9tX$jI& zMVTVSQo@A>T4ttJz_ko;#>lvsLyVAtk|L1}raXK$!ki?BDRYv_VJ!i5$*Z@Tfpte5 zfcQuQu4D8{@;GUmQP-D{GaB>6;0MC-e6XXmH1``=9U8Z zRK)cP9f3&n1 zGmy~&HF`!s$cJfmm{S$2N#~Ht=^becOjr5}sSHyff5y{gu-#dk_)>YRvHId<8#E+U z&6JRIHlTXM35~G5(!g|*g?K-j^qt;|HCrKp%e2_- zBiIAr^fO-NKUkKE=0Oc?yU9PnmMv<>zGYSnOR6J;l1|AAR-qP@< zyzQm$YqYgwA1a4_hbvsdtWZZ`H-8DW1fck#)F$HUP&vZT+W}th5lR2|7n-AtWOxR7 zeW_Sk`v@8{^1ar-Rmu+J&@$kVACSGS8lvyXREWPw4uMx+X}_53Cqt)fX_)`*kv2@g z<6o%=3W{;t_)9siK2os%V*W=-k^rx{(oUKdn<|S;)TONcUH(e)-QzDnn?!8DD2Yj7 z9s3W4s!zy_|KAzvR&g#y0`sI!n}sQ|BXm|0 zX9!aLdrWJ)EL9veOY4`)K{J=Ypxuq*D==7bLtp2rg4j&*TrLBnE*{ z7uWYneQXUFZ>^iRlDgi@9qFgm{(-ep^ca_-c%~4tSZ<_&GX8aX={qzd?#iZEZ&84j zGzGKLO}=&-psuQ8{WQ^fSN`Xn$!dz=dzA~Hcy>o(phL{2RmMA5utrHKo}o{kqa8)( z_0;IM17LUbehYotxA#x7&7k1%t-)>ddSx9avu(7xao=8bptbKvMST!S>0?JLy)Kv3 zffm2NQwXiwS_haJH~2pDg*QOc$K;pDll9}~Tf_ctdc(rl1xh1e50zlr>=JpdZ&g4; zo?OQH?4gjFOZIs$y*@qYs$Wv61i1eLYl6xj+R@e^$!e5|P23rL)g6^_P2Ds%oB2gh zWh6SE&JC{w;eJ4={PMHltM1WFbeyISDm#|gL)YuSGPR<A z-1Uug;gDg&Uv#v@1tCS7Kk$h?baH50P|+j`HxW{y`tJxT^`J2!wV}s6${vng;H2u) z`z!m5SxT1jqaU|C$_5vAG)X3wTosw3$NO;x6pBM!O*zg(*eVN=vfCcS`a zZ)lrfrLvMX>Pu*aRcbr7DUy7s-<(K;J-?sc7(q9yPn)`u?!zp9dXjNTiuQ!CVRtB5 ze0lgG{^?WuWldQ?8MVkwrJJu$+I)SKvV!2HN09^`I(hF*=}O1f?FnWx=O|*?9KzTP z`;YD#PVXwad1RtCUY6rKx2{}10Og`p^W|U$RlyK?=~aaXxOAoLw|oR%U^0Zbp!(_S zO4Y8^{|?;;yn%n<<;}RbviHaXBmut}4GDPAYUYN~D6DRed1M*)v`-XqBM~kYKt98u zVQ9!WyMU`jsQiSA8L~K%Kh2HDeH!4HA1?w_f{_INeQ*Hz-9;tw`5bP-Ob5K;>qXZ99g!a*LoC|uA4vd&*Th)^~Q8}D6M7U6(e0q!o* zl_O)qrnF3LA;(HM3I|XGK-%1z^ehai<&+<`;59{|;%H3&>d0|wBZ``SHCN!FqG4EE#j=pW4RZol z&0}8LBcMEJLBeTYpTfxsP6^dcYSyRxkhBPs-Hmky^LG{@$6ASOP8R@gK%fAgSq5PA zP|^oNIv2JoIgDI*d|27BF%&g?4=r-`5k&@kFhS+WYGJ*67T16gG%kCPzLvm>ABs>( zdJx20N-fB^TYd&zw&WU~hSaU^1Qv#w06q?Lor{LXHr%F`n#=K?p&QZo{+-EI`(VFZ zR6R(8tHk&vEYS)YUuLHbN`T@dT*yNl7&hd;OZ9-%}=ySjRv}`r@3XuYdTeoAXLK&-XoKG!0lQ> z-EOu=_9`E?PsE(Ug%x|=j;(?|Bc)n?*?sHEfmI(VRx?Gh8eAJXMT79lgSWPOhBCNT zRcum4K_ZL1@c1M@asa&}jEjd($IKRKo)tK|F=p!InXL{xGbf$d89XxqlP#0naaEAv zHDPW=z~o3dZu??X9_S4OS7&++8Z+mq&E>L;%f^xrqEVt0iQ3WB*A?EJX@>GMB-X$W z3h2)qk7~h7c4e1&>IUdcM2sz_^lbh7sVwzWQ%|Q(--Xwhk&*K12-bh zkA0<S z^m=iLEXDZ-BE`pOH_X$eAznCcEM57;of<6^E`jXRF;GM!`_77fUIV>;;Hp3vXp21N zou;mXQq!(vW_HX2?ni3&k}H%GmD{%Uzpa#zh)`uN zW~Z(8JqVWiEpMdECPoQjmw9U8f$S@4K`S z+GH&}c;E&`m5t;ADXFjn|6Pht$wA2cow?fw>dNp9P=JSa-H>guoC!RjIry75T%e&w zJhrJy3l0ao-U$H|7U&Y-inZ|_(Cez%2wku7pd!X)BF(aCjbdg%5kkhTb%9z|TLoxp zwL(|}VhVdR94pe{gdDO}hysw3q>GhAWT}}S_wvg<`Vde03U|%(6pua@3L7&?#N>yv+%*jlo*lA$k(H42m!gID7NLrP^+8FWavo~Q z5^9m@q)t^mG%^O^Vl4{*2-H~?O{XQtg)Gqd2~O6M0<2Uh3}|8dU;zKM1=}v>KSb1a zv>u>da!`6LpNM@yf#T`8(t0m7w^x84su^}vhax8kD1mhx1KDC%ilHA;r$&gyWPvx1 z(W(y=ej);E4Dr%G*UJgkM`T=#@Dhb(&QVWAbcVOI+j!tL>Cmn20 ze~-zNxIt0?qz#p6ZrMw%UtX{S)1xeeVwDCw6ewy31ZCtufovc@K~)8gi`eWTLJq-f z@oyj;y%*yC9-srSBLib-^GFR~87FR(#z+T-!~wkV0XR&0Va4hYC~8nb|J4wHlSC`k zhxWJS!rGyFUwc7B9Q2GBpb3eEP+);Z-MT_4n6D3p&Z_g&EPoXQ*5O#NMuxXN7Y^A~ z#EPoYScY%nu^)AO=f}NS0QE%BqQwNGgwB<8VUeSY@?14k-WX*W6%L~}6QZ=pVN^%Xo-ts8d&w=SI*Ma054y&l6U6%cZ?nI>KJ zGgh|VJ2S#3X~0d;tQ@lfbFo52bEL2L%sy$`oO4%}hj<4Xv*5(^eR6pBgXb6mH1qR} zH`VcixrjC{KNGvtBTTn2j&aadUk(PBTQf=O+`78;4G-)N97P_MhD63>4mRXQC4Rm0 zqgILZFV0Y@#<2uW-o*(D6gvo~9JY}24#)_ZOO7f@4lS)vN|0KhnmnZFg-fix(Mkqa zEv2XcmnLmK%tP1xQQY^$YLNn2y40BL=TH-ed^~77t-LKZt64#B#cCu;&JS%k^OYXK zWGSh|`R}AI*NHR^tMlhIk}2b3L%1ekTs+I*%t^w&SqgIP(M|!mS#Wk0P(LJW+qoYV zlHsjujbuEMRi`*aGw$CPkeHOH;OW5*01FLL!yVH5P%1%sW4k`pTBXJ%=$ohU^e!bA znoj`e+BhV2MnN7tPe5MW=;F0R4p$uCU@4$M8Y6(0g#IXEk#ulBv_-+_%GHahEXpKV z;JRVfo_jCihV}ZT^WYa*5E@a7+v9~bL#Qzf@qw~PJ$vO4sd8(eGC}%)SAj@ytCZj{ zZ&7p+`c5S=wMJuRsF8(&L(|9FfVQ?pWl}*>Dkn*9?`-_x3f}%C2cUy-#mM6pHMoBt ze7>G_@@uia7W&Bf9Ec4niUGdQ@kt;wD9?Ho#{yjcCqsTqpkwy5_zXVPhfmMsg4b24 zaHA$v5y>GQQfd@fh;2|pYWf&>Y)qWHJVL*@s%ezDSY0X)tgbEAk~$FpL&n6YlBR3p zH(I7Sk}xocfZ!}(h0G5+dUwA9nS$B4vq}ufU)v>R0lVNR37=%dZr9_4!l0+4VT&7| z&WEiad2sNkQ$t7f2b%ByD%2=Zva2$cey)Twj`O&;_D)=wNa^td536Q>IG ziba0*Y=CSEMYNWw4r0~Chf8AMjEV?HnMw?kJ)Q(1`!7&A7Lk-;dkvOui@13TK^^Np zgX3q2GCt>SQ`a8KDkW&-cyVd#n+>@*1OXTjT*q`O2Y^M4>!F%d3nw{z4yY`j1%QyX z=cOCaO|jL3(IfQxf!p=Br<@rmX*ey1<%Tw#xPa=*>1FKVT9P2>6wLj7=#j;&p;A2W zcjF=e3b|Df$iP@cQ5caRNAJmdkK7JnvBMBOFIQA&C@!Z&0}5ROMtiyM}_`+7z4Q+b&k5y(_0nGl6s_{PgI7 zoWp6SY)}QJ>p&F}=5rlpxDCe}R0M88EY&SJ0U$DBsHA*PEXQY|@)a@5$6(^5PSg3Z zCu6kf(@3C(eEs09EA!PGS?G9GrRq?wWgH8c13m#NfvZO$-C6lU3#FQY|Dq|hKic1~@lx{2PmICDc2LqYJ~|K0C3G(UdjYY^ z%MZRDU>uqI+Dgf0B)hd7c=L=Dj3Amo>W7agNaiJtG@;*&6s~IZW(wa+NAVs^?)ry1 zrS!Cpm>oEZo`bm3KcQ7IZu)v5g_(MB5oIL73Y*aJs_`{O0|r+j&}-CP(03A5E6L+d z0t6#))x8fh4ej5G=PU!;d(2fm^f`bwHn0`U(m~lEO8_R&{+!pV+*`E zA{*gGDb#{_IEz3I8AGt?UqiYK7a$2}v22%8j%mKu_z^$;XexdY1}t9ckg))(kJwj5L4I&=s z0`&1iFIpx8xFHHL0-Q(zK;gw}X$@*W?JtY~xXNvup$t1D&;oFOz=j`}lN}m-mP>X+ zu+Qy7Z8Jjk?|Oi2rw*U^p87U?QXh_fDsmuQ-fQJoF$7+YwUZ@@a2ElsHx9`iqSyR# zB&t?sOG9xJPm=S4xI3h*;Gw|8$@9s(7(!kgCiV6vU&5E~y|G(yxzG6<-`o1~mn zI>Yz)G2~J1xXiXvMxt>H&4eU|D$78dKA!nlcJb1Efo72Of;FLg`lT}5f$W?3j2r!Z z+@>^HY#ZDbXfq+r*ne@+^~`U^+`e*K;N(bLN>E#gd?xd0TXyKvo1e-)uW)wM;*tg_ z?KNa$;QcQTbIPKrRc-Wout?wEhaqx%N~qyJeqQN9P&RX_8F#B(e30-Ddv=HF?w!GX zFXT;ayz-w>?d0GKW>~^DmEY8imRlR@vscl=&%JZYda+pc_=37}=n=|h<)6YXt*nKm z3vnYh943z1FWcfFxd+6L&u~+f&&-P!>tNy9IplP9Yk>UkHI0#{(YBK2c0oFLuLB#G z%#a->@nhzjzC@Xcda~ag``z_YC&eeUIGibBVX?J*;R+5ne+rrzSJ~QtlLK0g8ac9{_#!pfDws#!vf7Tfq_4k zaZOt`lrtnopg!xoG?h<|C5Ac5Y@sbR!mh^BlZszhAlc+0s_a3#u>J>m(Qi00$)}-~ zhr2)JCG>e~pw-eedquUn0!P;G(uSZG zDrzu*Z&Ng+N9m%54F6^u5xZ$`dr4(bGgMIL#W`vANu&a@9yi9_>{#ErG`ImP=oNDX zLkuLtI7Iq+;9X`c%F(pYMxlV<;jMyCY^Yy=pn8t`36n9i`9i2!`s%uZ=zP3D zSl>*%zL1Wiz~lX^KHIjz-MHU{4SkMQl@3E*(1t@O-(I%aXXV?lWh7UKVIa)6gY!I| z(jiPG%X!#}VXVi(I^32dR`6A+IB$u-L>f!_XD#H7ehpAPC^0VnK#w#HRi=!pOgG9n zia$&fYOI_#tvYR~gLZGxf&qQOpVm;4UEGw;m^8jrdqad9`qNPbnr=wAqxOVj*$`uJ zdsy(xo{X06Ix*XyT0Y5rbeyOcIF%bQS^ztC05DB`svq>MYYT7QX_-FUa+GDf32v1g znOS`_T0J&Gsg z*EYhg;Bagjz{ri7ReXrLa5vd(wh#5Bg?)VX- d#*F)~$v?AC&z|L+lfSU|;T4a4C1j%e{tx&igdzX{ diff --git a/docs/module-doc/classclassbase-members.html b/docs/module-doc/classclassbase-members.html index 9f6aaef1d..ebb0a1092 100644 --- a/docs/module-doc/classclassbase-members.html +++ b/docs/module-doc/classclassbase-members.html @@ -10,7 +10,7 @@ ageclassbase classbase()classbase [inline] ~classbase()classbase [inline] -


Generated on Fri Apr 30 15:46:34 2004 for InspIRCd by +
Generated on Sat May 1 13:39:12 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classclassbase.html b/docs/module-doc/classclassbase.html index 7e170acad..5fc3622c5 100644 --- a/docs/module-doc/classclassbase.html +++ b/docs/module-doc/classclassbase.html @@ -143,7 +143,7 @@ Definition at line 22 of fil
The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:34 2004 for InspIRCd by +
Generated on Sat May 1 13:39:12 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classcommand__t-members.html b/docs/module-doc/classcommand__t-members.html index e682a5dbb..fec485611 100644 --- a/docs/module-doc/classcommand__t-members.html +++ b/docs/module-doc/classcommand__t-members.html @@ -10,7 +10,7 @@ ageclassbase classbase()classbase [inline] commandcommand_t - Extend(std::string key, VoidPointer p)Extensible + Extend(std::string key, char *p)Extensible flags_neededcommand_t GetExt(std::string key)Extensible handler_functioncommand_t @@ -19,7 +19,7 @@ total_bytescommand_t use_countcommand_t ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:34 2004 for InspIRCd by +
Generated on Sat May 1 13:39:13 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classcommand__t.html b/docs/module-doc/classcommand__t.html index 62f517d08..420a0a0a5 100644 --- a/docs/module-doc/classcommand__t.html +++ b/docs/module-doc/classcommand__t.html @@ -200,7 +200,7 @@ Definition at line 42 of
The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:34 2004 for InspIRCd by +
Generated on Sat May 1 13:39:13 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classconnection-members.html b/docs/module-doc/classconnection-members.html index 5e0b13c2b..68f985332 100644 --- a/docs/module-doc/classconnection-members.html +++ b/docs/module-doc/classconnection-members.html @@ -18,7 +18,7 @@ connection()connection connectorsconnection CreateListener(char *host, int p)connection - Extend(std::string key, VoidPointer p)Extensible + Extend(std::string key, char *p)Extensible fdconnection FindHost(std::string host)connection GenKey()connection @@ -42,7 +42,7 @@ stateconnection TerminateLink(char *targethost)connection ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:36 2004 for InspIRCd by +
Generated on Sat May 1 13:39:15 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classconnection.html b/docs/module-doc/classconnection.html index 721996bee..866474624 100644 --- a/docs/module-doc/classconnection.html +++ b/docs/module-doc/classconnection.html @@ -654,7 +654,7 @@ File descriptor of the connection.

Definition at line 166 of file connection.h.

-Referenced by Server::SendTo(), serverrec::serverrec(), and userrec::userrec(). +Referenced by Server::SendTo(), serverrec::serverrec(), and userrec::userrec().

@@ -1011,7 +1011,7 @@ Definition at line 212


The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:36 2004 for InspIRCd by +
Generated on Sat May 1 13:39:15 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classes.html b/docs/module-doc/classes.html index e5661e253..183c704e5 100644 --- a/docs/module-doc/classes.html +++ b/docs/module-doc/classes.html @@ -24,7 +24,7 @@
  M  
Server   
  Z  
ConfigReader   GLine   ModeParameter   serverrec   ZLine   ConnectClass   
  H  
-
Generated on Fri Apr 30 15:46:31 2004 for InspIRCd by +
Generated on Sat May 1 13:39:10 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classircd__connector-members.html b/docs/module-doc/classircd__connector-members.html index b0ec48472..d1e11ca91 100644 --- a/docs/module-doc/classircd__connector-members.html +++ b/docs/module-doc/classircd__connector-members.html @@ -12,7 +12,7 @@ classbase()classbase [inline] CloseConnection()ircd_connector descriptionircd_connector [private] - Extend(std::string key, VoidPointer p)Extensible + Extend(std::string key, char *p)Extensible fdircd_connector [private] GetDescription()ircd_connector GetDescriptor()ircd_connector @@ -36,7 +36,7 @@ Shrink(std::string key)Extensible stateircd_connector [private] ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:42 2004 for InspIRCd by +
Generated on Sat May 1 13:39:20 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classircd__connector.html b/docs/module-doc/classircd__connector.html index aa0818e4d..9d8bfb109 100644 --- a/docs/module-doc/classircd__connector.html +++ b/docs/module-doc/classircd__connector.html @@ -777,7 +777,7 @@ Definition at line 63
The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:42 2004 for InspIRCd by +
Generated on Sat May 1 13:39:20 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classpacket-members.html b/docs/module-doc/classpacket-members.html index 36d9a4cf0..42d5e765c 100644 --- a/docs/module-doc/classpacket-members.html +++ b/docs/module-doc/classpacket-members.html @@ -10,7 +10,7 @@ ageclassbase classbase()classbase [inline] ~classbase()classbase [inline] -
Generated on Fri Apr 30 15:46:45 2004 for InspIRCd by +
Generated on Sat May 1 13:39:23 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classpacket.html b/docs/module-doc/classpacket.html index bbb978dae..b5c9646f1 100644 --- a/docs/module-doc/classpacket.html +++ b/docs/module-doc/classpacket.html @@ -31,7 +31,7 @@ This declaration is preserved here to maintain documentation only.

Definition at line 155 of file connection.h.


The documentation for this class was generated from the following file: -
Generated on Fri Apr 30 15:46:45 2004 for InspIRCd by +
Generated on Sat May 1 13:39:23 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classserverrec-members.html b/docs/module-doc/classserverrec-members.html index 4cd3caba7..3b18ee111 100644 --- a/docs/module-doc/classserverrec-members.html +++ b/docs/module-doc/classserverrec-members.html @@ -19,7 +19,7 @@ connectorsconnection CreateListener(char *host, int p)connection descriptionserverrec - Extend(std::string key, VoidPointer p)Extensible + Extend(std::string key, char *p)Extensible fdconnection FindHost(std::string host)connection GenKey()connection @@ -55,7 +55,7 @@ versionserverrec ~classbase()classbase [inline] ~serverrec()serverrec -
Generated on Fri Apr 30 15:46:47 2004 for InspIRCd by +
Generated on Sat May 1 13:39:25 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classserverrec.html b/docs/module-doc/classserverrec.html index 347ee98e2..46a6352bb 100644 --- a/docs/module-doc/classserverrec.html +++ b/docs/module-doc/classserverrec.html @@ -480,7 +480,7 @@ Referenced by serverrec()
The documentation for this class was generated from the following files:
-
Generated on Fri Apr 30 15:46:47 2004 for InspIRCd by +
Generated on Sat May 1 13:39:25 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classucrec-members.html b/docs/module-doc/classucrec-members.html index fa8a99e3e..bf936fed1 100644 --- a/docs/module-doc/classucrec-members.html +++ b/docs/module-doc/classucrec-members.html @@ -10,14 +10,14 @@ ageclassbase channelucrec classbase()classbase [inline] - Extend(std::string key, VoidPointer p)Extensible + Extend(std::string key, char *p)Extensible GetExt(std::string key)Extensible Shrink(std::string key)Extensible uc_modesucrec ucrec()ucrec [inline] ~classbase()classbase [inline] ~ucrec()ucrec [inline, virtual] -
Generated on Fri Apr 30 15:46:48 2004 for InspIRCd by +
Generated on Sat May 1 13:39:26 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classucrec.html b/docs/module-doc/classucrec.html index 0d39baa51..c9a240d55 100644 --- a/docs/module-doc/classucrec.html +++ b/docs/module-doc/classucrec.html @@ -165,7 +165,7 @@ Referenced by userrec::userre
The documentation for this class was generated from the following file:
-
Generated on Fri Apr 30 15:46:48 2004 for InspIRCd by +
Generated on Sat May 1 13:39:26 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classuserrec-members.html b/docs/module-doc/classuserrec-members.html index d09cd94ec..dfde860d7 100644 --- a/docs/module-doc/classuserrec-members.html +++ b/docs/module-doc/classuserrec-members.html @@ -21,7 +21,7 @@ connectorsconnection CreateListener(char *host, int p)connection dhostuserrec - Extend(std::string key, VoidPointer p)Extensible + Extend(std::string key, char *p)Extensible fdconnection FindHost(std::string host)connection flooduserrec @@ -63,7 +63,7 @@ userrec()userrec ~classbase()classbase [inline] ~userrec()userrec [inline, virtual] -
Generated on Fri Apr 30 15:46:49 2004 for InspIRCd by +
Generated on Sat May 1 13:39:27 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/classuserrec.html b/docs/module-doc/classuserrec.html index 023abf77f..5a12bb755 100644 --- a/docs/module-doc/classuserrec.html +++ b/docs/module-doc/classuserrec.html @@ -298,41 +298,37 @@ Definition at line 97 of 00114 log(DEBUG,"*** HasPermission: %s is an oper of type '%s'",this->nick,this->oper); 00115 ConfValue("type","classes",j,Classes,&config_f); 00116 char* myclass = strtok_r(Classes," ",&savept); -00117 //myclass = savept; -00118 while (myclass) -00119 { -00120 log(DEBUG,"*** HasPermission: checking classtype '%s'",myclass); -00121 for (int k =0; k < ConfValueEnum("class",&config_f); k++) -00122 { -00123 ConfValue("class","name",k,ClassName,&config_f); -00124 if (!strcmp(ClassName,myclass)) -00125 { -00126 ConfValue("class","commands",k,CommandList,&config_f); -00127 log(DEBUG,"*** HasPermission: found class named %s with commands: '%s'",ClassName,CommandList); +00117 while (myclass) +00118 { +00119 log(DEBUG,"*** HasPermission: checking classtype '%s'",myclass); +00120 for (int k =0; k < ConfValueEnum("class",&config_f); k++) +00121 { +00122 ConfValue("class","name",k,ClassName,&config_f); +00123 if (!strcmp(ClassName,myclass)) +00124 { +00125 ConfValue("class","commands",k,CommandList,&config_f); +00126 log(DEBUG,"*** HasPermission: found class named %s with commands: '%s'",ClassName,CommandList); +00127 00128 -00129 -00130 mycmd = strtok_r(CommandList," ",&savept2); -00131 //mycmd = savept2; -00132 while (mycmd) -00133 { -00134 if (!strcasecmp(mycmd,command)) -00135 { -00136 log(DEBUG,"*** Command %s found, returning true",command); -00137 return true; -00138 } -00139 mycmd = strtok_r(NULL," ",&savept2); -00140 //mycmd = savept2; -00141 } -00142 } -00143 } -00144 myclass = strtok_r(NULL," ",&savept); -00145 //myclass = savept; -00146 } -00147 } -00148 } -00149 } -00150 return false; -00151 } +00129 mycmd = strtok_r(CommandList," ",&savept2); +00130 while (mycmd) +00131 { +00132 if (!strcasecmp(mycmd,command)) +00133 { +00134 log(DEBUG,"*** Command %s found, returning true",command); +00135 return true; +00136 } +00137 mycmd = strtok_r(NULL," ",&savept2); +00138 } +00139 } +00140 } +00141 myclass = strtok_r(NULL," ",&savept); +00142 } +00143 } +00144 } +00145 } +00146 return false; +00147 }
@@ -722,7 +718,7 @@ An invalid nickname indicates an unregistered connection prior to the NICK comma

Definition at line 91 of file users.h.

-Referenced by Server::QuitUser(). +Referenced by Server::QuitUser().

@@ -835,7 +831,7 @@ Referenced by userrec().


The documentation for this class was generated from the following files: -
Generated on Fri Apr 30 15:46:49 2004 for InspIRCd by +
Generated on Sat May 1 13:39:27 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/commands_8h-source.html b/docs/module-doc/commands_8h-source.html index 437a19dff..01b3b7ee2 100644 --- a/docs/module-doc/commands_8h-source.html +++ b/docs/module-doc/commands_8h-source.html @@ -98,7 +98,7 @@ 00098 bool is_uline(const char* server); 00099 00100 #endif -

Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +

Generated on Sat May 1 13:38:59 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/commands_8h.html b/docs/module-doc/commands_8h.html index 2bea6fe23..4708fe2e5 100644 --- a/docs/module-doc/commands_8h.html +++ b/docs/module-doc/commands_8h.html @@ -3446,7 +3446,7 @@ Functions for u:lined servers.

-Referenced by Server::IsUlined(). +Referenced by Server::IsUlined().

@@ -3517,7 +3517,7 @@ Referenced by Server::IsUli -


Generated on Fri Apr 30 15:46:25 2004 for InspIRCd by +
Generated on Sat May 1 13:39:03 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/connection_8h-source.html b/docs/module-doc/connection_8h-source.html index 5676b36fe..002837730 100644 --- a/docs/module-doc/connection_8h-source.html +++ b/docs/module-doc/connection_8h-source.html @@ -157,7 +157,7 @@ 00288 00289 #endif 00290 -

Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +

Generated on Sat May 1 13:38:59 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/connection_8h.html b/docs/module-doc/connection_8h.html index e2c0fb1fc..e7bc240bf 100644 --- a/docs/module-doc/connection_8h.html +++ b/docs/module-doc/connection_8h.html @@ -203,7 +203,7 @@ Definition at line 27 Definition at line 24 of file connection.h. -
Generated on Fri Apr 30 15:46:26 2004 for InspIRCd by +
Generated on Sat May 1 13:39:04 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/ctables_8h-source.html b/docs/module-doc/ctables_8h-source.html index de2de125b..fc96a89e0 100644 --- a/docs/module-doc/ctables_8h-source.html +++ b/docs/module-doc/ctables_8h-source.html @@ -41,7 +41,7 @@ 00047 00048 #endif 00049 -

Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +

Generated on Sat May 1 13:38:59 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/ctables_8h.html b/docs/module-doc/ctables_8h.html index dbb8cdb52..f609460b7 100644 --- a/docs/module-doc/ctables_8h.html +++ b/docs/module-doc/ctables_8h.html @@ -30,7 +30,7 @@ This graph shows which files directly or indirectly include this file:

class  command_t  A structure that defines a command. More...

-
Generated on Fri Apr 30 15:46:26 2004 for InspIRCd by +
Generated on Sat May 1 13:39:04 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/files.html b/docs/module-doc/files.html index be56ff88b..a5e078f14 100644 --- a/docs/module-doc/files.html +++ b/docs/module-doc/files.html @@ -23,7 +23,7 @@ users.h [code] xline.h [code] -
Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +
Generated on Sat May 1 13:38:59 2004 for InspIRCd by doxygen1.3-rc3
diff --git a/docs/module-doc/functions.html b/docs/module-doc/functions.html index 13b534329..65c5edaa5 100644 --- a/docs/module-doc/functions.html +++ b/docs/module-doc/functions.html @@ -13,8 +13,9 @@ Here is a list of all class members with links to the classes they belong to:

- a -

+: Server
  • IsOnChannel() +: Server
  • IsUlined() +: Server

    - j -

    - k -

    - r -

    - ~ -

    • ~chanrec() @@ -297,7 +301,7 @@ Here is a list of all class members with links to the classes they belong to:

      serverrec
    • ~ucrec() : ucrec
    • ~userrec() : userrec
    -
    Generated on Fri Apr 30 15:46:31 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:10 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/globals.html b/docs/module-doc/globals.html index e52a8e334..50ed95c36 100644 --- a/docs/module-doc/globals.html +++ b/docs/module-doc/globals.html @@ -12,7 +12,19 @@

    Here is a list of all file members with links to the files they belong to:

    - a -

    - d - @@ -52,7 +64,7 @@ Here is a list of all file members with links to the files they belong to:

    xline.h
  • del_qline() : xline.h
  • del_zline() : xline.h
  • DoAddExtendedMode() -: modules.cpp +: modules.cpp

    - e -

    - g -

    @@ -175,10 +187,12 @@ Here is a list of all file members with links to the files they belong to:

    mode.h
  • MODCOUNT : modules.cpp
  • ModeDefined() : modules.cpp
  • ModeDefinedOff() -: modules.cpp
  • ModeDefinedOn() -: modules.cpp
  • ModeDefinedOper() -: modules.cpp
  • modules() -: modules.cpp
  • MT_CHANNEL +: modules.cpp
  • ModeDefinedOn() +: modules.cpp
  • ModeDefinedOper() +: modules.cpp
  • ModeIsListMode() +: modules.cpp
  • ModeMakeList() +: modules.cpp
  • modules() +: modules.cpp
  • MT_CHANNEL : modules.h
  • MT_CLIENT : modules.h
  • MT_SERVER : modules.h @@ -207,7 +221,7 @@ Here is a list of all file members with links to the files they belong to:

    safedelete() : message.h
  • send_network_quit() : message.h
  • server_mode() -: modules.h, mode.h
  • SPARSE +: modules.h, mode.h
  • SPARSE : modules.h
  • STATE_CONNECTED : connection.h
  • STATE_DISCONNECTED : connection.h
  • STATE_NOAUTH_INBOUND @@ -223,7 +237,7 @@ Here is a list of all file members with links to the files they belong to:

    users.h
  • STATUS_OP : users.h
  • STATUS_VOICE : users.h
  • string_list -: modules.h
  • sync_xlines() +: modules.h
  • sync_xlines() : xline.h

    - t -

    -
    Generated on Fri Apr 30 15:46:51 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:29 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/graph_legend.html b/docs/module-doc/graph_legend.html index 4ac49f896..1d17a02d5 100644 --- a/docs/module-doc/graph_legend.html +++ b/docs/module-doc/graph_legend.html @@ -69,7 +69,7 @@ A purple dashed arrow is used if a class is contained or used by another class.
  • A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
  • -
    Generated on Fri Apr 30 15:46:51 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:29 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/hierarchy.html b/docs/module-doc/hierarchy.html index b8740117d..7470b7b5e 100644 --- a/docs/module-doc/hierarchy.html +++ b/docs/module-doc/hierarchy.html @@ -50,7 +50,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically:
    -
    Generated on Fri Apr 30 15:46:31 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:10 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/inherits.html b/docs/module-doc/inherits.html index 9137ea35f..359c95704 100644 --- a/docs/module-doc/inherits.html +++ b/docs/module-doc/inherits.html @@ -43,7 +43,7 @@ -
    Generated on Fri Apr 30 15:46:51 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:29 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/main.html b/docs/module-doc/main.html index d6aeb50df..c433b868d 100644 --- a/docs/module-doc/main.html +++ b/docs/module-doc/main.html @@ -8,7 +8,7 @@ Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  


  • InspIRCd Documentation

    -


    Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +
    Generated on Sat May 1 13:38:59 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/message_8h-source.html b/docs/module-doc/message_8h-source.html index 385b8c0d8..cd076d86a 100644 --- a/docs/module-doc/message_8h-source.html +++ b/docs/module-doc/message_8h-source.html @@ -42,7 +42,7 @@ 00034 void send_network_quit(const char* nick, const char* reason); 00035 00036 #endif -

    Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +

    Generated on Sat May 1 13:38:59 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/message_8h.html b/docs/module-doc/message_8h.html index 82047f0e8..238512165 100644 --- a/docs/module-doc/message_8h.html +++ b/docs/module-doc/message_8h.html @@ -150,7 +150,7 @@ This graph shows which files directly or indirectly include this file:

    -Referenced by Server::ChangeHost(). +Referenced by Server::ChangeHost().

    @@ -190,7 +190,7 @@ Referenced by Server::Chang

    -Referenced by Server::ChangeGECOS(). +Referenced by Server::ChangeGECOS().

    @@ -326,7 +326,7 @@ Referenced by Server::Chang

    -Referenced by Server::ChanMode(). +Referenced by Server::ChanMode().

    @@ -366,7 +366,7 @@ Referenced by Server::ChanM

    -Referenced by Server::CommonChannels(). +Referenced by Server::CommonChannels().

    @@ -442,7 +442,9 @@ Referenced by Server::Commo

    - + +

    +Referenced by Server::IsOnChannel().

    @@ -540,7 +542,7 @@ Referenced by Server::Commo

    -Referenced by Server::IsNick(). +Referenced by Server::IsNick().

    @@ -667,7 +669,7 @@ Referenced by Server::IsNic

    -Referenced by Server::QuitUser(). +Referenced by Server::QuitUser().

    @@ -728,7 +730,7 @@ Referenced by Server::QuitU -


    Generated on Fri Apr 30 15:46:27 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:05 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/mode_8h-source.html b/docs/module-doc/mode_8h-source.html index d234e9587..72d2d6cde 100644 --- a/docs/module-doc/mode_8h-source.html +++ b/docs/module-doc/mode_8h-source.html @@ -33,13 +33,13 @@ 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); +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 -

    Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +

    Generated on Sat May 1 13:39:00 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/mode_8h.html b/docs/module-doc/mode_8h.html index ad494a3da..ab7faf405 100644 --- a/docs/module-doc/mode_8h.html +++ b/docs/module-doc/mode_8h.html @@ -788,7 +788,7 @@ This graph shows which files directly or indirectly include this file:

    -
    Generated on Fri Apr 30 15:46:27 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:06 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/modules_8cpp-source.html b/docs/module-doc/modules_8cpp-source.html index 62a3122c0..7d63ff9d7 100644 --- a/docs/module-doc/modules_8cpp-source.html +++ b/docs/module-doc/modules_8cpp-source.html @@ -34,423 +34,465 @@ 00026 int params_when_on; 00027 int params_when_off; 00028 bool needsoper; -00029 ExtMode(char mc, int ty, bool oper, int p_on, int p_off) : modechar(mc), type(ty), needsoper(oper), params_when_on(p_on), params_when_off(p_off) { }; -00030 }; -00031 -00032 typedef std::vector<ExtMode> ExtModeList; -00033 typedef ExtModeList::iterator ExtModeListIter; -00034 -00035 ExtModeList EMode; -00036 -00037 // returns true if an extended mode character is in use -00038 bool ModeDefined(char modechar, int type) -00039 { -00040 log(DEBUG,"Size of extmodes vector is %d",EMode.size()); -00041 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) -00042 { -00043 log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type); -00044 if ((i->modechar == modechar) && (i->type == type)) -00045 { -00046 return true; -00047 } -00048 } -00049 return false; -00050 } -00051 -00052 bool ModeDefinedOper(char modechar, int type) -00053 { -00054 log(DEBUG,"Size of extmodes vector is %d",EMode.size()); -00055 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) -00056 { -00057 log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type); -00058 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true)) -00059 { -00060 return true; -00061 } -00062 } -00063 return false; -00064 } -00065 -00066 // returns number of parameters for a custom mode when it is switched on -00067 int ModeDefinedOn(char modechar, int type) +00029 bool list; +00030 ExtMode(char mc, int ty, bool oper, int p_on, int p_off) : modechar(mc), type(ty), needsoper(oper), params_when_on(p_on), params_when_off(p_off) { }; +00031 }; +00032 +00033 typedef std::vector<ExtMode> ExtModeList; +00034 typedef ExtModeList::iterator ExtModeListIter; +00035 +00036 ExtModeList EMode; +00037 +00038 // returns true if an extended mode character is in use +00039 bool ModeDefined(char modechar, int type) +00040 { +00041 log(DEBUG,"Size of extmodes vector is %d",EMode.size()); +00042 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +00043 { +00044 log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type); +00045 if ((i->modechar == modechar) && (i->type == type)) +00046 { +00047 return true; +00048 } +00049 } +00050 return false; +00051 } +00052 +00053 bool ModeIsListMode(char modechar, int type) +00054 { +00055 log(DEBUG,"Size of extmodes vector is %d",EMode.size()); +00056 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +00057 { +00058 log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type); +00059 if ((i->modechar == modechar) && (i->type == type) && (i->list == true)) +00060 { +00061 return true; +00062 } +00063 } +00064 return false; +00065 } +00066 +00067 bool ModeDefinedOper(char modechar, int type) 00068 { -00069 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) -00070 { -00071 if ((i->modechar == modechar) && (i->type == type)) -00072 { -00073 return i->params_when_on; -00074 } -00075 } -00076 return 0; -00077 } -00078 -00079 // returns number of parameters for a custom mode when it is switched on -00080 int ModeDefinedOff(char modechar, int type) -00081 { -00082 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) -00083 { -00084 if ((i->modechar == modechar) && (i->type == type)) -00085 { -00086 return i->params_when_off; -00087 } -00088 } -00089 return 0; -00090 } -00091 -00092 // returns true if an extended mode character is in use -00093 bool DoAddExtendedMode(char modechar, int type, bool requires_oper, int params_on, int params_off) -00094 { -00095 if (ModeDefined(modechar,type)) { -00096 return false; -00097 } -00098 EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off)); -00099 return true; -00100 } -00101 -00102 -00103 // version is a simple class for holding a modules version number -00104 -00105 Version::Version(int major, int minor, int revision, int build) : Major(major), Minor(minor), Revision(revision), Build(build) { }; +00069 log(DEBUG,"Size of extmodes vector is %d",EMode.size()); +00070 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +00071 { +00072 log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type); +00073 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true)) +00074 { +00075 return true; +00076 } +00077 } +00078 return false; +00079 } +00080 +00081 // returns number of parameters for a custom mode when it is switched on +00082 int ModeDefinedOn(char modechar, int type) +00083 { +00084 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +00085 { +00086 if ((i->modechar == modechar) && (i->type == type)) +00087 { +00088 return i->params_when_on; +00089 } +00090 } +00091 return 0; +00092 } +00093 +00094 // returns number of parameters for a custom mode when it is switched on +00095 int ModeDefinedOff(char modechar, int type) +00096 { +00097 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +00098 { +00099 if ((i->modechar == modechar) && (i->type == type)) +00100 { +00101 return i->params_when_off; +00102 } +00103 } +00104 return 0; +00105 } 00106 -00107 // admin is a simple class for holding a server's administrative info -00108 -00109 Admin::Admin(std::string name, std::string email, std::string nick) : Name(name), Email(email), Nick(nick) { }; -00110 -00111 Module::Module() { } -00112 Module::~Module() { } -00113 void Module::OnUserConnect(userrec* user) { } -00114 void Module::OnUserQuit(userrec* user) { } -00115 void Module::OnUserJoin(userrec* user, chanrec* channel) { } -00116 void Module::OnUserPart(userrec* user, chanrec* channel) { } -00117 void Module::OnPacketTransmit(char *p) { } -00118 void Module::OnPacketReceive(char *p) { } -00119 void Module::OnRehash() { } -00120 void Module::OnServerRaw(std::string &raw, bool inbound, userrec* user) { } -00121 int Module::OnUserPreJoin(userrec* user, chanrec* chan, const char* cname) { return 0; } -00122 bool Module::OnExtendedMode(userrec* user, void* target, char modechar, int type, bool mode_on, string_list &params) { return false; } -00123 Version Module::GetVersion() { return Version(1,0,0,0); } -00124 void Module::OnOper(userrec* user) { }; -00125 void Module::OnInfo(userrec* user) { }; -00126 void Module::OnWhois(userrec* source, userrec* dest) { }; -00127 int Module::OnUserPreMessage(userrec* user,void* dest,int target_type, std::string text) { return 0; }; -00128 int Module::OnUserPreNotice(userrec* user,void* dest,int target_type, std::string text) { return 0; }; -00129 int Module::OnUserPreNick(userrec* user, std::string newnick) { return 0; }; +00107 // returns true if an extended mode character is in use +00108 bool DoAddExtendedMode(char modechar, int type, bool requires_oper, int params_on, int params_off) +00109 { +00110 if (ModeDefined(modechar,type)) { +00111 return false; +00112 } +00113 EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off)); +00114 return true; +00115 } +00116 +00117 // turns a mode into a listmode +00118 void ModeMakeList(char modechar) +00119 { +00120 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +00121 { +00122 if ((i->modechar == modechar) && (i->type == MT_CHANNEL)) +00123 { +00124 i->list = true; +00125 return; +00126 } +00127 } +00128 return; +00129 } 00130 -00131 // server is a wrapper class that provides methods to all of the C-style -00132 // exports in the core -00133 // +00131 // version is a simple class for holding a modules version number +00132 +00133 Version::Version(int major, int minor, int revision, int build) : Major(major), Minor(minor), Revision(revision), Build(build) { }; 00134 -00135 Server::Server() -00136 { -00137 } +00135 // admin is a simple class for holding a server's administrative info +00136 +00137 Admin::Admin(std::string name, std::string email, std::string nick) : Name(name), Email(email), Nick(nick) { }; 00138 -00139 Server::~Server() -00140 { -00141 } -00142 -00143 void Server::SendOpers(std::string s) -00144 { -00145 WriteOpers("%s",s.c_str()); -00146 } -00147 -00148 bool Server::MatchText(std::string sliteral, std::string spattern) -00149 { -00150 char literal[MAXBUF],pattern[MAXBUF]; -00151 strncpy(literal,sliteral.c_str(),MAXBUF); -00152 strncpy(pattern,spattern.c_str(),MAXBUF); -00153 return match(literal,pattern); -00154 } -00155 -00156 void Server::SendToModeMask(std::string modes, int flags, std::string text) -00157 { -00158 WriteMode(modes.c_str(),flags,"%s",text.c_str()); -00159 } -00160 -00161 chanrec* Server::JoinUserToChannel(userrec* user, std::string cname, std::string key) -00162 { -00163 return add_channel(user,cname.c_str(),key.c_str(),true); -00164 } -00165 -00166 chanrec* Server::PartUserFromChannel(userrec* user, std::string cname, std::string reason) -00167 { -00168 return del_channel(user,cname.c_str(),reason.c_str(),false); -00169 } -00170 -00171 void Server::ChangeUserNick(userrec* user, std::string nickname) -00172 { -00173 force_nickchange(user,nickname.c_str()); -00174 } -00175 -00176 void Server::QuitUser(userrec* user, std::string reason) -00177 { -00178 send_network_quit(user->nick,reason.c_str()); -00179 kill_link(user,reason.c_str()); -00180 } -00181 -00182 bool Server::IsUlined(std::string server) -00183 { -00184 return is_uline(server.c_str()); -00185 } -00186 -00187 void Server::CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user) -00188 { -00189 call_handler(commandname.c_str(),parameters,pcnt,user); -00190 } -00191 -00192 void Server::Log(int level, std::string s) -00193 { -00194 log(level,"%s",s.c_str()); -00195 } -00196 -00197 void Server::AddCommand(char* cmd, handlerfunc f, char flags, int minparams) -00198 { -00199 createcommand(cmd,f,flags,minparams); -00200 } -00201 -00202 void Server::SendMode(char **parameters, int pcnt, userrec *user) -00203 { -00204 server_mode(parameters,pcnt,user); -00205 } -00206 -00207 void Server::Send(int Socket, std::string s) -00208 { -00209 Write(Socket,"%s",s.c_str()); -00210 } -00211 -00212 void Server::SendServ(int Socket, std::string s) -00213 { -00214 WriteServ(Socket,"%s",s.c_str()); -00215 } -00216 -00217 void Server::SendFrom(int Socket, userrec* User, std::string s) -00218 { -00219 WriteFrom(Socket,User,"%s",s.c_str()); -00220 } -00221 -00222 void Server::SendTo(userrec* Source, userrec* Dest, std::string s) -00223 { -00224 if (!Source) -00225 { -00226 // if source is NULL, then the message originates from the local server -00227 Write(Dest->fd,":%s %s",this->GetServerName().c_str(),s.c_str()); -00228 } -00229 else -00230 { -00231 // otherwise it comes from the user specified -00232 WriteTo(Source,Dest,"%s",s.c_str()); -00233 } +00139 Module::Module() { } +00140 Module::~Module() { } +00141 void Module::OnUserConnect(userrec* user) { } +00142 void Module::OnUserQuit(userrec* user) { } +00143 void Module::OnUserJoin(userrec* user, chanrec* channel) { } +00144 void Module::OnUserPart(userrec* user, chanrec* channel) { } +00145 void Module::OnPacketTransmit(char *p) { } +00146 void Module::OnPacketReceive(char *p) { } +00147 void Module::OnRehash() { } +00148 void Module::OnServerRaw(std::string &raw, bool inbound, userrec* user) { } +00149 int Module::OnUserPreJoin(userrec* user, chanrec* chan, const char* cname) { return 0; } +00150 int Module::OnExtendedMode(userrec* user, void* target, char modechar, int type, bool mode_on, string_list &params) { return false; } +00151 Version Module::GetVersion() { return Version(1,0,0,0); } +00152 void Module::OnOper(userrec* user) { }; +00153 void Module::OnInfo(userrec* user) { }; +00154 void Module::OnWhois(userrec* source, userrec* dest) { }; +00155 int Module::OnUserPreMessage(userrec* user,void* dest,int target_type, std::string text) { return 0; }; +00156 int Module::OnUserPreNotice(userrec* user,void* dest,int target_type, std::string text) { return 0; }; +00157 int Module::OnUserPreNick(userrec* user, std::string newnick) { return 0; }; +00158 int Module::OnAccessCheck(userrec* source,userrec* dest,chanrec* channel,int access_type) { return ACR_DEFAULT; }; +00159 +00160 // server is a wrapper class that provides methods to all of the C-style +00161 // exports in the core +00162 // +00163 +00164 Server::Server() +00165 { +00166 } +00167 +00168 Server::~Server() +00169 { +00170 } +00171 +00172 void Server::SendOpers(std::string s) +00173 { +00174 WriteOpers("%s",s.c_str()); +00175 } +00176 +00177 bool Server::MatchText(std::string sliteral, std::string spattern) +00178 { +00179 char literal[MAXBUF],pattern[MAXBUF]; +00180 strncpy(literal,sliteral.c_str(),MAXBUF); +00181 strncpy(pattern,spattern.c_str(),MAXBUF); +00182 return match(literal,pattern); +00183 } +00184 +00185 void Server::SendToModeMask(std::string modes, int flags, std::string text) +00186 { +00187 WriteMode(modes.c_str(),flags,"%s",text.c_str()); +00188 } +00189 +00190 chanrec* Server::JoinUserToChannel(userrec* user, std::string cname, std::string key) +00191 { +00192 return add_channel(user,cname.c_str(),key.c_str(),true); +00193 } +00194 +00195 chanrec* Server::PartUserFromChannel(userrec* user, std::string cname, std::string reason) +00196 { +00197 return del_channel(user,cname.c_str(),reason.c_str(),false); +00198 } +00199 +00200 void Server::ChangeUserNick(userrec* user, std::string nickname) +00201 { +00202 force_nickchange(user,nickname.c_str()); +00203 } +00204 +00205 void Server::QuitUser(userrec* user, std::string reason) +00206 { +00207 send_network_quit(user->nick,reason.c_str()); +00208 kill_link(user,reason.c_str()); +00209 } +00210 +00211 bool Server::IsUlined(std::string server) +00212 { +00213 return is_uline(server.c_str()); +00214 } +00215 +00216 void Server::CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user) +00217 { +00218 call_handler(commandname.c_str(),parameters,pcnt,user); +00219 } +00220 +00221 void Server::Log(int level, std::string s) +00222 { +00223 log(level,"%s",s.c_str()); +00224 } +00225 +00226 void Server::AddCommand(char* cmd, handlerfunc f, char flags, int minparams) +00227 { +00228 createcommand(cmd,f,flags,minparams); +00229 } +00230 +00231 void Server::SendMode(char **parameters, int pcnt, userrec *user) +00232 { +00233 server_mode(parameters,pcnt,user); 00234 } 00235 -00236 void Server::SendChannel(userrec* User, chanrec* Channel, std::string s,bool IncludeSender) +00236 void Server::Send(int Socket, std::string s) 00237 { -00238 if (IncludeSender) -00239 { -00240 WriteChannel(Channel,User,"%s",s.c_str()); -00241 } -00242 else -00243 { -00244 ChanExceptSender(Channel,User,"%s",s.c_str()); -00245 } -00246 } -00247 -00248 bool Server::CommonChannels(userrec* u1, userrec* u2) -00249 { -00250 return (common_channels(u1,u2) != 0); -00251 } -00252 -00253 void Server::SendCommon(userrec* User, std::string text,bool IncludeSender) -00254 { -00255 if (IncludeSender) -00256 { -00257 WriteCommon(User,"%s",text.c_str()); -00258 } -00259 else -00260 { -00261 WriteCommonExcept(User,"%s",text.c_str()); +00238 Write(Socket,"%s",s.c_str()); +00239 } +00240 +00241 void Server::SendServ(int Socket, std::string s) +00242 { +00243 WriteServ(Socket,"%s",s.c_str()); +00244 } +00245 +00246 void Server::SendFrom(int Socket, userrec* User, std::string s) +00247 { +00248 WriteFrom(Socket,User,"%s",s.c_str()); +00249 } +00250 +00251 void Server::SendTo(userrec* Source, userrec* Dest, std::string s) +00252 { +00253 if (!Source) +00254 { +00255 // if source is NULL, then the message originates from the local server +00256 Write(Dest->fd,":%s %s",this->GetServerName().c_str(),s.c_str()); +00257 } +00258 else +00259 { +00260 // otherwise it comes from the user specified +00261 WriteTo(Source,Dest,"%s",s.c_str()); 00262 } 00263 } 00264 -00265 void Server::SendWallops(userrec* User, std::string text) +00265 void Server::SendChannel(userrec* User, chanrec* Channel, std::string s,bool IncludeSender) 00266 { -00267 WriteWallOps(User,false,"%s",text.c_str()); -00268 } -00269 -00270 void Server::ChangeHost(userrec* user, std::string host) -00271 { -00272 ChangeDisplayedHost(user,host.c_str()); -00273 } -00274 -00275 void Server::ChangeGECOS(userrec* user, std::string gecos) -00276 { -00277 ChangeName(user,gecos.c_str()); -00278 } -00279 -00280 bool Server::IsNick(std::string nick) -00281 { -00282 return (isnick(nick.c_str()) != 0); -00283 } -00284 -00285 userrec* Server::FindNick(std::string nick) -00286 { -00287 return Find(nick); -00288 } -00289 -00290 chanrec* Server::FindChannel(std::string channel) -00291 { -00292 return FindChan(channel.c_str()); -00293 } -00294 -00295 std::string Server::ChanMode(userrec* User, chanrec* Chan) -00296 { -00297 return cmode(User,Chan); -00298 } -00299 -00300 std::string Server::GetServerName() -00301 { -00302 return getservername(); -00303 } -00304 -00305 std::string Server::GetNetworkName() -00306 { -00307 return getnetworkname(); -00308 } -00309 -00310 Admin Server::GetAdmin() -00311 { -00312 return Admin(getadminname(),getadminemail(),getadminnick()); -00313 } -00314 -00315 -00316 -00317 bool Server::AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off) -00318 { -00319 if (type == MT_SERVER) -00320 { -00321 log(DEBUG,"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"); -00322 return false; -00323 } -00324 if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT)) -00325 { -00326 log(DEBUG,"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"); -00327 return false; -00328 } -00329 if ((params_when_on>1) || (params_when_off>1)) -00330 { -00331 log(DEBUG,"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"); -00332 return false; -00333 } -00334 return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off); -00335 } -00336 -00337 int Server::CountUsers(chanrec* c) -00338 { -00339 return usercount(c); -00340 } -00341 -00342 -00343 ConfigReader::ConfigReader() -00344 { -00345 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); -00346 this->error = LoadConf(CONFIG_FILE,this->cache); +00267 if (IncludeSender) +00268 { +00269 WriteChannel(Channel,User,"%s",s.c_str()); +00270 } +00271 else +00272 { +00273 ChanExceptSender(Channel,User,"%s",s.c_str()); +00274 } +00275 } +00276 +00277 bool Server::CommonChannels(userrec* u1, userrec* u2) +00278 { +00279 return (common_channels(u1,u2) != 0); +00280 } +00281 +00282 void Server::SendCommon(userrec* User, std::string text,bool IncludeSender) +00283 { +00284 if (IncludeSender) +00285 { +00286 WriteCommon(User,"%s",text.c_str()); +00287 } +00288 else +00289 { +00290 WriteCommonExcept(User,"%s",text.c_str()); +00291 } +00292 } +00293 +00294 void Server::SendWallops(userrec* User, std::string text) +00295 { +00296 WriteWallOps(User,false,"%s",text.c_str()); +00297 } +00298 +00299 void Server::ChangeHost(userrec* user, std::string host) +00300 { +00301 ChangeDisplayedHost(user,host.c_str()); +00302 } +00303 +00304 void Server::ChangeGECOS(userrec* user, std::string gecos) +00305 { +00306 ChangeName(user,gecos.c_str()); +00307 } +00308 +00309 bool Server::IsNick(std::string nick) +00310 { +00311 return (isnick(nick.c_str()) != 0); +00312 } +00313 +00314 userrec* Server::FindNick(std::string nick) +00315 { +00316 return Find(nick); +00317 } +00318 +00319 chanrec* Server::FindChannel(std::string channel) +00320 { +00321 return FindChan(channel.c_str()); +00322 } +00323 +00324 std::string Server::ChanMode(userrec* User, chanrec* Chan) +00325 { +00326 return cmode(User,Chan); +00327 } +00328 +00329 bool Server::IsOnChannel(userrec* User, chanrec* Chan) +00330 { +00331 return has_channel(User,Chan); +00332 } +00333 +00334 std::string Server::GetServerName() +00335 { +00336 return getservername(); +00337 } +00338 +00339 std::string Server::GetNetworkName() +00340 { +00341 return getnetworkname(); +00342 } +00343 +00344 Admin Server::GetAdmin() +00345 { +00346 return Admin(getadminname(),getadminemail(),getadminnick()); 00347 } 00348 00349 -00350 ConfigReader::~ConfigReader() -00351 { -00352 if (this->cache) -00353 delete this->cache; -00354 } -00355 -00356 -00357 ConfigReader::ConfigReader(std::string filename) -00358 { -00359 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); -00360 this->error = LoadConf(filename.c_str(),this->cache); -00361 }; -00362 -00363 std::string ConfigReader::ReadValue(std::string tag, std::string name, int index) -00364 { -00365 char val[MAXBUF]; -00366 char t[MAXBUF]; -00367 char n[MAXBUF]; -00368 strncpy(t,tag.c_str(),MAXBUF); -00369 strncpy(n,name.c_str(),MAXBUF); -00370 ReadConf(cache,t,n,index,val); -00371 return std::string(val); -00372 } -00373 -00374 -00375 int ConfigReader::Enumerate(std::string tag) -00376 { -00377 return EnumConf(cache,tag.c_str()); -00378 } -00379 -00380 int ConfigReader::EnumerateValues(std::string tag, int index) -00381 { -00382 return EnumValues(cache, tag.c_str(), index); -00383 } +00350 +00351 bool Server::AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off) +00352 { +00353 if (type == MT_SERVER) +00354 { +00355 log(DEBUG,"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"); +00356 return false; +00357 } +00358 if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT)) +00359 { +00360 log(DEBUG,"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"); +00361 return false; +00362 } +00363 if ((params_when_on>1) || (params_when_off>1)) +00364 { +00365 log(DEBUG,"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"); +00366 return false; +00367 } +00368 return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off); +00369 } +00370 +00371 bool Server::AddExtendedListMode(char modechar) +00372 { +00373 bool res = DoAddExtendedMode(modechar,MT_CHANNEL,false,1,1); +00374 if (res) +00375 ModeMakeList(modechar); +00376 return res; +00377 } +00378 +00379 int Server::CountUsers(chanrec* c) +00380 { +00381 return usercount(c); +00382 } +00383 00384 -00385 bool ConfigReader::Verify() +00385 ConfigReader::ConfigReader() 00386 { -00387 return this->error; -00388 } -00389 +00387 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); +00388 this->error = LoadConf(CONFIG_FILE,this->cache); +00389 } 00390 -00391 FileReader::FileReader(std::string filename) -00392 { -00393 file_cache c; -00394 readfile(c,filename.c_str()); -00395 this->fc = c; +00391 +00392 ConfigReader::~ConfigReader() +00393 { +00394 if (this->cache) +00395 delete this->cache; 00396 } 00397 -00398 FileReader::FileReader() -00399 { -00400 } -00401 -00402 void FileReader::LoadFile(std::string filename) -00403 { -00404 file_cache c; -00405 readfile(c,filename.c_str()); -00406 this->fc = c; -00407 } -00408 -00409 -00410 FileReader::~FileReader() -00411 { -00412 } -00413 -00414 bool FileReader::Exists() -00415 { -00416 if (fc.size() == 0) -00417 { -00418 return(false); -00419 } -00420 else -00421 { -00422 return(true); -00423 } -00424 } -00425 -00426 std::string FileReader::GetLine(int x) -00427 { -00428 if ((x<0) || (x>fc.size())) -00429 return ""; -00430 return fc[x]; -00431 } +00398 +00399 ConfigReader::ConfigReader(std::string filename) +00400 { +00401 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); +00402 this->error = LoadConf(filename.c_str(),this->cache); +00403 }; +00404 +00405 std::string ConfigReader::ReadValue(std::string tag, std::string name, int index) +00406 { +00407 char val[MAXBUF]; +00408 char t[MAXBUF]; +00409 char n[MAXBUF]; +00410 strncpy(t,tag.c_str(),MAXBUF); +00411 strncpy(n,name.c_str(),MAXBUF); +00412 ReadConf(cache,t,n,index,val); +00413 return std::string(val); +00414 } +00415 +00416 +00417 int ConfigReader::Enumerate(std::string tag) +00418 { +00419 return EnumConf(cache,tag.c_str()); +00420 } +00421 +00422 int ConfigReader::EnumerateValues(std::string tag, int index) +00423 { +00424 return EnumValues(cache, tag.c_str(), index); +00425 } +00426 +00427 bool ConfigReader::Verify() +00428 { +00429 return this->error; +00430 } +00431 00432 -00433 int FileReader::FileSize() +00433 FileReader::FileReader(std::string filename) 00434 { -00435 return fc.size(); -00436 } -00437 -00438 -00439 std::vector<Module*> modules(255); -00440 std::vector<ircd_module*> factory(255); -00441 -00442 int MODCOUNT = -1; +00435 file_cache c; +00436 readfile(c,filename.c_str()); +00437 this->fc = c; +00438 } +00439 +00440 FileReader::FileReader() +00441 { +00442 } 00443 -00444 -

    Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +00444 void FileReader::LoadFile(std::string filename) +00445 { +00446 file_cache c; +00447 readfile(c,filename.c_str()); +00448 this->fc = c; +00449 } +00450 +00451 +00452 FileReader::~FileReader() +00453 { +00454 } +00455 +00456 bool FileReader::Exists() +00457 { +00458 if (fc.size() == 0) +00459 { +00460 return(false); +00461 } +00462 else +00463 { +00464 return(true); +00465 } +00466 } +00467 +00468 std::string FileReader::GetLine(int x) +00469 { +00470 if ((x<0) || (x>fc.size())) +00471 return ""; +00472 return fc[x]; +00473 } +00474 +00475 int FileReader::FileSize() +00476 { +00477 return fc.size(); +00478 } +00479 +00480 +00481 std::vector<Module*> modules(255); +00482 std::vector<ircd_module*> factory(255); +00483 +00484 int MODCOUNT = -1; +00485 +00486 +

    Generated on Sat May 1 13:39:00 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/modules_8cpp.html b/docs/module-doc/modules_8cpp.html index 05504e831..52e729483 100644 --- a/docs/module-doc/modules_8cpp.html +++ b/docs/module-doc/modules_8cpp.html @@ -37,12 +37,14 @@ Include dependency graph for modules.cpp:

    ExtModeListIter

    Functions

    bool ModeDefined (char modechar, int type) -bool ModeDefinedOper (char modechar, int type) -int ModeDefinedOn (char modechar, int type) -int ModeDefinedOff (char modechar, int type) -bool DoAddExtendedMode (char modechar, int type, bool requires_oper, int params_on, int params_off) -std::vector< Module * > modules (255) -std::vector< ircd_module * > factory (255) +bool ModeIsListMode (char modechar, int type) +bool ModeDefinedOper (char modechar, int type) +int ModeDefinedOn (char modechar, int type) +int ModeDefinedOff (char modechar, int type) +bool DoAddExtendedMode (char modechar, int type, bool requires_oper, int params_on, int params_off) +void ModeMakeList (char modechar) +std::vector< Module * > modules (255) +std::vector< ircd_module * > factory (255)

    Variables

    ExtModeList EMode int MODCOUNT = -1 @@ -69,7 +71,7 @@ Include dependency graph for modules.cpp:

    32 of file modules.cpp. +Definition at line 33 of file modules.cpp.

    @@ -93,13 +95,13 @@ Definition at line 32 o

    -Definition at line 33 of file modules.cpp. +Definition at line 34 of file modules.cpp.

    -Referenced by ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), and ModeDefinedOper(). +Referenced by ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList().


    Function Documentation

    -

    +

    @@ -154,29 +156,29 @@ Referenced by ModeDefined()

    -Definition at line 93 of file modules.cpp. +Definition at line 108 of file modules.cpp.

    -References EMode, and ModeDefined(). +References EMode, and ModeDefined().

    -Referenced by Server::AddExtendedMode(). +Referenced by Server::AddExtendedListMode(), and Server::AddExtendedMode().

    -

    00094 {
    -00095         if (ModeDefined(modechar,type)) {
    -00096                 return false;
    -00097         }
    -00098         EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off));
    -00099         return true;
    -00100 }
    +
    00109 {
    +00110         if (ModeDefined(modechar,type)) {
    +00111                 return false;
    +00112         }
    +00113         EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off));
    +00114         return true;
    +00115 }
     
    -

    +

    - - + + + + + + + + + + + + + + - - - - + + + + - - + +
    - + @@ -236,28 +238,28 @@ Referenced by Server::AddEx

    -Definition at line 38 of file modules.cpp. +Definition at line 39 of file modules.cpp.

    -References EMode, and ExtModeListIter. +References EMode, and ExtModeListIter.

    -Referenced by DoAddExtendedMode(). +Referenced by DoAddExtendedMode().

    -

    00039 {
    -00040         log(DEBUG,"Size of extmodes vector is %d",EMode.size());
    -00041         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    -00042         {
    -00043                 log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type);
    -00044                 if ((i->modechar == modechar) && (i->type == type))
    -00045                 {
    -00046                         return true;
    -00047                 }
    -00048         }
    -00049         return false;
    -00050 }
    +
    00040 {
    +00041         log(DEBUG,"Size of extmodes vector is %d",EMode.size());
    +00042         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    +00043         {
    +00044                 log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type);
    +00045                 if ((i->modechar == modechar) && (i->type == type))
    +00046                 {
    +00047                         return true;
    +00048                 }
    +00049         }
    +00050         return false;
    +00051 }
     
    std::vector<ircd_module*> factory std::vector<ircd_module*> factory 255   
    -

    +

    @@ -294,24 +296,24 @@ Referenced by DoAddExtended

    -Definition at line 80 of file modules.cpp. +Definition at line 95 of file modules.cpp.

    -References EMode, and ExtModeListIter. +References EMode, and ExtModeListIter.

    -

    00081 {
    -00082         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    -00083         {
    -00084                 if ((i->modechar == modechar) && (i->type == type))
    -00085                 {
    -00086                         return i->params_when_off;
    -00087                 }
    -00088         }
    -00089         return 0;
    -00090 }
    +
    00096 {
    +00097         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    +00098         {
    +00099                 if ((i->modechar == modechar) && (i->type == type))
    +00100                 {
    +00101                         return i->params_when_off;
    +00102                 }
    +00103         }
    +00104         return 0;
    +00105 }
     
    -

    +

    + +
    @@ -347,31 +349,87 @@ References EMode, and <

    +

    +Definition at line 82 of file modules.cpp. +

    +References EMode, and ExtModeListIter. +

    +

    00083 {
    +00084         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    +00085         {
    +00086                 if ((i->modechar == modechar) && (i->type == type))
    +00087                 {
    +00088                         return i->params_when_on;
    +00089                 }
    +00090         }
    +00091         return 0;
    +00092 }
    +
    +

    + + + + +
    + + + + + + + + + + + + + + + + + + + +
    bool ModeDefinedOper char   modechar,
    int   type
    +
    + + + +
    +   + + +

    +

    Definition at line 67 of file modules.cpp.

    -References EMode, and ExtModeListIter. +References EMode, and ExtModeListIter.

    00068 {
    -00069         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    -00070         {
    -00071                 if ((i->modechar == modechar) && (i->type == type))
    -00072                 {
    -00073                         return i->params_when_on;
    -00074                 }
    -00075         }
    -00076         return 0;
    -00077 }
    +00069         log(DEBUG,"Size of extmodes vector is %d",EMode.size());
    +00070         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    +00071         {
    +00072                 log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type);
    +00073                 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true))
    +00074                 {
    +00075                         return true;
    +00076                 }
    +00077         }
    +00078         return false;
    +00079 }
     
    -

    +

    +Definition at line 484 of file modules.cpp.
    - + @@ -402,26 +460,74 @@ References EMode, and <

    -Definition at line 52 of file modules.cpp. +Definition at line 53 of file modules.cpp. +

    +References EMode, and ExtModeListIter. +

    +

    00054 {
    +00055         log(DEBUG,"Size of extmodes vector is %d",EMode.size());
    +00056         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    +00057         {
    +00058                 log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type);
    +00059                 if ((i->modechar == modechar) && (i->type == type) && (i->list == true))
    +00060                 {
    +00061                         return true;
    +00062                 }
    +00063         }
    +00064         return false;
    +00065 }
    +
    + +
    bool ModeDefinedOper bool ModeIsListMode char    modechar,
    +

    + + + + +
    + + + + + + + + + + +
    void ModeMakeList char   modechar
    +
    + + + +
    +   + + +

    + +

    +Definition at line 118 of file modules.cpp. +

    +References EMode, ExtModeListIter, and MT_CHANNEL.

    -References EMode, and ExtModeListIter. +Referenced by Server::AddExtendedListMode().

    -

    00053 {
    -00054         log(DEBUG,"Size of extmodes vector is %d",EMode.size());
    -00055         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    -00056         {
    -00057                 log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type);
    -00058                 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true))
    -00059                 {
    -00060                         return true;
    -00061                 }
    -00062         }
    -00063         return false;
    -00064 }
    +
    00119 {
    +00120         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    +00121         {
    +00122                 if ((i->modechar == modechar) && (i->type == MT_CHANNEL))
    +00123                 {
    +00124                         i->list = true;
    +00125                         return;
    +00126                 }
    +00127         }
    +00128         return;
    +00129 }
     
    -

    +

    +Referenced by DoAddExtendedMode(), ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList().
    @@ -472,9 +578,9 @@ References EMode, and <

    -Definition at line 35 of file modules.cpp. +Definition at line 36 of file modules.cpp.

    -Referenced by DoAddExtendedMode(), ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), and ModeDefinedOper().

    @@ -498,10 +604,10 @@ Referenced by DoAddExtended

    -Definition at line 442 of file modules.cpp.

    -


    Generated on Fri Apr 30 15:46:28 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:06 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/modules_8h-source.html b/docs/module-doc/modules_8h-source.html index da3ae5bd7..687d9919d 100644 --- a/docs/module-doc/modules_8h-source.html +++ b/docs/module-doc/modules_8h-source.html @@ -16,220 +16,245 @@ 00008 #ifndef __PLUGIN_H 00009 #define __PLUGIN_H 00010 -00011 #define DEBUG 10 -00012 #define VERBOSE 20 -00013 #define DEFAULT 30 -00014 #define SPARSE 40 -00015 #define NONE 50 -00016 -00017 #define MT_CHANNEL 1 -00018 #define MT_CLIENT 2 -00019 #define MT_SERVER 3 -00020 -00021 #include "dynamic.h" -00022 #include "base.h" -00023 #include "ctables.h" -00024 #include <string> -00025 #include <deque> -00026 #include <sstream> -00027 -00030 typedef std::deque<std::string> file_cache; -00031 typedef file_cache string_list; -00032 -00033 -00034 // This #define allows us to call a method in all -00035 // loaded modules in a readable simple way, e.g.: -00036 // 'FOREACH_MOD OnConnect(user);' -00037 -00038 #define FOREACH_MOD for (int i = 0; i <= MODCOUNT; i++) modules[i]-> -00039 -00040 // This define is similar to the one above but returns a result in MOD_RESULT. -00041 // The first module to return a nonzero result is the value to be accepted, -00042 // and any modules after are ignored. -00043 -00044 // ********************************************************************************************* -00045 -00046 #define FOREACH_RESULT(x) { MOD_RESULT = 0; \ -00047 for (int i = 0; i <= MODCOUNT; i++) { \ -00048 int res = modules[i]->x ; \ -00049 if (res) { \ -00050 MOD_RESULT = res; \ -00051 break; \ -00052 } \ -00053 } \ -00054 } -00055 -00056 // ********************************************************************************************* +00011 // log levels +00012 +00013 #define DEBUG 10 +00014 #define VERBOSE 20 +00015 #define DEFAULT 30 +00016 #define SPARSE 40 +00017 #define NONE 50 +00018 +00019 // used with OnExtendedMode() method of modules +00020 +00021 #define MT_CHANNEL 1 +00022 #define MT_CLIENT 2 +00023 #define MT_SERVER 3 +00024 +00025 // used with OnAccessCheck() method of modules +00026 +00027 #define ACR_DEFAULT 0 // Do default action (act as if the module isnt even loaded) +00028 #define ACR_DENY 1 // deny the action +00029 #define ACR_ALLOW 2 // allow the action +00030 +00031 #define AC_KICK 0 // a user is being kicked +00032 #define AC_DEOP 1 // a user is being deopped +00033 #define AC_OP 2 // a user is being opped +00034 #define AC_VOICE 3 // a user is being voiced +00035 #define AC_DEVOICE 4 // a user is being devoiced +00036 #define AC_HALFOP 5 // a user is being halfopped +00037 #define AC_DEHALFOP 6 // a user is being dehalfopped +00038 #define AC_INVITE 7 // a user is being invited +00039 #define AC_GENERAL_MODE 8 // a user channel mode is being changed +00040 +00041 #include "dynamic.h" +00042 #include "base.h" +00043 #include "ctables.h" +00044 #include <string> +00045 #include <deque> +00046 #include <sstream> +00047 +00050 typedef std::deque<std::string> file_cache; +00051 typedef file_cache string_list; +00052 +00053 +00054 // This #define allows us to call a method in all +00055 // loaded modules in a readable simple way, e.g.: +00056 // 'FOREACH_MOD OnConnect(user);' 00057 -00058 extern void createcommand(char* cmd, handlerfunc f, char flags, int minparams); -00059 extern void server_mode(char **parameters, int pcnt, userrec *user); -00060 -00061 // class Version holds the version information of a Module, returned -00062 // by Module::GetVersion (thanks RD) +00058 #define FOREACH_MOD for (int i = 0; i <= MODCOUNT; i++) modules[i]-> +00059 +00060 // This define is similar to the one above but returns a result in MOD_RESULT. +00061 // The first module to return a nonzero result is the value to be accepted, +00062 // and any modules after are ignored. 00063 -00068 class Version : public classbase -00069 { -00070 public: -00071 const int Major, Minor, Revision, Build; -00072 Version(int major, int minor, int revision, int build); -00073 }; -00074 -00080 class Admin : public classbase -00081 { -00082 public: -00083 const std::string Name, Email, Nick; -00084 Admin(std::string name, std::string email, std::string nick); -00085 }; -00086 -00092 class Module : public classbase -00093 { -00094 public: -00095 -00099 Module(); -00100 -00104 virtual ~Module(); -00105 -00110 virtual Version GetVersion(); -00111 -00115 virtual void OnUserConnect(userrec* user); -00116 -00120 virtual void OnUserQuit(userrec* user); -00121 -00126 virtual void OnUserJoin(userrec* user, chanrec* channel); -00127 -00132 virtual void OnUserPart(userrec* user, chanrec* channel); -00133 -00140 virtual void OnPacketTransmit(char *p); +00064 // ********************************************************************************************* +00065 +00066 #define FOREACH_RESULT(x) { MOD_RESULT = 0; \ +00067 for (int i = 0; i <= MODCOUNT; i++) { \ +00068 int res = modules[i]->x ; \ +00069 if (res) { \ +00070 MOD_RESULT = res; \ +00071 break; \ +00072 } \ +00073 } \ +00074 } +00075 +00076 // ********************************************************************************************* +00077 +00078 extern void createcommand(char* cmd, handlerfunc f, char flags, int minparams); +00079 extern void server_mode(char **parameters, int pcnt, userrec *user); +00080 +00081 // class Version holds the version information of a Module, returned +00082 // by Module::GetVersion (thanks RD) +00083 +00088 class Version : public classbase +00089 { +00090 public: +00091 const int Major, Minor, Revision, Build; +00092 Version(int major, int minor, int revision, int build); +00093 }; +00094 +00100 class Admin : public classbase +00101 { +00102 public: +00103 const std::string Name, Email, Nick; +00104 Admin(std::string name, std::string email, std::string nick); +00105 }; +00106 +00112 class Module : public classbase +00113 { +00114 public: +00115 +00119 Module(); +00120 +00124 virtual ~Module(); +00125 +00130 virtual Version GetVersion(); +00131 +00135 virtual void OnUserConnect(userrec* user); +00136 +00140 virtual void OnUserQuit(userrec* user); 00141 -00149 virtual void OnPacketReceive(char *p); -00150 -00156 virtual void OnRehash(); -00157 -00166 virtual void OnServerRaw(std::string &raw, bool inbound, userrec* user); -00167 -00177 virtual bool OnExtendedMode(userrec* user, void* target, char modechar, int type, bool mode_on, string_list &params); -00178 -00191 virtual int OnUserPreJoin(userrec* user, chanrec* chan, const char* cname); -00192 -00193 -00198 virtual void OnOper(userrec* user); -00199 -00208 virtual void OnInfo(userrec* user); -00209 -00214 virtual void OnWhois(userrec* source, userrec* dest); -00215 -00224 virtual int OnUserPreMessage(userrec* user,void* dest,int target_type, std::string text); -00225 -00234 virtual int OnUserPreNotice(userrec* user,void* dest,int target_type, std::string text); +00146 virtual void OnUserJoin(userrec* user, chanrec* channel); +00147 +00152 virtual void OnUserPart(userrec* user, chanrec* channel); +00153 +00160 virtual void OnPacketTransmit(char *p); +00161 +00169 virtual void OnPacketReceive(char *p); +00170 +00176 virtual void OnRehash(); +00177 +00186 virtual void OnServerRaw(std::string &raw, bool inbound, userrec* user); +00187 +00197 virtual int OnExtendedMode(userrec* user, void* target, char modechar, int type, bool mode_on, string_list &params); +00198 +00211 virtual int OnUserPreJoin(userrec* user, chanrec* chan, const char* cname); +00212 +00213 +00218 virtual void OnOper(userrec* user); +00219 +00228 virtual void OnInfo(userrec* user); +00229 +00234 virtual void OnWhois(userrec* source, userrec* dest); 00235 -00243 virtual int OnUserPreNick(userrec* user, std::string newnick); -00244 }; +00244 virtual int OnUserPreMessage(userrec* user,void* dest,int target_type, std::string text); 00245 -00246 -00252 class Server : public classbase -00253 { -00254 public: -00258 Server(); -00262 virtual ~Server(); -00263 -00267 virtual void SendOpers(std::string s); -00272 virtual void Log(int level, std::string s); -00277 virtual void Send(int Socket, std::string s); -00282 virtual void SendServ(int Socket, std::string s); -00287 virtual void SendFrom(int Socket, userrec* User, std::string s); -00302 virtual void SendTo(userrec* Source, userrec* Dest, std::string s); -00309 virtual void SendChannel(userrec* User, chanrec* Channel, std::string s,bool IncludeSender); -00314 virtual bool CommonChannels(userrec* u1, userrec* u2); -00322 virtual void SendCommon(userrec* User, std::string text,bool IncludeSender); -00327 virtual void SendWallops(userrec* User, std::string text); -00328 -00332 virtual bool IsNick(std::string nick); -00336 virtual int CountUsers(chanrec* c); -00340 virtual userrec* FindNick(std::string nick); -00344 virtual chanrec* FindChannel(std::string channel); -00349 virtual std::string ChanMode(userrec* User, chanrec* Chan); -00352 virtual std::string GetServerName(); -00355 virtual std::string GetNetworkName(); -00361 virtual Admin GetAdmin(); -00380 virtual bool AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off); -00381 -00396 virtual void AddCommand(char* cmd, handlerfunc f, char flags, int minparams); -00397 -00419 virtual void SendMode(char **parameters, int pcnt, userrec *user); -00420 -00433 virtual void SendToModeMask(std::string modes, int flags, std::string text); -00434 -00440 virtual chanrec* JoinUserToChannel(userrec* user, std::string cname, std::string key); -00441 -00447 virtual chanrec* PartUserFromChannel(userrec* user, std::string cname, std::string reason); -00448 -00454 virtual void ChangeUserNick(userrec* user, std::string nickname); -00455 -00466 virtual void QuitUser(userrec* user, std::string reason); -00467 -00472 virtual bool MatchText(std::string sliteral, std::string spattern); -00473 -00485 virtual void CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user); -00486 -00492 virtual void ChangeHost(userrec* user, std::string host); -00493 -00499 virtual void ChangeGECOS(userrec* user, std::string gecos); -00500 -00509 virtual bool IsUlined(std::string server); -00510 }; -00511 -00518 class ConfigReader : public classbase -00519 { -00520 protected: -00526 std::stringstream *cache; -00529 bool error; -00530 -00531 public: -00536 ConfigReader(); // default constructor reads ircd.conf -00540 ConfigReader(std::string filename); // read a module-specific config -00544 ~ConfigReader(); -00549 std::string ReadValue(std::string tag, std::string name, int index); -00556 int Enumerate(std::string tag); -00561 bool Verify(); -00562 -00568 int EnumerateValues(std::string tag, int index); -00569 }; -00570 -00571 -00572 -00578 class FileReader : public classbase -00579 { -00580 file_cache fc; -00581 public: -00586 FileReader(); -00587 -00593 FileReader(std::string filename); -00594 -00598 ~FileReader(); -00599 -00605 void LoadFile(std::string filename); -00606 -00610 bool Exists(); -00611 -00616 std::string GetLine(int x); -00617 -00623 int FileSize(); -00624 }; -00625 -00626 -00633 class ModuleFactory : public classbase -00634 { -00635 public: -00636 ModuleFactory() { } -00637 virtual ~ModuleFactory() { } -00642 virtual Module * CreateModule() = 0; -00643 }; -00644 -00645 -00646 typedef DLLFactory<ModuleFactory> ircd_module; -00647 -00648 #endif -
    Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +00254 virtual int OnUserPreNotice(userrec* user,void* dest,int target_type, std::string text); +00255 +00263 virtual int OnUserPreNick(userrec* user, std::string newnick); +00264 +00286 virtual int OnAccessCheck(userrec* source,userrec* dest,chanrec* channel,int access_type); +00287 }; +00288 +00289 +00295 class Server : public classbase +00296 { +00297 public: +00301 Server(); +00305 virtual ~Server(); +00306 +00310 virtual void SendOpers(std::string s); +00315 virtual void Log(int level, std::string s); +00320 virtual void Send(int Socket, std::string s); +00325 virtual void SendServ(int Socket, std::string s); +00330 virtual void SendFrom(int Socket, userrec* User, std::string s); +00345 virtual void SendTo(userrec* Source, userrec* Dest, std::string s); +00352 virtual void SendChannel(userrec* User, chanrec* Channel, std::string s,bool IncludeSender); +00357 virtual bool CommonChannels(userrec* u1, userrec* u2); +00365 virtual void SendCommon(userrec* User, std::string text,bool IncludeSender); +00370 virtual void SendWallops(userrec* User, std::string text); +00371 +00375 virtual bool IsNick(std::string nick); +00379 virtual int CountUsers(chanrec* c); +00383 virtual userrec* FindNick(std::string nick); +00387 virtual chanrec* FindChannel(std::string channel); +00392 virtual std::string ChanMode(userrec* User, chanrec* Chan); +00396 virtual bool IsOnChannel(userrec* User, chanrec* Chan); +00399 virtual std::string GetServerName(); +00402 virtual std::string GetNetworkName(); +00408 virtual Admin GetAdmin(); +00427 virtual bool AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off); +00428 +00450 virtual bool AddExtendedListMode(char modechar); +00451 +00466 virtual void AddCommand(char* cmd, handlerfunc f, char flags, int minparams); +00467 +00489 virtual void SendMode(char **parameters, int pcnt, userrec *user); +00490 +00503 virtual void SendToModeMask(std::string modes, int flags, std::string text); +00504 +00510 virtual chanrec* JoinUserToChannel(userrec* user, std::string cname, std::string key); +00511 +00517 virtual chanrec* PartUserFromChannel(userrec* user, std::string cname, std::string reason); +00518 +00524 virtual void ChangeUserNick(userrec* user, std::string nickname); +00525 +00536 virtual void QuitUser(userrec* user, std::string reason); +00537 +00542 virtual bool MatchText(std::string sliteral, std::string spattern); +00543 +00555 virtual void CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user); +00556 +00562 virtual void ChangeHost(userrec* user, std::string host); +00563 +00569 virtual void ChangeGECOS(userrec* user, std::string gecos); +00570 +00579 virtual bool IsUlined(std::string server); +00580 }; +00581 +00588 class ConfigReader : public classbase +00589 { +00590 protected: +00596 std::stringstream *cache; +00599 bool error; +00600 +00601 public: +00606 ConfigReader(); // default constructor reads ircd.conf +00610 ConfigReader(std::string filename); // read a module-specific config +00614 ~ConfigReader(); +00619 std::string ReadValue(std::string tag, std::string name, int index); +00626 int Enumerate(std::string tag); +00631 bool Verify(); +00632 +00638 int EnumerateValues(std::string tag, int index); +00639 }; +00640 +00641 +00642 +00648 class FileReader : public classbase +00649 { +00650 file_cache fc; +00651 public: +00656 FileReader(); +00657 +00663 FileReader(std::string filename); +00664 +00668 ~FileReader(); +00669 +00675 void LoadFile(std::string filename); +00676 +00680 bool Exists(); +00681 +00686 std::string GetLine(int x); +00687 +00693 int FileSize(); +00694 }; +00695 +00696 +00703 class ModuleFactory : public classbase +00704 { +00705 public: +00706 ModuleFactory() { } +00707 virtual ~ModuleFactory() { } +00712 virtual Module * CreateModule() = 0; +00713 }; +00714 +00715 +00716 typedef DLLFactory<ModuleFactory> ircd_module; +00717 +00718 #endif +
    Generated on Sat May 1 13:39:00 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/modules_8h.html b/docs/module-doc/modules_8h.html index 7f2d81d63..c4dc01702 100644 --- a/docs/module-doc/modules_8h.html +++ b/docs/module-doc/modules_8h.html @@ -53,18 +53,320 @@ This graph shows which files directly or indirectly include this file:

    #define MT_CHANNEL   1
    #define MT_CLIENT   2
    #define MT_SERVER   3
    #define FOREACH_MOD   for (int i = 0; i <= MODCOUNT; i++) modules[i]->
    #define FOREACH_RESULT(x)
    #define ACR_DEFAULT   0
    #define ACR_DENY   1
    #define ACR_ALLOW   2
    #define AC_KICK   0
    #define AC_DEOP   1
    #define AC_OP   2
    #define AC_VOICE   3
    #define AC_DEVOICE   4
    #define AC_HALFOP   5
    #define AC_DEHALFOP   6
    #define AC_INVITE   7
    #define AC_GENERAL_MODE   8
    #define FOREACH_MOD   for (int i = 0; i <= MODCOUNT; i++) modules[i]->
    #define FOREACH_RESULT(x)

    Typedefs

    typedef std::deque< std::string > file_cache
     Low level definition of a FileReader classes file cache area.

    typedef file_cache string_list
    typedef DLLFactory< ModuleFactoryircd_module
    typedef std::deque< std::string > file_cache
     Low level definition of a FileReader classes file cache area.

    typedef file_cache string_list
    typedef DLLFactory< ModuleFactoryircd_module

    Functions

    void createcommand (char *cmd, handlerfunc f, char flags, int minparams)
    void server_mode (char **parameters, int pcnt, userrec *user)
    void createcommand (char *cmd, handlerfunc f, char flags, int minparams)
    void server_mode (char **parameters, int pcnt, userrec *user)


    Define Documentation

    +

    + + + + +
    + + +
    #define AC_DEHALFOP   6 +
    +
    + + + + + +
    +   + + +

    + +

    +Definition at line 37 of file modules.h.

    +

    + + + + +
    + + +
    #define AC_DEOP   1 +
    +
    + + + + + +
    +   + + +

    + +

    +Definition at line 32 of file modules.h.

    +

    + + + + +
    + + +
    #define AC_DEVOICE   4 +
    +
    + + + + + +
    +   + + +

    + +

    +Definition at line 35 of file modules.h.

    +

    + + + + +
    + + +
    #define AC_GENERAL_MODE   8 +
    +
    + + + + + +
    +   + + +

    + +

    +Definition at line 39 of file modules.h.

    +

    + + + + +
    + + +
    #define AC_HALFOP   5 +
    +
    + + + + + +
    +   + + +

    + +

    +Definition at line 36 of file modules.h.

    +

    + + + + +
    + + +
    #define AC_INVITE   7 +
    +
    + + + + + +
    +   + + +

    + +

    +Definition at line 38 of file modules.h.

    +

    + + + + +
    + + +
    #define AC_KICK   0 +
    +
    + + + + + +
    +   + + +

    + +

    +Definition at line 31 of file modules.h.

    +

    + + + + +
    + + +
    #define AC_OP   2 +
    +
    + + + + + +
    +   + + +

    + +

    +Definition at line 33 of file modules.h.

    +

    + + + + +
    + + +
    #define AC_VOICE   3 +
    +
    + + + + + +
    +   + + +

    + +

    +Definition at line 34 of file modules.h.

    +

    + + + + +
    + + +
    #define ACR_ALLOW   2 +
    +
    + + + + + +
    +   + + +

    + +

    +Definition at line 29 of file modules.h.

    +

    + + + + +
    + + +
    #define ACR_DEFAULT   0 +
    +
    + + + + + +
    +   + + +

    + +

    +Definition at line 27 of file modules.h. +

    +Referenced by Module::OnAccessCheck().

    +

    + + + + +
    + + +
    #define ACR_DENY   1 +
    +
    + + + + + +
    +   + + +

    + +

    +Definition at line 28 of file modules.h.

    @@ -86,7 +388,7 @@ This graph shows which files directly or indirectly include this file:

    -Definition at line 11 of file modules.h. +Definition at line 13 of file modules.h.

    @@ -110,10 +412,10 @@ Definition at line 11 of

    -Definition at line 13 of file modules.h. +Definition at line 15 of file modules.h. -

    +

    +Definition at line 58 of file modules.h.
    @@ -134,10 +436,10 @@ Definition at line 13 of

    -Definition at line 38 of file modules.h.

    -

    +

    +Definition at line 66 of file modules.h.
    @@ -163,7 +465,7 @@ Definition at line 38 of

    Value:

    { MOD_RESULT = 0; \
                             for (int i = 0; i <= MODCOUNT; i++) { \
    -                        int res = modules[i]->x ; \
    +                        int res = modules[i]->x ; \
                             if (res) { \
                                     MOD_RESULT = res; \
                                     break; \
    @@ -172,7 +474,7 @@ Definition at line 38 of
        }
     

    -Definition at line 46 of file modules.h.

    @@ -196,7 +498,9 @@ Definition at line 46 of

    -Definition at line 17 of file modules.h. +Definition at line 21 of file modules.h. +

    +Referenced by ModeMakeList().

    @@ -220,9 +524,9 @@ Definition at line 17 of

    -Definition at line 18 of file modules.h. +Definition at line 22 of file modules.h.

    -Referenced by Server::AddExtendedMode(). +Referenced by Server::AddExtendedMode().

    @@ -246,9 +550,9 @@ Referenced by Server::AddEx

    -Definition at line 19 of file modules.h. +Definition at line 23 of file modules.h.

    -Referenced by Server::AddExtendedMode(). +Referenced by Server::AddExtendedMode().

    @@ -272,7 +576,7 @@ Referenced by Server::AddEx

    -Definition at line 15 of file modules.h. +Definition at line 17 of file modules.h.

    @@ -296,7 +600,7 @@ Definition at line 15 of

    -Definition at line 14 of file modules.h. +Definition at line 16 of file modules.h.

    @@ -320,11 +624,11 @@ Definition at line 14 of

    -Definition at line 12 of file modules.h. +Definition at line 14 of file modules.h.


    Typedef Documentation

    -

    +

    +Referenced by FileReader::FileReader(), and FileReader::LoadFile().
    @@ -347,12 +651,12 @@ Low level definition of a FileReader

    -Definition at line 30 of file modules.h. +Definition at line 50 of file modules.h.

    -Referenced by FileReader::FileReader(), and FileReader::LoadFile().

    -

    +

    +Definition at line 716 of file modules.h.
    @@ -373,16 +677,16 @@ Referenced by FileReader::F

    -Definition at line 646 of file modules.h.

    -

    +

    @@ -397,11 +701,11 @@ Definition at line 646 of

    -Definition at line 31 of file modules.h. +Definition at line 51 of file modules.h.

    -
    typedef file_cache string_list + typedef file_cache string_list


    Function Documentation

    -

    +

    +Referenced by Server::AddCommand().
    @@ -450,10 +754,10 @@ Definition at line 31 of

    -Referenced by Server::AddCommand().

    -

    +

    +Referenced by Server::SendMode().
    @@ -496,10 +800,10 @@ Referenced by Server::AddCo

    -Referenced by Server::SendMode().

    -


    Generated on Fri Apr 30 15:46:29 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:07 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/namespaces.html b/docs/module-doc/namespaces.html index d682b327e..c186aed4c 100644 --- a/docs/module-doc/namespaces.html +++ b/docs/module-doc/namespaces.html @@ -9,7 +9,7 @@

    InspIRCd Namespace List

    Here is a list of all namespaces with brief descriptions:
    std
    -
    Generated on Fri Apr 30 15:46:51 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:29 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/namespacestd.html b/docs/module-doc/namespacestd.html index a042c7dc2..9c3e71c0b 100644 --- a/docs/module-doc/namespacestd.html +++ b/docs/module-doc/namespacestd.html @@ -11,7 +11,7 @@
    -
    Generated on Fri Apr 30 15:46:51 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:29 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/servers_8cpp-source.html b/docs/module-doc/servers_8cpp-source.html index 979259f7c..6c852e2b5 100644 --- a/docs/module-doc/servers_8cpp-source.html +++ b/docs/module-doc/servers_8cpp-source.html @@ -48,7 +48,7 @@ 00040 sync_soon = false; 00041 } 00042 -

    Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +

    Generated on Sat May 1 13:39:00 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/servers_8cpp.html b/docs/module-doc/servers_8cpp.html index f0da23d7e..8f79de16e 100644 --- a/docs/module-doc/servers_8cpp.html +++ b/docs/module-doc/servers_8cpp.html @@ -23,7 +23,7 @@ Include dependency graph for servers.cpp:

    Go to the source code of this file.
    -
    Generated on Fri Apr 30 15:46:29 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:07 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/servers_8h-source.html b/docs/module-doc/servers_8h-source.html index 76c39de77..15f392ea0 100644 --- a/docs/module-doc/servers_8h-source.html +++ b/docs/module-doc/servers_8h-source.html @@ -49,7 +49,7 @@ 00067 00068 #endif 00069 -

    Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +

    Generated on Sat May 1 13:39:00 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/servers_8h.html b/docs/module-doc/servers_8h.html index 4924ab54e..3b2f5a1c2 100644 --- a/docs/module-doc/servers_8h.html +++ b/docs/module-doc/servers_8h.html @@ -82,7 +82,7 @@ Definition at line 14 of Definition at line 15 of file servers.h. -
    Generated on Fri Apr 30 15:46:29 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:08 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/users_8cpp-source.html b/docs/module-doc/users_8cpp-source.html index d6aca8a62..901476431 100644 --- a/docs/module-doc/users_8cpp-source.html +++ b/docs/module-doc/users_8cpp-source.html @@ -122,44 +122,40 @@ 00114 log(DEBUG,"*** HasPermission: %s is an oper of type '%s'",this->nick,this->oper); 00115 ConfValue("type","classes",j,Classes,&config_f); 00116 char* myclass = strtok_r(Classes," ",&savept); -00117 //myclass = savept; -00118 while (myclass) -00119 { -00120 log(DEBUG,"*** HasPermission: checking classtype '%s'",myclass); -00121 for (int k =0; k < ConfValueEnum("class",&config_f); k++) -00122 { -00123 ConfValue("class","name",k,ClassName,&config_f); -00124 if (!strcmp(ClassName,myclass)) -00125 { -00126 ConfValue("class","commands",k,CommandList,&config_f); -00127 log(DEBUG,"*** HasPermission: found class named %s with commands: '%s'",ClassName,CommandList); +00117 while (myclass) +00118 { +00119 log(DEBUG,"*** HasPermission: checking classtype '%s'",myclass); +00120 for (int k =0; k < ConfValueEnum("class",&config_f); k++) +00121 { +00122 ConfValue("class","name",k,ClassName,&config_f); +00123 if (!strcmp(ClassName,myclass)) +00124 { +00125 ConfValue("class","commands",k,CommandList,&config_f); +00126 log(DEBUG,"*** HasPermission: found class named %s with commands: '%s'",ClassName,CommandList); +00127 00128 -00129 -00130 mycmd = strtok_r(CommandList," ",&savept2); -00131 //mycmd = savept2; -00132 while (mycmd) -00133 { -00134 if (!strcasecmp(mycmd,command)) -00135 { -00136 log(DEBUG,"*** Command %s found, returning true",command); -00137 return true; -00138 } -00139 mycmd = strtok_r(NULL," ",&savept2); -00140 //mycmd = savept2; -00141 } -00142 } -00143 } -00144 myclass = strtok_r(NULL," ",&savept); -00145 //myclass = savept; -00146 } -00147 } -00148 } -00149 } -00150 return false; -00151 } -00152 -00153 -

    Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +00129 mycmd = strtok_r(CommandList," ",&savept2); +00130 while (mycmd) +00131 { +00132 if (!strcasecmp(mycmd,command)) +00133 { +00134 log(DEBUG,"*** Command %s found, returning true",command); +00135 return true; +00136 } +00137 mycmd = strtok_r(NULL," ",&savept2); +00138 } +00139 } +00140 } +00141 myclass = strtok_r(NULL," ",&savept); +00142 } +00143 } +00144 } +00145 } +00146 return false; +00147 } +00148 +00149 +

    Generated on Sat May 1 13:39:00 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/users_8cpp.html b/docs/module-doc/users_8cpp.html index 183860ca4..0f6449ce6 100644 --- a/docs/module-doc/users_8cpp.html +++ b/docs/module-doc/users_8cpp.html @@ -52,7 +52,7 @@ Include dependency graph for users.cpp:

    11 of file users.cpp. -
    Generated on Fri Apr 30 15:46:30 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:08 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/users_8h-source.html b/docs/module-doc/users_8h-source.html index 0b08c62e1..2b6f863ad 100644 --- a/docs/module-doc/users_8h-source.html +++ b/docs/module-doc/users_8h-source.html @@ -110,7 +110,7 @@ 00185 00186 00187 #endif -

    Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +

    Generated on Sat May 1 13:39:00 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/users_8h.html b/docs/module-doc/users_8h.html index ca67b1ba6..10bbbe439 100644 --- a/docs/module-doc/users_8h.html +++ b/docs/module-doc/users_8h.html @@ -250,7 +250,7 @@ Holds a complete list of all channels to which a user has been invited and has n Definition at line 64 of file users.h. -
    Generated on Fri Apr 30 15:46:31 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:09 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/xline_8h-source.html b/docs/module-doc/xline_8h-source.html index 2f140fba9..dc4bea5c4 100644 --- a/docs/module-doc/xline_8h-source.html +++ b/docs/module-doc/xline_8h-source.html @@ -100,7 +100,7 @@ 00130 #endif 00131 00132 -

    Generated on Fri Apr 30 15:46:22 2004 for InspIRCd by +

    Generated on Sat May 1 13:39:00 2004 for InspIRCd by doxygen1.3-rc3
    diff --git a/docs/module-doc/xline_8h.html b/docs/module-doc/xline_8h.html index 1ff84faa0..167ecc9cf 100644 --- a/docs/module-doc/xline_8h.html +++ b/docs/module-doc/xline_8h.html @@ -907,7 +907,7 @@ Include dependency graph for xline.h:

    -
    Generated on Fri Apr 30 15:46:31 2004 for InspIRCd by +
    Generated on Sat May 1 13:39:09 2004 for InspIRCd by doxygen1.3-rc3
    -- 2.39.5