OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
IFMapServerParser Class Reference

#include <ifmap_server_parser.h>

Public Types

typedef boost::function< bool(const
pugi::xml_node
&, std::unique_ptr
< AutogenProperty > *) > 
MetadataParseFn
 
typedef std::map< std::string,
MetadataParseFn
MetadataParseMap
 
typedef std::list< struct
DBRequest * > 
RequestList
 

Public Member Functions

bool ParseResultItem (const pugi::xml_node &parent, bool add_change, RequestList *list) const
 
void ParseResults (const pugi::xml_document &xdoc, RequestList *list) const
 
void MetadataRegister (const std::string &metadata, MetadataParseFn parser)
 
void MetadataClear (const std::string &module)
 
void SetOrigin (struct DBRequest *result) const
 
bool Receive (DB *db, const char *data, size_t length, uint64_t sequence_number)
 

Static Public Member Functions

static IFMapServerParserGetInstance (const std::string &module)
 
static void DeleteInstance (const std::string &module)
 

Private Types

typedef std::map< std::string,
IFMapServerParser * > 
ModuleMap
 

Private Member Functions

bool ParseMetadata (const pugi::xml_node &node, struct DBRequest *result) const
 

Private Attributes

MetadataParseMap metadata_map_
 

Static Private Attributes

static ModuleMap module_map_
 

Detailed Description

Definition at line 21 of file ifmap_server_parser.h.

Member Typedef Documentation

typedef boost::function< bool(const pugi::xml_node &, std::unique_ptr<AutogenProperty> *) > IFMapServerParser::MetadataParseFn

Definition at line 25 of file ifmap_server_parser.h.

typedef std::map<std::string, MetadataParseFn> IFMapServerParser::MetadataParseMap

Definition at line 26 of file ifmap_server_parser.h.

typedef std::map<std::string, IFMapServerParser *> IFMapServerParser::ModuleMap
private

Definition at line 45 of file ifmap_server_parser.h.

typedef std::list<struct DBRequest *> IFMapServerParser::RequestList

Definition at line 27 of file ifmap_server_parser.h.

Member Function Documentation

void IFMapServerParser::DeleteInstance ( const std::string &  module)
static

Definition at line 39 of file ifmap_server_parser.cc.

IFMapServerParser * IFMapServerParser::GetInstance ( const std::string &  module)
static

Definition at line 29 of file ifmap_server_parser.cc.

void IFMapServerParser::MetadataClear ( const std::string &  module)

Definition at line 56 of file ifmap_server_parser.cc.

void IFMapServerParser::MetadataRegister ( const std::string &  metadata,
MetadataParseFn  parser 
)

Definition at line 49 of file ifmap_server_parser.cc.

bool IFMapServerParser::ParseMetadata ( const pugi::xml_node &  node,
struct DBRequest result 
) const
private

Definition at line 72 of file ifmap_server_parser.cc.

Here is the call graph for this function:

bool IFMapServerParser::ParseResultItem ( const pugi::xml_node &  parent,
bool  add_change,
RequestList list 
) const

Definition at line 134 of file ifmap_server_parser.cc.

Here is the call graph for this function:

void IFMapServerParser::ParseResults ( const pugi::xml_document &  xdoc,
RequestList list 
) const

Definition at line 190 of file ifmap_server_parser.cc.

Here is the call graph for this function:

bool IFMapServerParser::Receive ( DB db,
const char *  data,
size_t  length,
uint64_t  sequence_number 
)

Definition at line 217 of file ifmap_server_parser.cc.

Here is the call graph for this function:

void IFMapServerParser::SetOrigin ( struct DBRequest result) const

Definition at line 66 of file ifmap_server_parser.cc.

Here is the call graph for this function:

Member Data Documentation

MetadataParseMap IFMapServerParser::metadata_map_
private

Definition at line 51 of file ifmap_server_parser.h.

IFMapServerParser::ModuleMap IFMapServerParser::module_map_
staticprivate

Definition at line 46 of file ifmap_server_parser.h.


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