]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/extra/m_mssql.cpp
Extbans can be VF_OPTCOMMON as they do not desync on module add/remove
[user/henk/code/inspircd.git] / src / modules / extra / m_mssql.cpp
index 455a4fa47cdaba4209c04c50235b29c66b189895..2e5dc8b7bb8e3fc8afd9f472dc5023d3b436b373 100644 (file)
@@ -2,7 +2,7 @@
  *              | Inspire Internet Relay Chat Daemon |
  *              +------------------------------------+
  *
- *     InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ *     InspIRCd: (C) 2002-2010 InspIRCd Development Team
  * See: http://wiki.inspircd.org/Credits
  *
  * This program is free but copyrighted software; see
@@ -636,29 +636,23 @@ class ModuleMsSQL : public Module
  private:
        unsigned long currid;
        QueryThread* queryDispatcher;
+       ServiceProvider sqlserv;
 
  public:
        ModuleMsSQL()
-       : currid(0)
+       : currid(0), sqlserv(this, "SQL/mssql", SERVICE_DATA)
        {
                LoggingMutex = new Mutex();
                ResultsMutex = new Mutex();
 
-               ServerInstance->Modules->UseInterface("SQLutils");
-
-               if (!ServerInstance->Modules->PublishFeature("SQL", this))
-               {
-                       throw ModuleException("m_mssql: Unable to publish feature 'SQL'");
-               }
-
                ReadConf();
 
                queryDispatcher = new QueryThread(this);
                ServerInstance->Threads->Start(queryDispatcher);
 
-               ServerInstance->Modules->PublishInterface("SQL", this);
                Implementation eventlist[] = { I_OnRehash };
                ServerInstance->Modules->Attach(eventlist, this, 1);
+               ServerInstance->Modules->AddService(sqlserv);
        }
 
        virtual ~ModuleMsSQL()
@@ -668,10 +662,6 @@ class ModuleMsSQL : public Module
                ClearQueue();
                ClearAllConnections();
 
-               ServerInstance->Modules->UnpublishInterface("SQL", this);
-               ServerInstance->Modules->UnpublishFeature("SQL");
-               ServerInstance->Modules->DoneWithInterface("SQLutils");
-
                delete LoggingMutex;
                delete ResultsMutex;
        }