diff options
author | Attila Molnar <attilamolnar@hush.com> | 2016-03-01 16:15:59 +0100 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2016-03-01 16:15:59 +0100 |
commit | 49e2df0307b41f76529f26da2fa26456c179cdb2 (patch) | |
tree | e292eb2212af06c8d7b7880b2607efd82489bc00 | |
parent | 4f1005acd1e97a6dac8182f80a0ccf453376ba67 (diff) |
Add User::WriteRemoteNotice()
Sends a NOTICE from the local server to the user which can be local or remote
-rw-r--r-- | include/users.h | 11 | ||||
-rw-r--r-- | src/users.cpp | 10 |
2 files changed, 21 insertions, 0 deletions
diff --git a/include/users.h b/include/users.h index 5e7df74ea..8d53197ba 100644 --- a/include/users.h +++ b/include/users.h @@ -519,6 +519,11 @@ class CoreExport User : public Extensible */ void WriteNotice(const std::string& text) { this->WriteCommand("NOTICE", ":" + text); } + /** Send a NOTICE message from the local server to the user. + * @param text Text to send + */ + virtual void WriteRemoteNotice(const std::string& text); + void WriteRemoteNumeric(const Numeric::Numeric& numeric); template <typename T1> @@ -847,6 +852,12 @@ class CoreExport LocalUser : public User, public insp::intrusive_list_node<Local void Write(const std::string& text); void Write(const char*, ...) CUSTOM_PRINTF(2, 3); + /** Send a NOTICE message from the local server to the user. + * The message will be sent even if the user is connected to a remote server. + * @param text Text to send + */ + void WriteRemoteNotice(const std::string& text) CXX11_OVERRIDE; + /** Returns true or false for if a user can execute a privilaged oper command. * This is done by looking up their oper type from User::oper, then referencing * this to their oper classes and checking the commands they can execute. diff --git a/src/users.cpp b/src/users.cpp index 11f103e9d..db5f8a74d 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -830,6 +830,16 @@ void User::WriteFrom(User *user, const char* text, ...) this->WriteFrom(user, textbuffer); } +void User::WriteRemoteNotice(const std::string& text) +{ + ServerInstance->PI->SendUserNotice(this, text); +} + +void LocalUser::WriteRemoteNotice(const std::string& text) +{ + WriteNotice(text); +} + namespace { class WriteCommonRawHandler : public User::ForEachNeighborHandler |