SmartFoxServer 2X C++ API
Sfs2X::Requests::PrivateMessageRequest Class Reference

Send a chat Private Message to another User More...

#include <PrivateMessageRequest.h>

Inherits Sfs2X::Requests::GenericMessageRequest.

Public Member Functions

 PrivateMessageRequest (string message, long int recipientId, boost::shared_ptr< ISFSObject > parameters)
 Constructor More...
 
 PrivateMessageRequest (string message, long int recipientId)
 PrivateMessageRequest(string*, long int, boost::shared_ptr<ISFSObject>) More...
 

Detailed Description

Send a chat Private Message to another User

Private Messages can be exchanged between Users in the same Rooms or in different Rooms.
They can also be sent between Users that are not joined to any Rooms at all.

Constructor & Destructor Documentation

◆ PrivateMessageRequest() [1/2]

Sfs2X::Requests::PrivateMessageRequest::PrivateMessageRequest ( string  message,
long int  recipientId,
boost::shared_ptr< ISFSObject parameters 
)

Constructor

Parameters
messagethe private chat message
recipientIdthe id of the recipient User
parameterscustom extra parameters (optional)
ptrSmartFox->AddEventListener(SFSEvent::PRIVATE_MESSAGE, boost::shared_ptr<EventListenerDelegate> (EventListenerDelegate(CMyClass::OnPrivateMessage, (unsigned long long)this));
boost::shared_ptr<User> messageRecipient = ptrSmartFox->UserManager()->GetUserByName("Piggy");
// Say 'Hello' to user Tom
boost::shared_ptr<IRequest> request (new PrivateMessageRequest("Hello Piggy!", messageRecipient->Id()));
ptrSmartFox->Send(request);
static void OnPrivateMessage(unsigned long long ptrContext, boost::shared_ptr<BaseEvent> ptrEvent);
void CMyClass::OnPrivateMessage(unsigned long long ptrContext, boost::shared_ptr<BaseEvent> ptrEvent);
{
CMyClass* ptrMyClass = (CMyClass*)ptrContext;
boost::shared_ptr<map<string, boost::shared_ptr<void>>> ptrEventParams = ptrEvent->Params();
boost::shared_ptr<void> ptrEventParamValueSender = (*ptrEventParams)["sender"];
boost::shared_ptr<User> ptrNotifiedSender = ((boost::static_pointer_cast<User>)(ptrEventParamValueSender));
boost::shared_ptr<void> ptrEventParamValueMessage = (*ptrEventParams)["message"];
boost::shared_ptr<string> ptrNotifiedMessage = ((boost::static_pointer_cast<string&lg;)(ptrEventParamValueMessage));
string* message = new string("Got PM: " + (*ptrNotifiedMessage) + ", Sender: " + *user->Name());
}
See also
Core.SFSEvent.PRIVATE_MESSAGE, PublicMessageRequest

◆ PrivateMessageRequest() [2/2]

Sfs2X::Requests::PrivateMessageRequest::PrivateMessageRequest ( string  message,
long int  recipientId 
)

PrivateMessageRequest(string*, long int, boost::shared_ptr<ISFSObject>)