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 "QosSettings.h"
00006 #include "ConnectionSettings.h"
00007 #include "TopicSettings.h"
00008
00009 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00010 class ACE_Configuration_Heap;
00011 class ACE_Configuration_Section_Key;
00012 ACE_END_VERSIONED_NAMESPACE_DECL
00013
00014 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL
00015
00016 namespace OpenDDS { namespace FaceTSS { namespace config {
00017
00018 class OpenDDS_FACE_Export Parser {
00019 public:
00020
00021 int parse(const char* filename);
00022 int find_connection(const char* name, ConnectionSettings& target);
00023 int find_topic(const char* name, TopicSettings& target);
00024 int find_qos(const ConnectionSettings& conn, QosSettings& target);
00025
00026 private:
00027 static ConnectionMap connection_map_;
00028 static QosMap qos_map_;
00029 static TopicMap topic_map_;
00030
00031 int parse_topic(ACE_Configuration_Heap& config,
00032 ACE_Configuration_Section_Key& key,
00033 const char* topic_name);
00034 int parse_connection(ACE_Configuration_Heap& config,
00035 ACE_Configuration_Section_Key& key,
00036 const char* connection_name);
00037 int parse_qos(ACE_Configuration_Heap& config,
00038 ACE_Configuration_Section_Key& key,
00039 const char* qos_name,
00040 QosSettings::QosLevel level);
00041 int parse_sections(ACE_Configuration_Heap& config,
00042 const char* section_type,
00043 bool required);
00044 };
00045
00046 } } }
00047
00048 OPENDDS_END_VERSIONED_NAMESPACE_DECL
00049
00050 #endif