]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_noinvite.cpp
Convert more modules
[user/henk/code/inspircd.git] / src / modules / m_noinvite.cpp
index 34df272bfcbb07f76dd266840583150dd18ccd00..219c1c78fee0aeff85bb5f3a8e057c64b994151a 100644 (file)
@@ -1,25 +1,20 @@
-/*   +------------------------------------+
- *   | Inspire Internet Relay Chat Daemon |
- *   +------------------------------------+
+/*       +------------------------------------+
+ *       | Inspire Internet Relay Chat Daemon |
+ *       +------------------------------------+
+ *
+ *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ * See: http://www.inspircd.org/wiki/index.php/Credits
  *
- *  InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
- *                   E-mail:
- *            <brain@chatspike.net>
- *            <Craig@chatspike.net>
- * 
- * Written by Craig Edwards, Craig McLure, and others.
  * This program is free but copyrighted software; see
- * the file COPYING for details.
+ *            the file COPYING for details.
  *
  * ---------------------------------------------------
  */
 
-using namespace std;
-
+#include "inspircd.h"
 #include "users.h"
 #include "channels.h"
 #include "modules.h"
-#include "inspircd.h"
 
 /* $ModDesc: Provides support for unreal-style channel mode +V */
 
@@ -56,10 +51,11 @@ class ModuleNoInvite : public Module
        NoInvite *ni;
  public:
 
-       ModuleNoInvite(InspIRCd* Me) : Module::Module(Me)
+       ModuleNoInvite(InspIRCd* Me) : Module(Me)
        {
                ni = new NoInvite(ServerInstance);
-               ServerInstance->AddMode(ni, 'V');
+               if (!ServerInstance->AddMode(ni, 'V'))
+                       throw ModuleException("Could not add new modes!");
        }
 
        void Implements(char* List)
@@ -79,12 +75,13 @@ class ModuleNoInvite : public Module
 
        virtual ~ModuleNoInvite()
        {
+               ServerInstance->Modes->DelMode(ni);
                DELETE(ni);
        }
        
        virtual Version GetVersion()
        {
-               return Version(1,0,0,0,VF_STATIC|VF_VENDOR);
+               return Version(1,1,0,0,VF_COMMON|VF_VENDOR,API_VERSION);
        }
 };
 
@@ -107,7 +104,7 @@ class ModuleNoInviteFactory : public ModuleFactory
 };
 
 
-extern "C" void * init_module( void )
+extern "C" DllExport void * init_module( void )
 {
        return new ModuleNoInviteFactory;
 }