Qpid C++ Messaging API  0.20
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
qpid::messaging::Message Class Reference

#include <Message.h>

Public Member Functions

QPID_MESSAGING_EXTERN Message (const std::string &bytes=std::string())
 
QPID_MESSAGING_EXTERN Message (const char *, size_t)
 
QPID_MESSAGING_EXTERN Message (const Message &)
 
QPID_MESSAGING_EXTERN ~Message ()
 
QPID_MESSAGING_EXTERN Messageoperator= (const Message &)
 
QPID_MESSAGING_EXTERN void setReplyTo (const Address &)
 
QPID_MESSAGING_EXTERN const
Address
getReplyTo () const
 
QPID_MESSAGING_EXTERN void setSubject (const std::string &)
 
QPID_MESSAGING_EXTERN const
std::string & 
getSubject () const
 
QPID_MESSAGING_EXTERN void setContentType (const std::string &)
 
QPID_MESSAGING_EXTERN const
std::string & 
getContentType () const
 
QPID_MESSAGING_EXTERN void setMessageId (const std::string &)
 
QPID_MESSAGING_EXTERN const
std::string & 
getMessageId () const
 
QPID_MESSAGING_EXTERN void setUserId (const std::string &)
 
QPID_MESSAGING_EXTERN const
std::string & 
getUserId () const
 
QPID_MESSAGING_EXTERN void setCorrelationId (const std::string &)
 
QPID_MESSAGING_EXTERN const
std::string & 
getCorrelationId () const
 
QPID_MESSAGING_EXTERN void setPriority (uint8_t)
 
QPID_MESSAGING_EXTERN uint8_t getPriority () const
 
QPID_MESSAGING_EXTERN void setTtl (Duration ttl)
 
QPID_MESSAGING_EXTERN Duration getTtl () const
 
QPID_MESSAGING_EXTERN void setDurable (bool durable)
 
QPID_MESSAGING_EXTERN bool getDurable () const
 
QPID_MESSAGING_EXTERN bool getRedelivered () const
 
QPID_MESSAGING_EXTERN void setRedelivered (bool)
 
QPID_MESSAGING_EXTERN const
qpid::types::Variant::Map
getProperties () const
 
QPID_MESSAGING_EXTERN
qpid::types::Variant::Map
getProperties ()
 
QPID_MESSAGING_EXTERN void setContent (const std::string &)
 
QPID_MESSAGING_EXTERN void setContent (const char *chars, size_t count)
 
QPID_MESSAGING_EXTERN std::string getContent () const
 
QPID_MESSAGING_EXTERN const char * getContentPtr () const
 
QPID_MESSAGING_EXTERN size_t getContentSize () const
 
QPID_MESSAGING_EXTERN void setProperty (const std::string &, const qpid::types::Variant &)
 

Friends

struct MessageImplAccess
 

Detailed Description

Representation of a message.

Constructor & Destructor Documentation

QPID_MESSAGING_EXTERN qpid::messaging::Message::Message ( const std::string &  bytes = std::string())
QPID_MESSAGING_EXTERN qpid::messaging::Message::Message ( const char *  ,
size_t   
)
QPID_MESSAGING_EXTERN qpid::messaging::Message::Message ( const Message )
QPID_MESSAGING_EXTERN qpid::messaging::Message::~Message ( )

Member Function Documentation

QPID_MESSAGING_EXTERN std::string qpid::messaging::Message::getContent ( ) const

Get the content as a std::string

QPID_MESSAGING_EXTERN const char* qpid::messaging::Message::getContentPtr ( ) const

Get a const pointer to the start of the content data. The memory pointed to is owned by the message. The getContentSize() method indicates how much data there is (i.e. the extent of the memory region pointed to by the return value of this method).

QPID_MESSAGING_EXTERN size_t qpid::messaging::Message::getContentSize ( ) const

Get the size of content in bytes.

QPID_MESSAGING_EXTERN const std::string& qpid::messaging::Message::getContentType ( ) const

Returns the content type (i.e. the MIME type) for the message. This can be used to determine how to decode the message content.

QPID_MESSAGING_EXTERN const std::string& qpid::messaging::Message::getCorrelationId ( ) const
QPID_MESSAGING_EXTERN bool qpid::messaging::Message::getDurable ( ) const
QPID_MESSAGING_EXTERN const std::string& qpid::messaging::Message::getMessageId ( ) const
QPID_MESSAGING_EXTERN uint8_t qpid::messaging::Message::getPriority ( ) const
QPID_MESSAGING_EXTERN const qpid::types::Variant::Map& qpid::messaging::Message::getProperties ( ) const

In addition to a payload (i.e. the content), messages can include annotations describing aspectf of the message. In addition to the standard annotations such as TTL and content type, application- or context- specific properties can also be defined. Each message has a map of name values for such custom properties. The value is specified as a Variant.

QPID_MESSAGING_EXTERN qpid::types::Variant::Map& qpid::messaging::Message::getProperties ( )
QPID_MESSAGING_EXTERN bool qpid::messaging::Message::getRedelivered ( ) const

The redelivered flag if set implies that the message may have been previously delivered and thus is a hint to the application or messaging infrastructure that if de-duplication is required this message should be examined to determine if it is a duplicate.

QPID_MESSAGING_EXTERN const Address& qpid::messaging::Message::getReplyTo ( ) const
QPID_MESSAGING_EXTERN const std::string& qpid::messaging::Message::getSubject ( ) const
QPID_MESSAGING_EXTERN Duration qpid::messaging::Message::getTtl ( ) const

*Get the time to live for this message in milliseconds.

QPID_MESSAGING_EXTERN const std::string& qpid::messaging::Message::getUserId ( ) const
QPID_MESSAGING_EXTERN Message& qpid::messaging::Message::operator= ( const Message )
QPID_MESSAGING_EXTERN void qpid::messaging::Message::setContent ( const std::string &  )

Set the content to the data held in the string parameter. Note: this is treated as raw bytes and need not be text. Consider setting the content-type to indicate how the data should be interpreted by recipients.

QPID_MESSAGING_EXTERN void qpid::messaging::Message::setContent ( const char *  chars,
size_t  count 
)

Copy count bytes from the region pointed to by chars as the message content.

QPID_MESSAGING_EXTERN void qpid::messaging::Message::setContentType ( const std::string &  )

Set the content type (i.e. the MIME type) for the message. This should be set by the sending application and indicates to recipients of message how to interpret or decode the content.

QPID_MESSAGING_EXTERN void qpid::messaging::Message::setCorrelationId ( const std::string &  )

Can be used to set application specific correlation identifiers as part of a protocol for message exchange patterns. E.g. a request-reponse pattern might require the correlation-id of the request and response to match, or might use the message-id of the request as the correlation-id on the response etc.

QPID_MESSAGING_EXTERN void qpid::messaging::Message::setDurable ( bool  durable)

Mark the message as durable. This is a hint to the messaging infrastructure that the message should be persisted or otherwise stored such that failoures or shutdown do not cause it to be lost.

QPID_MESSAGING_EXTERN void qpid::messaging::Message::setMessageId ( const std::string &  )

Set an application defined identifier for the message. At present this must be a stringfied UUID (support for less restrictive IDs is anticipated however).

QPID_MESSAGING_EXTERN void qpid::messaging::Message::setPriority ( uint8_t  )

Sets a priority level on the message. This may be used by the messaging infrastructure to prioritise delivery of higher priority messages.

QPID_MESSAGING_EXTERN void qpid::messaging::Message::setProperty ( const std::string &  ,
const qpid::types::Variant  
)
QPID_MESSAGING_EXTERN void qpid::messaging::Message::setRedelivered ( bool  )

Can be used to provide a hint to the application or messaging infrastructure that if de-duplication is required this message should be examined to determine if it is a duplicate.

QPID_MESSAGING_EXTERN void qpid::messaging::Message::setReplyTo ( const Address )
QPID_MESSAGING_EXTERN void qpid::messaging::Message::setSubject ( const std::string &  )
QPID_MESSAGING_EXTERN void qpid::messaging::Message::setTtl ( Duration  ttl)

Set the time to live for this message in milliseconds. This can be used by the messaging infrastructure to discard messages that are no longer of relevance.

QPID_MESSAGING_EXTERN void qpid::messaging::Message::setUserId ( const std::string &  )

Sets the user id of the message. This should in general be the user-id as which the sending connection authenticated itself as the messaging infrastructure will verify this. See Connection::getAuthenticatedUsername()

Friends And Related Function Documentation

friend struct MessageImplAccess
friend

The documentation for this class was generated from the following file: