+ The number of field/value pairs must match the fieldcount parameter.\r
+\r
+ \param name The name of the message\r
+ \param fieldcount The number of field/value pairs that follow\r
+ */\r
+ Message(const std::string &name, const int fieldcount, ...);\r
+\r
+ /**\r
+ \brief Gets the name of the message\r
+\r
+ \return The name of the message\r
+ */\r
+ const std::string &GetName() const { return m_name; }\r
+ /**\r
+ \brief Sets the name of the message\r
+\r
+ \param name The name of the message\r
+ */\r
+ void SetName(const std::string &name) { m_name=name; }\r
+\r
+ /**\r
+ \brief Accesses the field/value pairs\r
+\r
+ \param field The field to access\r
+ \return Reference to the value of the field\r
+ */\r
+ std::string &operator[](const std::string &field) { return m_fields[field]; }\r
+\r
+ /**\r
+ \brief Non-const accessor for field map\r
+\r
+ \return field map\r
+ */\r
+ std::map<std::string,std::string> &GetFields() { return m_fields; }\r
+ /**\r
+ \brief Const accessor for field map\r
+\r
+ \return field map\r
+ */\r
+ const std::map<std::string,std::string> &GetFields() const { return m_fields; }\r
+ \r
+ /**\r
+ \brief Clears the name and fields of the message\r
+ */\r
+ void Clear() { m_name=""; m_fields.clear(); }\r