]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_foobar.cpp
OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.
[user/henk/code/inspircd.git] / src / modules / m_foobar.cpp
index 857f4d16d5a834ea94037d4332670da0bf9eccf4..7de305923b0ec9883457c9e43302f63dc11dca51 100644 (file)
@@ -1 +1,98 @@
-/*       +------------------------------------+\r *       | Inspire Internet Relay Chat Daemon |\r *       +------------------------------------+\r *\r *  InspIRCd: (C) 2002-2007 InspIRCd Development Team\r * See: http://www.inspircd.org/wiki/index.php/Credits\r *\r * This program is free but copyrighted software; see\r *            the file COPYING for details.\r *\r * ---------------------------------------------------\r */\r\r#include "inspircd.h"\r#include "users.h"\r#include "channels.h"\r#include "modules.h"\r\r/* $ModDesc: A dummy module for testing */\r\r// Class ModuleFoobar inherits from Module\r// It just outputs simple debug strings to show its methods are working.\r\rclass ModuleFoobar : public Module\r{\r private:\r       \r       // It is recommended that your class makes use of one or more Server\r   // objects. A server object is a class which contains methods which\r    // encapsulate the exports from the core of the ircd.\r  // such methods include Debug, SendChannel, etc.\r \r     \r public:\r     ModuleFoobar(InspIRCd* Me)\r             : Module(Me)\r   {\r              // The constructor just makes a copy of the server class\r       \r               \r       }\r      \r       virtual ~ModuleFoobar()\r        {\r      }\r      \r       virtual Version GetVersion()\r   {\r              // this method instantiates a class of type Version, and returns\r               // the modules version information using it.\r   \r               return Version(1,1,0,1,VF_VENDOR,API_VERSION);\r }\r\r     void Implements(char* List)\r    {\r              List[I_OnUserConnect] = List[I_OnUserQuit] = List[I_OnUserJoin] = List[I_OnUserPart] = 1;\r      }\r      \r       virtual void OnUserConnect(userrec* user)\r      {\r              // method called when a user connects\r  \r               std::string b = user->nick;\r            ServerInstance->Log(DEBUG,"Foobar: User connecting: "+b);\r      }\r\r     virtual void OnUserQuit(userrec* user, const std::string &reason, const std::string &oper_message)\r     {\r              // method called when a user disconnects\r       \r               std::string b = user->nick;\r            ServerInstance->Log(DEBUG,"Foobar: User quitting: "+b);\r        }\r      \r       virtual void OnUserJoin(userrec* user, chanrec* channel, bool &silent)\r {\r              // method called when a user joins a channel\r   \r               std::string c = channel->name;\r         std::string b = user->nick;\r            ServerInstance->Log(DEBUG,"Foobar: User "+b+" joined "+c);\r     }\r\r     virtual void OnUserPart(userrec* user, chanrec* channel, const std::string &partreason, bool &silent)\r  {\r              // method called when a user parts a channel\r   \r               std::string c = channel->name;\r         std::string b = user->nick;\r            ServerInstance->Log(DEBUG,"Foobar: User "+b+" parted "+c);\r     }\r\r};\r\r\rMODULE_INIT(ModuleFoobar)\r\r
\ No newline at end of file
+/*       +------------------------------------+
+ *       | Inspire Internet Relay Chat Daemon |
+ *       +------------------------------------+
+ *
+ *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ * See: http://www.inspircd.org/wiki/index.php/Credits
+ *
+ * This program is free but copyrighted software; see
+ *            the file COPYING for details.
+ *
+ * ---------------------------------------------------
+ */
+
+#include "inspircd.h"
+#include "users.h"
+#include "channels.h"
+#include "modules.h"
+
+/* $ModDesc: A dummy module for testing */
+
+// Class ModuleFoobar inherits from Module
+// It just outputs simple debug strings to show its methods are working.
+
+class ModuleFoobar : public Module
+{
+ private:
+        
+        // It is recommended that your class makes use of one or more Server
+        // objects. A server object is a class which contains methods which
+        // encapsulate the exports from the core of the ircd.
+        // such methods include Debug, SendChannel, etc.
+        
+ public:
+       ModuleFoobar(InspIRCd* Me)
+               : Module(Me)
+       {
+               // The constructor just makes a copy of the server class
+       
+               
+       }
+       
+       virtual ~ModuleFoobar()
+       {
+       }
+       
+       virtual Version GetVersion()
+       {
+               // this method instantiates a class of type Version, and returns
+               // the modules version information using it.
+       
+               return Version(1,1,0,1,VF_VENDOR,API_VERSION);
+       }
+
+       void Implements(char* List)
+       {
+               List[I_OnUserConnect] = List[I_OnUserQuit] = List[I_OnUserJoin] = List[I_OnUserPart] = 1;
+       }
+       
+       virtual void OnUserConnect(userrec* user)
+       {
+               // method called when a user connects
+       
+               std::string b = user->nick;
+               ServerInstance->Log(DEBUG,"Foobar: User connecting: "+b);
+       }
+
+       virtual void OnUserQuit(userrec* user, const std::string &reason, const std::string &oper_message)
+       {
+               // method called when a user disconnects
+       
+               std::string b = user->nick;
+               ServerInstance->Log(DEBUG,"Foobar: User quitting: "+b);
+       }
+       
+       virtual void OnUserJoin(userrec* user, chanrec* channel, bool &silent)
+       {
+               // method called when a user joins a channel
+       
+               std::string c = channel->name;
+               std::string b = user->nick;
+               ServerInstance->Log(DEBUG,"Foobar: User "+b+" joined "+c);
+       }
+
+       virtual void OnUserPart(userrec* user, chanrec* channel, const std::string &partreason, bool &silent)
+       {
+               // method called when a user parts a channel
+       
+               std::string c = channel->name;
+               std::string b = user->nick;
+               ServerInstance->Log(DEBUG,"Foobar: User "+b+" parted "+c);
+       }
+
+};
+
+
+MODULE_INIT(ModuleFoobar)
+