]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
m_ircv3 Make WriteNeighborsWithCap() available for use in other modules
authorAttila Molnar <attilamolnar@hush.com>
Sat, 5 Dec 2015 15:47:41 +0000 (16:47 +0100)
committerAttila Molnar <attilamolnar@hush.com>
Sat, 5 Dec 2015 15:47:41 +0000 (16:47 +0100)
include/modules/ircv3.h [new file with mode: 0644]
src/modules/m_ircv3.cpp

diff --git a/include/modules/ircv3.h b/include/modules/ircv3.h
new file mode 100644 (file)
index 0000000..e03ee16
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * InspIRCd -- Internet Relay Chat Daemon
+ *
+ *   Copyright (C) 2015 Attila Molnar <attilamolnar@hush.com>
+ *
+ * This file is part of InspIRCd.  InspIRCd is free software: you can
+ * redistribute it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#pragma once
+
+namespace IRCv3
+{
+       class WriteNeighborsWithCap;
+}
+
+class IRCv3::WriteNeighborsWithCap : public User::ForEachNeighborHandler
+{
+       const Cap::Capability& cap;
+       const std::string& msg;
+
+       void Execute(LocalUser* user) CXX11_OVERRIDE
+       {
+               if (cap.get(user))
+                       user->Write(msg);
+       }
+
+ public:
+       WriteNeighborsWithCap(User* user, const std::string& message, const Cap::Capability& capability)
+               : cap(capability)
+               , msg(message)
+       {
+               user->ForEachNeighbor(*this, false);
+       }
+};
index c99d920bae297f9fd4d08c561c141ea6e353b426..5275e9bd5911b5fc95d670ee5c6c4212ad790352 100644 (file)
 #include "inspircd.h"
 #include "modules/account.h"
 #include "modules/cap.h"
-
-class WriteNeighborsWithCap : public User::ForEachNeighborHandler
-{
-       const Cap::Capability& cap;
-       const std::string& msg;
-
-       void Execute(LocalUser* user) CXX11_OVERRIDE
-       {
-               if (cap.get(user))
-                       user->Write(msg);
-       }
-
- public:
-       WriteNeighborsWithCap(User* user, const std::string& message, const Cap::Capability& capability)
-               : cap(capability)
-               , msg(message)
-       {
-               user->ForEachNeighbor(*this, false);
-       }
-};
+#include "modules/ircv3.h"
 
 class ModuleIRCv3 : public Module, public AccountEventListener
 {
@@ -76,7 +57,7 @@ class ModuleIRCv3 : public Module, public AccountEventListener
                else
                        line += newaccount;
 
-               WriteNeighborsWithCap(user, line, cap_accountnotify);
+               IRCv3::WriteNeighborsWithCap(user, line, cap_accountnotify);
        }
 
        void OnUserJoin(Membership* memb, bool sync, bool created, CUList& excepts) CXX11_OVERRIDE
@@ -162,7 +143,7 @@ class ModuleIRCv3 : public Module, public AccountEventListener
                        if (!awaymsg.empty())
                                line += " :" + awaymsg;
 
-                       WriteNeighborsWithCap(user, line, cap_awaynotify);
+                       IRCv3::WriteNeighborsWithCap(user, line, cap_awaynotify);
                }
                return MOD_RES_PASSTHRU;
        }