5 #ifndef __SANDESH_MESSAGE_BUILDER_H__
6 #define __SANDESH_MESSAGE_BUILDER_H__
8 #include <pugixml/pugixml.hpp>
10 #include <sandesh/sandesh_types.h>
11 #include <sandesh/sandesh.h>
19 virtual bool Parse(
const uint8_t *data,
size_t size) = 0;
35 virtual bool Parse(
const uint8_t *data,
size_t size);
41 SandeshHeader& header);
54 virtual bool Parse(
const uint8_t *data,
size_t size);
virtual SandeshMessage * Create(const uint8_t *data, size_t size) const =0
static SandeshMessageBuilder * GetInstance(Type type)
virtual ~SandeshMessage()
const std::string & GetMessageType() const
const size_t GetSize() const
virtual const std::string ExtractMessage() const =0
const SandeshHeader & GetHeader() const
std::string message_type_
virtual bool Parse(const uint8_t *data, size_t size)=0
virtual SandeshMessage * Create(const uint8_t *data, size_t size) const
SandeshSyslogMessageBuilder()
static SandeshSyslogMessageBuilder * GetInstance()
static SandeshSyslogMessageBuilder instance_
DISALLOW_COPY_AND_ASSIGN(SandeshSyslogMessageBuilder)
DISALLOW_COPY_AND_ASSIGN(SandeshSyslogMessage)
virtual ~SandeshSyslogMessage()
void SetHeader(const SandeshHeader &header)
virtual bool Parse(const uint8_t *data, size_t size)
static SandeshXMLMessageBuilder instance_
SandeshXMLMessageBuilder()
virtual SandeshMessage * Create(const uint8_t *data, size_t size) const
DISALLOW_COPY_AND_ASSIGN(SandeshXMLMessageBuilder)
static SandeshXMLMessageBuilder * GetInstance()
virtual const std::string ExtractMessage() const
virtual bool Parse(const uint8_t *data, size_t size)
DISALLOW_COPY_AND_ASSIGN(SandeshXMLMessage)
const pugi::xml_node & GetMessageNode() const
virtual ~SandeshXMLMessage()
pugi::xml_node message_node_
bool ParseHeader(const pugi::xml_node &root, SandeshHeader &header)