Add User::WriteRemoteNotice()

Sends a NOTICE from the local server to the user which can be local or remote
This commit is contained in:
Attila Molnar 2016-03-01 16:15:59 +01:00
parent 4f1005acd1
commit 49e2df0307
2 changed files with 21 additions and 0 deletions

View File

@ -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.

View File

@ -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