5 #ifndef __DB_IFMAP_PARSER_H__
6 #define __DB_IFMAP_PARSER_H__
10 #include <boost/function.hpp>
23 typedef boost::function<
24 bool(
const pugi::xml_node &, std::unique_ptr<AutogenProperty> *)
38 bool Receive(
DB *db,
const char *data,
size_t length,
39 uint64_t sequence_number);
45 typedef std::map<std::string, IFMapServerParser *>
ModuleMap;
boost::function< bool(const pugi::xml_node &, std::unique_ptr< AutogenProperty > *) > MetadataParseFn
bool ParseMetadata(const pugi::xml_node &node, struct DBRequest *result) const
void MetadataRegister(const std::string &metadata, MetadataParseFn parser)
std::map< std::string, IFMapServerParser * > ModuleMap
void SetOrigin(struct DBRequest *result) const
static ModuleMap module_map_
void MetadataClear(const std::string &module)
bool Receive(DB *db, const char *data, size_t length, uint64_t sequence_number)
MetadataParseMap metadata_map_
std::map< std::string, MetadataParseFn > MetadataParseMap
void ParseResults(const pugi::xml_document &xdoc, RequestList *list) const
std::list< struct DBRequest * > RequestList
static IFMapServerParser * GetInstance(const std::string &module)
bool ParseResultItem(const pugi::xml_node &parent, bool add_change, RequestList *list) const
static void DeleteInstance(const std::string &module)