From 375fac384e2f48c44dd61733d57482d67a501980 Mon Sep 17 00:00:00 2001 From: Daniel De Graaf Date: Sun, 12 Sep 2010 12:33:06 -0400 Subject: Move RemoteUser into spanningtree --- src/modules/m_spanningtree/remoteuser.h | 13 +++++++++++++ src/modules/m_spanningtree/uid.cpp | 3 ++- src/modules/m_spanningtree/user.cpp | 12 ++++++++++++ src/modules/m_testnet.cpp | 4 ++-- 4 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 src/modules/m_spanningtree/remoteuser.h create mode 100644 src/modules/m_spanningtree/user.cpp (limited to 'src/modules') 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 ¶ms, User* serversrc) { @@ -79,7 +80,7 @@ CmdResult CommandUID::Handle(const parameterlist ¶ms, 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(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") -- cgit v1.3.1-10-gc9f91