Safir SDK Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Safir::Dob::MessageProxy Class Reference

Proxy class for a message. More...

#include <Safir/Dob/MessageProxy.h>

Public Member Functions

const Dob::Typesystem::TypeId GetTypeId () const
 Get type id. More...
 
const Dob::MessagePtr GetMessage () const
 Get message. More...
 
const Dob::ConnectionInfoPtr GetSenderConnectionInfo () const
 Get info about the sender. More...
 
const Dob::Typesystem::ChannelId GetChannelId () const
 Get channel id. More...
 
const char * GetBlob () const
 Get binary blob of the received message. More...
 
 MessageProxy (Internal::MessageProxyImpl *pImpl)
 
Trace and Debug stuff
const Dob::Typesystem::ChannelId GetChannelIdWithStringRepresentation () const
 Get channel id that also contains the string representation. More...
 

Detailed Description

Proxy class for a message.

Constructor & Destructor Documentation

Safir::Dob::MessageProxy::MessageProxy ( Internal::MessageProxyImpl *  pImpl)
explicit

Member Function Documentation

const char* Safir::Dob::MessageProxy::GetBlob ( ) const

Get binary blob of the received message.

This method will give you a pointer to the underlying representation of the object. Note that this pointer is only valid while the MessageProxy is in scope. If you want to keep the blob you must copy it using methods in Safir::Dob::Typesystem.

This method is mainly useful if all you want to do with a received object is to write it to a database or pass it over a C-interface to a library or plugin.

As an example, if you want to copy the bytes into a std::vector<char> you could do it like this "v = std::vector<char>(blob,blob+Safir::Dob::Typesystem::BlobOperations.GetSize())"

Returns
Binary blob of the received message.
const Dob::Typesystem::ChannelId Safir::Dob::MessageProxy::GetChannelId ( ) const

Get channel id.

Retrieves the channel on which the message is sent.

Returns
Channel id.
const Dob::Typesystem::ChannelId Safir::Dob::MessageProxy::GetChannelIdWithStringRepresentation ( ) const

Get channel id that also contains the string representation.

Mainly for trace and debug purposes.

See also
GetChannelId()
Returns
Channel id.
const Dob::MessagePtr Safir::Dob::MessageProxy::GetMessage ( ) const

Get message.

Retrieves a smart pointer to the message.

Returns
Message
const Dob::ConnectionInfoPtr Safir::Dob::MessageProxy::GetSenderConnectionInfo ( ) const

Get info about the sender.

Retrieves a smart pointer to info about the connection sending the message.

Returns
Connection info.
const Dob::Typesystem::TypeId Safir::Dob::MessageProxy::GetTypeId ( ) const

Get type id.

Retrieves type id of the message.

Returns
Type id.