]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_chanlog.cpp
core_hostname_lookup: find answer record of the correct type instead of assuming...
[user/henk/code/inspircd.git] / src / modules / m_chanlog.cpp
index fd25b38994a2d66861a104793a74c76d9216ba67..0624b4a86294ef2f3eb2cd497538f4506b301add 100644 (file)
 
 #include "inspircd.h"
 
-/* $ModDesc: Logs snomask output to channel(s). */
-
 class ModuleChanLog : public Module
 {
        /*
         * Multimap so people can redirect a snomask to multiple channels.
         */
-       typedef std::multimap<char, std::string> ChanLogTargets;
+       typedef insp::flat_multimap<char, std::string> ChanLogTargets;
        ChanLogTargets logstreams;
 
  public:
-       void init() CXX11_OVERRIDE
-       {
-               Implementation eventlist[] = { I_OnRehash, I_OnSendSnotice };
-               ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
-
-               OnRehash(NULL);
-       }
-
-       void OnRehash(User *user) CXX11_OVERRIDE
+       void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
        {
                std::string snomasks;
                std::string channel;
@@ -54,14 +44,14 @@ class ModuleChanLog : public Module
 
                        if (channel.empty() || snomasks.empty())
                        {
-                               ServerInstance->Logs->Log("m_chanlog", LOG_DEFAULT, "Malformed chanlog tag, ignoring");
+                               ServerInstance->Logs->Log("CONFIG", LOG_DEFAULT, "Malformed chanlog tag, ignoring");
                                continue;
                        }
 
                        for (std::string::const_iterator it = snomasks.begin(); it != snomasks.end(); it++)
                        {
                                logstreams.insert(std::make_pair(*it, channel));
-                               ServerInstance->Logs->Log("m_chanlog", LOG_DEFAULT, "Logging %c to %s", *it, channel.c_str());
+                               ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "Logging %c to %s", *it, channel.c_str());
                        }
                }
 
@@ -81,7 +71,7 @@ class ModuleChanLog : public Module
                        if (c)
                        {
                                c->WriteChannelWithServ(ServerInstance->Config->ServerName, "PRIVMSG %s :%s", c->name.c_str(), snotice.c_str());
-                               ServerInstance->PI->SendChannelPrivmsg(c, 0, snotice);
+                               ServerInstance->PI->SendMessage(c, 0, snotice);
                        }
                }