libRoadRunner C++ API  1.0.0
 All Classes Functions Variables Enumerations Enumerator Pages
Configurable.h
1 /*
2  * Configurable.h
3  *
4  * Created on: Sep 24, 2013
5  * Author: andy
6  */
7 
8 #ifndef CONFIGURABLE_H_
9 #define CONFIGURABLE_H_
10 #include "rrExporter.h"
11 #include <string>
12 #include "rrExporter.h"
13 
20 struct _xmlNode;
21 struct _xmlDoc;
22 
23 namespace rr
24 {
25 
65 class RR_DECLSPEC Configurable
66 {
67 public:
68 
73  virtual _xmlNode *createConfigNode() = 0;
74 
80  virtual void loadConfig(const _xmlDoc* doc) = 0;
81 
88  static void loadXmlConfig(const std::string& xml,
89  Configurable* configurable);
90 
98  static std::string xmlFromConfigNode(_xmlNode* config);
99 
104  static _xmlNode *createCapabilityNode(const std::string& name,
105  const std::string& method, const std::string& desc);
106 
111  static _xmlNode *createCapabilitiesNode(const std::string& name,
112  const std::string& desc);
113 
121  static _xmlNode *addChild(_xmlNode *parent, _xmlNode *cur);
122 
126  static _xmlNode *createParameterNode(const std::string& name,
127  const std::string& hint, const std::string& value);
128 
132  static _xmlNode *createParameterNode(const std::string& name,
133  const std::string& hint, int value);
134 
138  static _xmlNode *createParameterNode(const std::string& name,
139  const std::string& hint, double value);
140 
147  static std::string getParameterStringValue(const _xmlDoc *doc,
148  const std::string& capabilityName,
149  const std::string& parameterName);
150 
157  static int getParameterIntValue(const _xmlDoc *doc,
158  const std::string& capabilityName,
159  const std::string& parameterName);
160 
167  static double getParameterDoubleValue(const _xmlDoc *doc,
168  const std::string& capabilityName,
169  const std::string& parameterName);
170 
171 };
172 
173 } /* namespace rr */
174 #endif /* CONFIGURABLE_H_ */
Definition: Configurable.h:65