From: Attila Molnar Date: Tue, 29 Mar 2016 14:43:30 +0000 (+0200) Subject: Make User::WriteRemoteNumeric() virtual, implement it in SpanningTree::RemoteUser X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;h=5fbb5a0b2c5c08f76f99bd03b51bce2164feade3;p=user%2Fhenk%2Fcode%2Finspircd.git Make User::WriteRemoteNumeric() virtual, implement it in SpanningTree::RemoteUser --- diff --git a/include/users.h b/include/users.h index c2ad6b9ee..8cbf8a8da 100644 --- a/include/users.h +++ b/include/users.h @@ -524,7 +524,7 @@ class CoreExport User : public Extensible */ virtual void WriteRemoteNotice(const std::string& text); - void WriteRemoteNumeric(const Numeric::Numeric& numeric); + virtual void WriteRemoteNumeric(const Numeric::Numeric& numeric); template void WriteRemoteNumeric(unsigned int numeric, T1 p1) diff --git a/src/modules/m_spanningtree/remoteuser.cpp b/src/modules/m_spanningtree/remoteuser.cpp index cbd1b801e..717a6fd9f 100644 --- a/src/modules/m_spanningtree/remoteuser.cpp +++ b/src/modules/m_spanningtree/remoteuser.cpp @@ -26,3 +26,8 @@ SpanningTree::RemoteUser::RemoteUser(const std::string& uid, Server* srv) : ::RemoteUser(uid, srv) { } + +void SpanningTree::RemoteUser::WriteRemoteNumeric(const Numeric::Numeric& numeric) +{ + CommandNum::Builder(this, numeric).Unicast(this); +} diff --git a/src/modules/m_spanningtree/remoteuser.h b/src/modules/m_spanningtree/remoteuser.h index 235cbfd78..416f2f760 100644 --- a/src/modules/m_spanningtree/remoteuser.h +++ b/src/modules/m_spanningtree/remoteuser.h @@ -28,4 +28,5 @@ class SpanningTree::RemoteUser : public ::RemoteUser { public: RemoteUser(const std::string& uid, Server* srv); + void WriteRemoteNumeric(const Numeric::Numeric& numeric) CXX11_OVERRIDE; }; diff --git a/src/users.cpp b/src/users.cpp index e1bda1ad3..7437e8a20 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -950,8 +950,7 @@ void User::SendText(const char *text, ...) void User::WriteRemoteNumeric(const Numeric::Numeric& numeric) { - const std::string& servername = (numeric.GetServer() ? numeric.GetServer()->GetName() : ServerInstance->Config->ServerName); - SendText(BuildNumeric(servername, this, numeric.GetNumeric(), numeric.GetParams())); + WriteNumeric(numeric); } /* return 0 or 1 depending if users u and u2 share one or more common channels