OSFI-C++  3.11.0
OpenSF Integration Library
Parameter.h
Go to the documentation of this file.
1 /*
2  * openSF Integration Libraries (OSFI)
3  * Deimos Space, S.L.U.
4  *
5  * This file is part of OSFI. OSFI is free software; you can redistribute it
6  * and/or modify it under the terms of the 'ESA Software Community Licence Permissive' as
7  * published by the European Space Agency; either version 2.4 of the License,
8  * or (at your option) any later version. You should have received a
9  * copy of the 'ESA Software Community Licence Permissive - v2.4' along with this program
10  * or one can be found at <http://eop-cfi.esa.int/index.php/docs-and-mission-data/licensing-documents>.
11  */
12 
17 #ifndef OSFI_CONFM_PARAMETER_H_
18 #define OSFI_CONFM_PARAMETER_H_
19 
20 #include "ConFM/base.h"
21 #include "ConFM/DynamicArray.h"
22 #include "ConFM/ArrayNode.h"
23 
24 using namespace std;
25 
32 class Parameter final
33 {
34 public:
38  using ElementType = osfi::confm::ElementType; // Alias kept for API compatibility
39 
51  Parameter(string aName, string aDescription, string aType,
52  ArrayNode root, string aUnits, string aMin, string aMax, vector<int> dims);
53 
61  Parameter(string aName, string aDescription, string aType, string aValue);
62 
74  Parameter(string aName, string aDescription, string aType, string aValue,
75  string aUnits, string aMin, string aMax, vector<int> dims);
76 
85  [[deprecated("Use the constructor with 8 arguments instead.")]]
86  Parameter(string aName, string aMin, string aMax);
87 
92 
96  void print() const;
97 
102  string getRawValue() const;
103 
108  int getIntValue() const;
109 
114  double getDoubleValue() const;
115 
120  bool getBooleanValue() const;
121 
126  string getStringValue() const;
127 
133 
140  string getFileValue() const;
141 
146  vector<string> getVectorString() const;
147 
154  vector<string> getVectorFile() const;
155 
160  vector<double> getVectorDouble() const;
161 
166  vector<int> getVectorInt() const;
167 
172  vector<bool> getVectorBoolean() const;
173 
178  vector<osfi::confm::TimeValue> getVectorTime() const;
179 
185 
191 
197 
205 
211 
217 
230 
236  [[deprecated("Changing values is deprecated and might not work with ARRAY parameters")]]
237  void setValue(string aValue);
238 
242  int getNdims() const;
243 
248  const vector<int>& getDims() const;
249 
254  [[deprecated("Ambiguous function, instead use getLocalName or getPath")]]
255  string getName();
256 
260  string getLocalName() const;
261 
265  string getPath() const;
266 
270  string getDescription() const;
271 
275  string getUnits() const;
276 
280  string getMax() const;
281 
285  string getMin() const;
286 
290  string getType() const;
291 
297  [[deprecated("Superseded by getElementType and isArray")]]
299 
302 
306  static const string delimitier;
307 
311  static const string stringDelimitier;
312 
315  bool isArray() const;
316 
318  const ArrayNode& getRootNode() const;
322  const ArrayNode& getNode(const vector<int>& indexs) const;
324  vector<bool> getVectorBoolean(const vector<int>& indexs) const;
326  vector<string> getVectorString(const vector<int>& indexs) const;
328  vector<string> getVectorFile(const vector<int>& indexs) const;
330  vector<double> getVectorDouble(const vector<int>& indexs) const;
332  vector<int> getVectorInt(const vector<int>& indexs) const;
334  vector<osfi::confm::TimeValue> getVectorTime(const vector<int>& indexs) const;
336  int getDims(const vector<int>& indexs) const;
338  bool isLeaf(const vector<int>& indexs) const;
339 
340 private:
346  bool FileExists(const string& strFilename) const;
347 
348  string name;
349  string description;
350  ElementType elType;
351  string value_;
352  string units;
353  string min;
354  string max;
355  vector<int> dims;
356  ArrayNode root_;
357  bool isArrayParam = false;
358 };
359 
360 #endif // OSFI_CONFM_PARAMETER_H_
OSFI-C++ header common to many classes in the ConFM module.
Definition: ArrayNode.h:27
Definition: DynamicArray.h:27
Definition: Parameter.h:33
const ArrayNode & getRootNode() const
Parameter(string aName, string aDescription, string aType, string aValue)
const vector< int > & getDims() const
vector< double > getVectorDouble() const
int getIntValue() const
DynamicArray< string > getMatrixFile() const
string getPath() const
vector< osfi::confm::TimeValue > getVectorTime(const vector< int > &indexs) const
vector< string > getVectorFile(const vector< int > &indexs) const
bool getBooleanValue() const
string getLocalName() const
string getMin() const
string getRawValue() const
const ArrayNode & getNode(const vector< int > &indexs) const
vector< string > getVectorFile() const
static const string stringDelimitier
Definition: Parameter.h:311
Parameter(string aName, string aMin, string aMax)
vector< double > getVectorDouble(const vector< int > &indexs) const
DynamicArray< int > getMatrixInt() const
vector< osfi::confm::TimeValue > getVectorTime() const
string getType() const
bool isLeaf(const vector< int > &indexs) const
vector< bool > getVectorBoolean(const vector< int > &indexs) const
ElementType getElementType() const
osfi::confm::TimeValue getTimeValue() const
string getUnits() const
static const string delimitier
Definition: Parameter.h:306
vector< int > getVectorInt(const vector< int > &indexs) const
vector< bool > getVectorBoolean() const
DynamicArray< string > getMatrixString() const
vector< string > getVectorString(const vector< int > &indexs) const
int getNdims() const
string getFileValue() const
DynamicArray< bool > getMatrixBoolean() const
bool isArray() const
DynamicArray< double > getMatrixDouble() const
string getMax() const
string getName()
DynamicArray< bool > fileExist() const
DynamicArray< osfi::confm::TimeValue > getMatrixTime() const
int getParamType()
void setValue(string aValue)
int getDims(const vector< int > &indexs) const
double getDoubleValue() const
void print() const
string getDescription() const
vector< int > getVectorInt() const
Parameter(string aName, string aDescription, string aType, string aValue, string aUnits, string aMin, string aMax, vector< int > dims)
Parameter(string aName, string aDescription, string aType, ArrayNode root, string aUnits, string aMin, string aMax, vector< int > dims)
vector< string > getVectorString() const
string getStringValue() const
ElementType
Definition: base.h:31
Definition: base.h:72