#include <MessageDefinition.h>
Public Member Functions | |
void | clear () |
Clear the message definition. More... | |
MessageDataType | getMessageDataType () const |
Retrieve the message data type represented by this message definition. More... | |
bool | isValid () const |
True, if this message definition is valid. More... | |
void | load (const std::string &messageDataType) |
Attempt to load the message definition for the specified message data type. More... | |
MessageDefinition () | |
Default constructor. More... | |
MessageDefinition (const MessageType &messageType) | |
Constructor (overloaded version accepting a message type) More... | |
MessageDefinition (const MessageDataType &messageDataType) | |
Constructor (overloaded version accepting a message data type) More... | |
MessageDefinition (const MessageDefinition &src) | |
Copy constructor. More... | |
void | setMessageDataType (const MessageDataType &messageDataType) |
Set the message data type represented by this message definition. More... | |
void | setMessageType (const MessageType &messageType) |
Set the message type represented by this message definition. More... | |
template<typename T > | |
void | setMessageType () |
Set the message type represented by this message definition (templated version) More... | |
void | write (std::ostream &stream) const |
Write the message definition to a stream. More... | |
~MessageDefinition () | |
Destructor. More... | |
Public Member Functions inherited from variant_topic_tools::MessageFieldCollection< DataType > | |
void | appendField (const MessageField< DataType > &field) |
Append a field to the message field collection. More... | |
void | appendField (const std::string &name, const DataType &value=DataType()) |
Append a field to the message field collection (overloaded version taking a field name and a field value) More... | |
MessageField< DataType > & | getField (int index) |
Retrieve a field of the message field collection by index (non-const version) More... | |
const MessageField< DataType > & | getField (int index) const |
Retrieve a field of the message field collection by index (const version) More... | |
MessageField< DataType > & | getField (const std::string &name) |
Retrieve a field of the message field collection by name (non-const version) More... | |
const MessageField< DataType > & | getField (const std::string &name) const |
Retrieve a field of the message field collection by name (const version) More... | |
size_t | getNumFields () const |
Retrieve the number of fields of the message field collection. More... | |
bool | hasField (const std::string &name) const |
True, if the message field collection contains the field with the specified name. More... | |
bool | isEmpty () const |
True, if the message field collections is empty. More... | |
void | merge (const MessageFieldCollection< DataType > &collection) |
Merge this message field collection with another message field collection. More... | |
MessageFieldCollection () | |
Default constructor. More... | |
MessageFieldCollection (const MessageFieldCollection< DataType > &src) | |
Copy constructor. More... | |
bool | operator!= (const MessageFieldCollection< DataType > &collection) const |
True, if this message field collection is not equal to another message field collection. More... | |
MessageFieldCollection< DataType > & | operator+= (const MessageField< DataType > &field) |
Operator for appending a field to the message field collection. More... | |
bool | operator== (const MessageFieldCollection< DataType > &collection) const |
True, if this message field collection is equal to another message field collection. More... | |
MessageField< DataType > & | operator[] (int index) |
Operator for retrieving the fields of the message field collection by index (non-const version) More... | |
const MessageField< DataType > & | operator[] (int index) const |
Operator for retrieving the fields of the message field collection by index (const version) More... | |
MessageField< DataType > & | operator[] (const std::string &name) |
Operator for retrieving the fields of the message field collection by name (non-const version) More... | |
const MessageField< DataType > & | operator[] (const std::string &name) const |
Operator for retrieving the fields of the message field collection by name (const version) More... | |
virtual void | write (std::ostream &stream, const std::string &indent=std::string()) const |
Write the message field collection to a stream. More... | |
virtual | ~MessageFieldCollection () |
Destructor. More... | |
Static Public Member Functions | |
template<typename T > | |
static MessageDefinition | create () |
Create a message definition. More... | |
Protected Member Functions | |
void | fill (const MessageDataType ¤tDataType, MessageFieldCollection< DataType > ¤tCollection) |
Recursively fill the fields of the message definition. More... | |
Protected Member Functions inherited from variant_topic_tools::MessageFieldCollection< DataType > | |
MessageField< DataType > & | getField (const std::string &name, size_t pos) const |
Recursively retrieve a field of the message field collection by name. More... | |
bool | hasField (const std::string &name, size_t pos) const |
True, if the message field collection or any of its fields contains the field with the specified name. More... | |
Protected Attributes | |
DataType | messageDataType |
The message data type represented by this message definition. More... | |
Protected Attributes inherited from variant_topic_tools::MessageFieldCollection< DataType > | |
boost::unordered_map< std::string, MessageFieldPtr > | fieldsByName |
The message fields of the collection by name. More... | |
std::vector< MessageFieldPtr > | fieldsInOrder |
The message fields of the collection in order. More... | |
Additional Inherited Members | |
Protected Types inherited from variant_topic_tools::MessageFieldCollection< DataType > | |
typedef boost::shared_ptr< MessageField< DataType > > | MessageFieldPtr |
Declaration of the message field pointer type. More... | |
typedef boost::weak_ptr< MessageField< DataType > > | MessageFieldWPtr |
Declaration of the message field weak pointer type. More... | |
Message definition.
Definition at line 41 of file MessageDefinition.h.
variant_topic_tools::MessageDefinition::MessageDefinition | ( | ) |
Default constructor.
Definition at line 37 of file MessageDefinition.cpp.
variant_topic_tools::MessageDefinition::MessageDefinition | ( | const MessageType & | messageType | ) |
Constructor (overloaded version accepting a message type)
Definition at line 40 of file MessageDefinition.cpp.
variant_topic_tools::MessageDefinition::MessageDefinition | ( | const MessageDataType & | messageDataType | ) |
Constructor (overloaded version accepting a message data type)
Definition at line 44 of file MessageDefinition.cpp.
variant_topic_tools::MessageDefinition::MessageDefinition | ( | const MessageDefinition & | src | ) |
Copy constructor.
Definition at line 48 of file MessageDefinition.cpp.
variant_topic_tools::MessageDefinition::~MessageDefinition | ( | ) |
Destructor.
Definition at line 53 of file MessageDefinition.cpp.
|
virtual |
Clear the message definition.
Reimplemented from variant_topic_tools::MessageFieldCollection< DataType >.
Definition at line 178 of file MessageDefinition.cpp.
|
static |
Create a message definition.
|
protected |
Recursively fill the fields of the message definition.
Definition at line 183 of file MessageDefinition.cpp.
MessageDataType variant_topic_tools::MessageDefinition::getMessageDataType | ( | ) | const |
Retrieve the message data type represented by this message definition.
Definition at line 157 of file MessageDefinition.cpp.
bool variant_topic_tools::MessageDefinition::isValid | ( | ) | const |
True, if this message definition is valid.
Definition at line 161 of file MessageDefinition.cpp.
void variant_topic_tools::MessageDefinition::load | ( | const std::string & | messageDataType | ) |
Attempt to load the message definition for the specified message data type.
Definition at line 169 of file MessageDefinition.cpp.
void variant_topic_tools::MessageDefinition::setMessageDataType | ( | const MessageDataType & | messageDataType | ) |
Set the message data type represented by this message definition.
Definition at line 152 of file MessageDefinition.cpp.
void variant_topic_tools::MessageDefinition::setMessageType | ( | const MessageType & | messageType | ) |
Set the message type represented by this message definition.
Definition at line 60 of file MessageDefinition.cpp.
void variant_topic_tools::MessageDefinition::setMessageType | ( | ) |
Set the message type represented by this message definition (templated version)
void variant_topic_tools::MessageDefinition::write | ( | std::ostream & | stream | ) | const |
Write the message definition to a stream.
Definition at line 194 of file MessageDefinition.cpp.
|
protected |
The message data type represented by this message definition.
Definition at line 109 of file MessageDefinition.h.