]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_chanlog.cpp
Convert m_sha256 to use a vendored library instead of bundling.
[user/henk/code/inspircd.git] / src / modules / m_chanlog.cpp
index fb7f5f1c07382428759ae65a518daa36b44dbaa8..85e7ca2eb7b9d9eb4900f47db02fb7b5d088d690 100644 (file)
@@ -25,19 +25,11 @@ 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;
@@ -52,7 +44,7 @@ class ModuleChanLog : public Module
 
                        if (channel.empty() || snomasks.empty())
                        {
-                               ServerInstance->Logs->Log("CONFIG", LOG_DEFAULT, "Malformed chanlog tag, ignoring");
+                               ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "Malformed chanlog tag, ignoring");
                                continue;
                        }
 
@@ -78,8 +70,9 @@ class ModuleChanLog : public Module
                        Channel *c = ServerInstance->FindChan(it->second);
                        if (c)
                        {
-                               c->WriteChannelWithServ(ServerInstance->Config->ServerName, "PRIVMSG %s :%s", c->name.c_str(), snotice.c_str());
-                               ServerInstance->PI->SendChannelPrivmsg(c, 0, snotice);
+                               ClientProtocol::Messages::Privmsg privmsg(ClientProtocol::Messages::Privmsg::nocopy, ServerInstance->Config->ServerName, c, snotice);
+                               c->Write(ServerInstance->GetRFCEvents().privmsg, privmsg);
+                               ServerInstance->PI->SendMessage(c, 0, snotice);
                        }
                }