Parser.h

Go to the documentation of this file.
00001 #ifndef FACE_CONFIG_PARSER_H
00002 #define FACE_CONFIG_PARSER_H
00003 
00004 #include "FACE/OpenDDS_FACE_Export.h"
00005 #include "ConnectionSettings.h"
00006 #include "QosSettings.h"
00007 #include "TopicSettings.h"
00008 
00009 class ACE_Configuration_Heap;
00010 class ACE_Configuration_Section_Key;
00011 
00012 namespace OpenDDS { namespace FaceTSS { namespace config {
00013 
00014 class OpenDDS_FACE_Export Parser {
00015 public:
00016   // Returns non-zero on failure
00017   int parse(const char* filename);
00018   int find_connection(const char* name, ConnectionSettings& target);
00019   int find_topic(const char* name, TopicSettings& target);
00020   int find_qos(const ConnectionSettings& conn, QosSettings& target);
00021 
00022 private:
00023   static ConnectionMap connection_map_;
00024   static QosMap qos_map_;
00025   static TopicMap topic_map_;
00026 
00027   int parse_topic(ACE_Configuration_Heap& config,
00028                   ACE_Configuration_Section_Key& key,
00029                   const char* topic_name);
00030   int parse_connection(ACE_Configuration_Heap& config,
00031                        ACE_Configuration_Section_Key& key,
00032                        const char* connection_name);
00033   int parse_qos(ACE_Configuration_Heap& config,
00034                 ACE_Configuration_Section_Key& key,
00035                 const char* qos_name,
00036                 QosSettings::QosLevel level);
00037   int parse_sections(ACE_Configuration_Heap& config,
00038                      const char* section_type,
00039                      bool required);
00040 };
00041 
00042 } } }
00043 
00044 #endif

Generated on Fri Feb 12 20:05:24 2016 for OpenDDS by  doxygen 1.4.7