activemq-cpp-3.6.0
activemq::wireformat::MarshalAware Class Reference

#include <src/main/activemq/wireformat/MarshalAware.h>

Inheritance diagram for activemq::wireformat::MarshalAware:

Public Member Functions

virtual ~MarshalAware ()
virtual bool isMarshalAware () const =0
 Determine if the class implementing this interface is really wanting to be told about marshaling.
virtual void beforeMarshal (WireFormat *wireFormat)=0
 Called before marshaling is started to prepare the object to be marshaled.
virtual void afterMarshal (WireFormat *wireFormat)=0
 Called after marshaling is started to cleanup the object being marshaled.
virtual void beforeUnmarshal (WireFormat *wireFormat)=0
 Called before unmarshaling is started to prepare the object to be unmarshaled.
virtual void afterUnmarshal (WireFormat *wireFormat)=0
 Called after unmarshaling is started to cleanup the object being unmarshaled.
virtual void setMarshaledForm (WireFormat *wireFormat, const std::vector< char > &data)=0
 Called to set the data to this object that will contain the objects marshaled form.
virtual std::vector< unsigned
char > 
getMarshaledForm (WireFormat *wireFormat)=0
 Called to get the data to this object that will contain the objects marshaled form.

Constructor & Destructor Documentation

virtual activemq::wireformat::MarshalAware::~MarshalAware ( )
virtual

Member Function Documentation

virtual void activemq::wireformat::MarshalAware::afterMarshal ( WireFormat wireFormat)
pure virtual

Called after marshaling is started to cleanup the object being marshaled.

Parameters
wireFormatThe wireformat object to control marshaling
Exceptions
IOExceptionif an I/O error occurs.
virtual void activemq::wireformat::MarshalAware::afterUnmarshal ( WireFormat wireFormat)
pure virtual

Called after unmarshaling is started to cleanup the object being unmarshaled.

Parameters
wireFormatThe wireformat object to control marshaling
Exceptions
IOExceptionif an I/O error occurs.
virtual void activemq::wireformat::MarshalAware::beforeMarshal ( WireFormat wireFormat)
pure virtual

Called before marshaling is started to prepare the object to be marshaled.

Parameters
wireFormatThe wireformat object to control marshaling
Exceptions
IOExceptionif an I/O error occurs.

Implemented in activemq::commands::ActiveMQMapMessage, and activemq::commands::ActiveMQTextMessage.

virtual void activemq::wireformat::MarshalAware::beforeUnmarshal ( WireFormat wireFormat)
pure virtual

Called before unmarshaling is started to prepare the object to be unmarshaled.

Parameters
wireFormatThe wireformat object to control marshaling
Exceptions
IOExceptionif an I/O error occurs.
virtual std::vector<unsigned char> activemq::wireformat::MarshalAware::getMarshaledForm ( WireFormat wireFormat)
pure virtual

Called to get the data to this object that will contain the objects marshaled form.

Parameters
wireFormatThe wireformat object to control unmarshaling
Returns
buffer that holds the objects data.
virtual bool activemq::wireformat::MarshalAware::isMarshalAware ( ) const
pure virtual

Determine if the class implementing this interface is really wanting to be told about marshaling.

Normally if you didn't want to be marshal aware you just wouldn't implement this interface but since this is C++ and we don't have true interfaces we need a flat inheritance hierarchy, so we always implement this.

Returns
true if this class cares about marshaling.

Implemented in activemq::commands::Message, activemq::commands::WireFormatInfo, activemq::commands::ActiveMQMapMessage, and activemq::commands::BaseDataStructure.

virtual void activemq::wireformat::MarshalAware::setMarshaledForm ( WireFormat wireFormat,
const std::vector< char > &  data 
)
pure virtual

Called to set the data to this object that will contain the objects marshaled form.

Parameters
wireFormat- the wireformat object to control unmarshaling
data- vector of object binary data
wireFormatThe wireformat object to control marshaling
dataA vector of bytes that contains the object in marshaled form.
Exceptions
IOExceptionif an I/O error occurs.

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