aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
authorGravatar Daniel De Graaf2010-09-12 12:33:06 -0400
committerGravatar Daniel De Graaf2010-09-12 12:33:06 -0400
commit375fac384e2f48c44dd61733d57482d67a501980 (patch)
tree07c927994dd1cea3d43a0d4a5134623b97dbc1ec /src/modules
parentMove gnutls_dh_params into its own refcounted container object (diff)
Move RemoteUser into spanningtree
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_spanningtree/remoteuser.h13
-rw-r--r--src/modules/m_spanningtree/uid.cpp3
-rw-r--r--src/modules/m_spanningtree/user.cpp12
-rw-r--r--src/modules/m_testnet.cpp4
4 files changed, 29 insertions, 3 deletions
diff --git a/src/modules/m_spanningtree/remoteuser.h b/src/modules/m_spanningtree/remoteuser.h
new file mode 100644
index 000000000..817d2518b
--- /dev/null
+++ b/src/modules/m_spanningtree/remoteuser.h
@@ -0,0 +1,13 @@
+
+class CoreExport RemoteUser : public User
+{
+ public:
+ TreeServer* srv;
+ RemoteUser(const std::string& uid, TreeServer* Srv) :
+ User(uid, Srv->GetName(), USERTYPE_REMOTE), srv(Srv)
+ {
+ }
+ virtual void SendText(const std::string& line);
+};
+
+
diff --git a/src/modules/m_spanningtree/uid.cpp b/src/modules/m_spanningtree/uid.cpp
index 4f1fa2b6d..9b8d193b4 100644
--- a/src/modules/m_spanningtree/uid.cpp
+++ b/src/modules/m_spanningtree/uid.cpp
@@ -19,6 +19,7 @@
#include "treesocket.h"
#include "treeserver.h"
#include "resolvers.h"
+#include "remoteuser.h"
CmdResult CommandUID::Handle(const parameterlist &params, User* serversrc)
{
@@ -79,7 +80,7 @@ CmdResult CommandUID::Handle(const parameterlist &params, User* serversrc)
User* _new = NULL;
try
{
- _new = new RemoteUser(params[0], remoteserver->GetName());
+ _new = new RemoteUser(params[0], remoteserver);
}
catch (...)
{
diff --git a/src/modules/m_spanningtree/user.cpp b/src/modules/m_spanningtree/user.cpp
new file mode 100644
index 000000000..14c73398a
--- /dev/null
+++ b/src/modules/m_spanningtree/user.cpp
@@ -0,0 +1,12 @@
+#include "inspircd.h"
+#include "treeserver.h"
+#include "remoteuser.h"
+
+void RemoteUser::SendText(const std::string& line)
+{
+ char buf[MAXBUF+30];
+ snprintf(buf, MAXBUF+30, ":%s PUSH %s :%s",
+ ServerInstance->Config->GetSID().c_str(), uuid.c_str(), line.c_str());
+ TreeSocket* sock = srv->GetRoute()->GetSocket();
+ sock->WriteLine(buf);
+}
diff --git a/src/modules/m_testnet.cpp b/src/modules/m_testnet.cpp
index 06f61c01e..34b0e586f 100644
--- a/src/modules/m_testnet.cpp
+++ b/src/modules/m_testnet.cpp
@@ -194,8 +194,8 @@ class CommandTest : public Command
{
// work around printf's lack of a size_t format specification
#define szl(x) static_cast<unsigned long>(sizeof(x))
- user->SendText(":z.z NOTICE !info :User=%lu/%lu/%lu Channel=%lu Membership=%lu ban=%lu",
- szl(LocalUser), szl(RemoteUser), szl(FakeUser), szl(Channel),
+ user->SendText(":z.z NOTICE !info :User=%lu/%lu Channel=%lu Membership=%lu ban=%lu",
+ szl(LocalUser), szl(FakeUser), szl(Channel),
szl(Membership), szl(BanItem));
}
else if (parameters[0] == "check")