]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_stripcolor.cpp
Annotations
[user/henk/code/inspircd.git] / src / modules / m_stripcolor.cpp
index 98c5945a7a371cbbbce99bb3b712f8f88300f181..fd149e5f2a30eae8886678a354ff435185cd53c9 100644 (file)
 
 using namespace std;
 
-#include <stdio.h>
-#include <string>
 #include "users.h"
 #include "channels.h"
 #include "modules.h"
-#include "helperfuncs.h"
 #include "inspircd.h"
 
 /* $ModDesc: Provides channel +S mode (strip ansi colour) */
 
+/** Handles channel mode +S
+ */
 class ChannelStripColor : public ModeHandler
 {
  public:
-       ChannelStripColor() : ModeHandler('S', 0, 0, false, MODETYPE_CHANNEL, false) { }
+       ChannelStripColor(InspIRCd* Instance) : ModeHandler(Instance, 'S', 0, 0, false, MODETYPE_CHANNEL, false) { }
 
        ModeAction OnModeChange(userrec* source, userrec* dest, chanrec* channel, std::string &parameter, bool adding)
        {
@@ -61,7 +60,7 @@ class ChannelStripColor : public ModeHandler
 class UserStripColor : public ModeHandler
 {
  public:
-       UserStripColor() : ModeHandler('S', 0, 0, false, MODETYPE_USER, false) { }
+       UserStripColor(InspIRCd* Instance) : ModeHandler(Instance, 'S', 0, 0, false, MODETYPE_USER, false) { }
 
        ModeAction OnModeChange(userrec* source, userrec* dest, chanrec* channel, std::string &parameter, bool adding)
        {
@@ -93,36 +92,33 @@ class UserStripColor : public ModeHandler
 
 class ModuleStripColor : public Module
 {
- Server *Srv;
  ConfigReader *Conf, *MyConf;
  ChannelStripColor *csc;
  UserStripColor *usc;
  
  public:
-       ModuleStripColor(Server* Me)
+       ModuleStripColor(InspIRCd* Me)
                : Module::Module(Me)
        {
-               Srv = Me;
+               
 
-               usc = new UserStripColor();
-               csc = new ChannelStripColor();
+               usc = new UserStripColor(ServerInstance);
+               csc = new ChannelStripColor(ServerInstance);
 
-               Srv->AddMode(usc, 'S');
-               Srv->AddMode(csc, 'S');
+               ServerInstance->AddMode(usc, 'S');
+               ServerInstance->AddMode(csc, 'S');
        }
 
        void Implements(char* List)
        {
-               List[I_On005Numeric] = List[I_OnUserPreMessage] = List[I_OnUserPreNotice] = 1;
+               List[I_OnUserPreMessage] = List[I_OnUserPreNotice] = 1;
        }
 
-       virtual void On005Numeric(std::string &output)
-       {
-               InsertMode(output,"S",4);
-       }
-       
        virtual ~ModuleStripColor()
        {
+               ServerInstance->Modes->DelMode(usc);
+               ServerInstance->Modes->DelMode(csc);
                DELETE(usc);
                DELETE(csc);
        }
@@ -210,7 +206,7 @@ class ModuleStripColor : public Module
        virtual Version GetVersion()
        {
                // This is version 2 because version 1.x is the unreleased unrealircd module
-               return Version(1,0,0,0,VF_STATIC|VF_VENDOR);
+               return Version(1, 0, 0, 0, VF_COMMON | VF_VENDOR);
        }
        
 };
@@ -228,7 +224,7 @@ class ModuleStripColorFactory : public ModuleFactory
        {
        }
        
-       virtual Module * CreateModule(Server* Me)
+       virtual Module * CreateModule(InspIRCd* Me)
        {
                return new ModuleStripColor(Me);
        }