ConfDataReader.hpp
Go to the documentation of this file.
1 //==============================================================================
2 //
3 // This file is part of GNSSTk, the ARL:UT GNSS Toolkit.
4 //
5 // The GNSSTk is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published
7 // by the Free Software Foundation; either version 3.0 of the License, or
8 // any later version.
9 //
10 // The GNSSTk is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with GNSSTk; if not, write to the Free Software Foundation,
17 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
18 //
19 // This software was developed by Applied Research Laboratories at the
20 // University of Texas at Austin.
21 // Copyright 2004-2022, The Board of Regents of The University of Texas System
22 //
23 //==============================================================================
24 
25 //==============================================================================
26 //
27 // This software was developed by Applied Research Laboratories at the
28 // University of Texas at Austin, under contract to an agency or agencies
29 // within the U.S. Department of Defense. The U.S. Government retains all
30 // rights to use, duplicate, distribute, disclose, or release this software.
31 //
32 // Pursuant to DoD Directive 523024
33 //
34 // DISTRIBUTION STATEMENT A: This software has been approved for public
35 // release, distribution is unlimited.
36 //
37 //==============================================================================
38 
44 #ifndef CONFDATAREADER_HPP
45 #define CONFDATAREADER_HPP
46 
47 #include <string>
48 #include <map>
49 #include "FFTextStream.hpp"
50 #include "StringUtils.hpp"
51 #include "Matrix.hpp"
52 
53 
54 namespace gnsstk
55 {
56 
58 
59 
168  {
169  public:
170 
173  : issueException(true), fallback2Default(false) {};
174 
175 
182  ConfDataReader(const char* file)
183  : FFTextStream(file, std::ios::in), issueException(true),
184  fallback2Default(false)
185  { loadData(); };
186 
187 
194  ConfDataReader(const std::string& file)
195  : FFTextStream(file.c_str(), std::ios::in), issueException(true),
196  fallback2Default(false)
197  { loadData(); };
198 
199 #pragma clang diagnostic push
200 #pragma clang diagnostic ignored "-Woverloaded-virtual"
201  virtual void open(const char* fn);
203 
204 
206  virtual void open(const std::string& fn)
207  { open( fn.c_str() ); };
208 #pragma clang diagnostic pop
209 
216  virtual std::string getValue( std::string variable,
217  std::string section = "DEFAULT",
218  std::string defaultVal = "");
219 
220 
227  virtual double getValueAsDouble( std::string variable,
228  std::string section = "DEFAULT",
229  double defaultVal = 0.0)
230  {
231  return StringUtils::asDouble(
232  getValue(variable, section, StringUtils::asString(defaultVal)) );
233  };
234 
235 
242  virtual int getValueAsInt( std::string variable,
243  std::string section = "DEFAULT",
244  int defaultVal = 0 )
245  {
246  return StringUtils::asInt(
247  getValue(variable, section, StringUtils::asString(defaultVal)) );
248  };
249 
250 
257  virtual bool getValueAsBoolean( std::string variable,
258  std::string section = "DEFAULT",
259  bool defaultVal = false );
260 
261 
274  virtual std::string fetchListValue( std::string variableList,
275  std::string section = "DEFAULT",
276  std::string defaultVal = "" );
277 
278 
291  virtual double fetchListValueAsDouble( std::string variableList,
292  std::string section = "DEFAULT",
293  double defaultVal = 0.0 )
294  {
295  return StringUtils::asDouble(
296  fetchListValue(variableList,section,StringUtils::asString(defaultVal)));
297  };
298 
299 
312  virtual int fetchListValueAsInt( std::string variableList,
313  std::string section = "DEFAULT",
314  int defaultVal = 0 )
315  {
316  return StringUtils::asInt(
317  fetchListValue(variableList,section,StringUtils::asString(defaultVal)));
318  };
319 
320 
335  virtual bool fetchListValueAsBoolean( std::string variableList,
336  std::string section = "DEFAULT",
337  bool defaultVal = false);
338 
339 
349  virtual int getNumItem( std::string variableList,
350  std::string section = "DEFAULT" )
351  { return StringUtils::numWords( getValue( variableList, section ) ); };
352 
353 
360  virtual std::string getVariableDescription( std::string variable,
361  std::string section = "DEFAULT" );
362 
363 
370  virtual std::string getValueDescription( std::string variable,
371  std::string section = "DEFAULT" );
372 
373 
377  virtual bool getIssueException( void ) const
378  { return issueException; };
379 
380 
388  { issueException = issueEx; return (*this); }
389 
390 
394  virtual bool getFallback2Default( void ) const
395  { return fallback2Default; };
396 
397 
405  { fallback2Default = fallback; return (*this); }
406 
407 
409  virtual ConfDataReader& clear(void)
410  { confData.clear(); return (*this); };
411 
412 
414  virtual std::string getEachSection(void);
415 
416 
419  virtual void resetSection(void)
420  { itCurrentSection = confData.begin(); return; };
421 
422 
429  virtual bool ifExist( std::string variable,
430  std::string section = "DEFAULT" );
431 
432 
439  virtual std::string operator()( std::string variable,
440  std::string section = "DEFAULT" )
441  { return getValue(variable, section); };
442 
443 
445  virtual ~ConfDataReader() {}
446 
447 
448  private:
449 
450 
454 
455 
459 
460 
463  {
464  // Default constructor initializing the data in the structure
466 
467  std::string varComment;
468  std::string value;
469  std::string valueComment;
470  };
471 
472 
474  typedef std::map<std::string, variableData> variableMap;
475 
477  typedef std::map<std::string, variableMap> confMap;
478 
479 
480 
483 
484 
486  confMap::const_iterator itCurrentSection;
487 
488 
493  virtual bool checkName(std::string name);
494 
495 
499  virtual void loadData(void);
500 
501 
502  }; // End of class 'ConfDataReader'
503 
505 
506 } // End of namespace gnsstk
507 #endif // CONFDATAREADER_HPP
gnsstk::StringUtils::asInt
long asInt(const std::string &s)
Definition: StringUtils.hpp:713
gnsstk::ConfDataReader::checkName
virtual bool checkName(std::string name)
Definition: ConfDataReader.cpp:866
gnsstk::ConfDataReader::getValueAsDouble
virtual double getValueAsDouble(std::string variable, std::string section="DEFAULT", double defaultVal=0.0)
Definition: ConfDataReader.hpp:227
gnsstk::ConfDataReader::getValueAsInt
virtual int getValueAsInt(std::string variable, std::string section="DEFAULT", int defaultVal=0)
Definition: ConfDataReader.hpp:242
gnsstk::ConfDataReader::variableData::value
std::string value
Value of variable.
Definition: ConfDataReader.hpp:468
file
page HOWTO subpage DoxygenGuide Documenting Your Code page DoxygenGuide Documenting Your Code todo Flesh out this document section doctips Tips for Documenting When defining make sure that the prototype is identical between the cpp and hpp file
Definition: DOCUMENTING.dox:9
gnsstk::ConfDataReader::setFallback2Default
ConfDataReader & setFallback2Default(bool fallback)
Definition: ConfDataReader.hpp:404
gnsstk::ConfDataReader::getVariableDescription
virtual std::string getVariableDescription(std::string variable, std::string section="DEFAULT")
Definition: ConfDataReader.cpp:554
StringUtils.hpp
gnsstk::ConfDataReader::fetchListValueAsBoolean
virtual bool fetchListValueAsBoolean(std::string variableList, std::string section="DEFAULT", bool defaultVal=false)
Definition: ConfDataReader.cpp:487
gnsstk::ConfDataReader::open
virtual void open(const std::string &fn)
Method to open AND load configuration data file.
Definition: ConfDataReader.hpp:206
gnsstk::ConfDataReader::variableData::valueComment
std::string valueComment
Value comment.
Definition: ConfDataReader.hpp:469
gnsstk::ConfDataReader::variableData::variableData
variableData()
Definition: ConfDataReader.hpp:465
gnsstk::ConfDataReader::setIssueException
ConfDataReader & setIssueException(bool issueEx)
Definition: ConfDataReader.hpp:387
gnsstk::StringUtils::asString
std::string asString(IonexStoreStrategy e)
Convert a IonexStoreStrategy to a whitespace-free string name.
Definition: IonexStoreStrategy.cpp:46
gnsstk::ConfDataReader::fetchListValueAsInt
virtual int fetchListValueAsInt(std::string variableList, std::string section="DEFAULT", int defaultVal=0)
Definition: ConfDataReader.hpp:312
gnsstk::ConfDataReader::variableMap
std::map< std::string, variableData > variableMap
Define 'variableMap' type.
Definition: ConfDataReader.hpp:474
gnsstk::ConfDataReader::getIssueException
virtual bool getIssueException(void) const
Definition: ConfDataReader.hpp:377
gnsstk::ConfDataReader::fallback2Default
bool fallback2Default
Definition: ConfDataReader.hpp:458
gnsstk::ConfDataReader::confMap
std::map< std::string, variableMap > confMap
Define 'confMap' type.
Definition: ConfDataReader.hpp:477
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::ConfDataReader::variableData
A structure used to store variable's data.
Definition: ConfDataReader.hpp:462
gnsstk::ConfDataReader::getValueAsBoolean
virtual bool getValueAsBoolean(std::string variable, std::string section="DEFAULT", bool defaultVal=false)
Definition: ConfDataReader.cpp:357
gnsstk::ConfDataReader::getValue
virtual std::string getValue(std::string variable, std::string section="DEFAULT", std::string defaultVal="")
Definition: ConfDataReader.cpp:268
gnsstk::StringUtils::numWords
int numWords(const std::string &s, const char delimiter=' ')
Definition: StringUtils.hpp:2171
gnsstk::ConfDataReader::itCurrentSection
confMap::const_iterator itCurrentSection
Iterator pointing to the current section.
Definition: ConfDataReader.hpp:486
gnsstk::ConfDataReader::variableData::varComment
std::string varComment
Variable comment.
Definition: ConfDataReader.hpp:465
FFTextStream.hpp
gnsstk::StringUtils::asDouble
double asDouble(const std::string &s)
Definition: StringUtils.hpp:705
gnsstk::ConfDataReader::issueException
bool issueException
Definition: ConfDataReader.hpp:453
gnsstk::ConfDataReader::loadData
virtual void loadData(void)
Definition: ConfDataReader.cpp:52
gnsstk::ConfDataReader::getValueDescription
virtual std::string getValueDescription(std::string variable, std::string section="DEFAULT")
Definition: ConfDataReader.cpp:639
gnsstk::ConfDataReader::fetchListValue
virtual std::string fetchListValue(std::string variableList, std::string section="DEFAULT", std::string defaultVal="")
Definition: ConfDataReader.cpp:440
gnsstk::ConfDataReader::open
virtual void open(const char *fn)
Method to open AND load configuration data file.
Definition: ConfDataReader.cpp:821
gnsstk::ConfDataReader::resetSection
virtual void resetSection(void)
Definition: ConfDataReader.hpp:419
gnsstk::ConfDataReader::ifExist
virtual bool ifExist(std::string variable, std::string section="DEFAULT")
Definition: ConfDataReader.cpp:724
gnsstk::ConfDataReader::getNumItem
virtual int getNumItem(std::string variableList, std::string section="DEFAULT")
Definition: ConfDataReader.hpp:349
gnsstk::ConfDataReader::~ConfDataReader
virtual ~ConfDataReader()
Destructor.
Definition: ConfDataReader.hpp:445
std
Definition: Angle.hpp:142
gnsstk::ConfDataReader::ConfDataReader
ConfDataReader(const std::string &file)
Definition: ConfDataReader.hpp:194
gnsstk::ConfDataReader::fetchListValueAsDouble
virtual double fetchListValueAsDouble(std::string variableList, std::string section="DEFAULT", double defaultVal=0.0)
Definition: ConfDataReader.hpp:291
gnsstk::ConfDataReader
Definition: ConfDataReader.hpp:167
gnsstk::ConfDataReader::getEachSection
virtual std::string getEachSection(void)
Method to get the name of each section in order.
Definition: ConfDataReader.cpp:836
gnsstk::ConfDataReader::operator()
virtual std::string operator()(std::string variable, std::string section="DEFAULT")
Definition: ConfDataReader.hpp:439
Matrix.hpp
example5.fn
string fn
Definition: example5.py:10
gnsstk::ConfDataReader::confData
confMap confData
Map holding the configuration information.
Definition: ConfDataReader.hpp:482
gnsstk::ConfDataReader::ConfDataReader
ConfDataReader()
Default constructor.
Definition: ConfDataReader.hpp:172
gnsstk::ConfDataReader::getFallback2Default
virtual bool getFallback2Default(void) const
Definition: ConfDataReader.hpp:394
gnsstk::FFTextStream
Definition: FFTextStream.hpp:63
gnsstk::ConfDataReader::clear
virtual ConfDataReader & clear(void)
Method to clear the stored variables.
Definition: ConfDataReader.hpp:409
gnsstk::ConfDataReader::ConfDataReader
ConfDataReader(const char *file)
Definition: ConfDataReader.hpp:182


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:38