diff options
| author | 2010-09-12 12:33:06 -0400 | |
|---|---|---|
| committer | 2010-09-12 12:33:06 -0400 | |
| commit | 375fac384e2f48c44dd61733d57482d67a501980 (patch) | |
| tree | 07c927994dd1cea3d43a0d4a5134623b97dbc1ec /src/modules | |
| parent | Move 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.h | 13 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/uid.cpp | 3 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/user.cpp | 12 | ||||
| -rw-r--r-- | src/modules/m_testnet.cpp | 4 |
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 ¶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<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") |
