DDS  ver. 3.4
UserDefaults.h
Go to the documentation of this file.
1 // Copyright 2014 GSI, Inc. All rights reserved.
2 //
3 // TODO: Describe
4 //
5 #ifndef DDS_USERDEFAULTS_H_
6 #define DDS_USERDEFAULTS_H_
7 // BOOST
8 #include <boost/program_options/variables_map.hpp>
9 #include <boost/uuid/uuid.hpp>
10 #include <boost/uuid/uuid_generators.hpp>
11 // DDS
12 #include "Options.h"
13 // STD
14 #include <string>
15 #include <vector>
16 
17 namespace dds
18 {
19  namespace user_defaults_api
20  {
22  {
23  private:
24  CUserDefaults(const boost::uuids::uuid& _sid);
25  ~CUserDefaults();
26 
27  public:
29  static CUserDefaults& instance(const boost::uuids::uuid& _sid = CUserDefaults::getInitialSID());
30  void reinit(const boost::uuids::uuid& _sid, const std::string& _cfgFileName, bool _get_default = false);
31 
32  public:
33  static boost::uuids::uuid getInitialSID();
34 
35  private:
36  void init(bool _get_default = false);
37  void init(const std::string& _cfgFileName, bool _get_default = false);
38 
39  public:
40  std::string getValueForKey(const std::string& _key) const;
41  static void printDefaults(std::ostream& _stream);
43  static std::string currentUDFile();
44  static std::string getDDSPath();
45  std::string getWrkDir() const;
46  std::string getServerInfoFileLocationSrv() const;
47  std::string getServerInfoFileName() const;
48  std::string getServerInfoFileLocation() const;
49  std::string getWrkPkgDir() const;
50  std::string getWrkPkgPath() const;
51  std::string getWrkScriptPath() const;
52  std::string getUserEnvScript() const;
53  static std::string getAgentIDFilePath();
54  static std::string getAgentIDFileName();
55  std::string getLogFile() const;
56  std::string getAgentLogStorageDir() const;
57  pid_t getScoutPid() const;
58  std::string getSMLeaderOutputName(uint64_t _protocolHeaderID) const;
59  std::string getSMLeaderInputName(uint64_t _protocolHeaderID) const;
60  std::vector<std::string> getSMLeaderInputNames() const;
61  std::string getPluginsRootDir() const;
62  std::string getMainSIDFile() const;
63  std::string getSIDFile() const;
64  std::string getLockedSID() const;
65  std::string getCurrentSID() const;
66  std::string getDefaultSIDFile() const;
67  std::string getDefaultSID() const;
68  std::string getSessionsRootDir() const;
69  std::string getSessionsHolderDirName() const;
70  bool IsSessionRunning() const;
71  std::string getCommanderPidFileName() const;
72  std::string getCommanderPidFile() const;
73  std::string getWnBinsDir() const;
74  static std::string getTopologyXSDFilePath();
75  bool isAgentInstance() const;
76  static size_t getNumLeaderFW(); // Number of SM agent outputs
77  std::string getSlotsRootDir() const;
78 
83  std::string getPluginDir(const std::string& _path, const std::string& _pluginName) const;
84 
85  private:
86  std::string convertAnyToString(const boost::any& _any) const;
87  std::string getUnifiedBoolValueForBoolKey(const std::string& _Key) const;
88  std::string getSIDName() const;
89  void addSessionIDtoPath(std::string& _path) const;
90  void setSessionID(const boost::uuids::uuid& _sid);
91 
92  private:
93  boost::program_options::variables_map m_keys;
94  SDDSUserDefaultsOptions_t m_options;
95  std::string m_sessionID;
96  };
97  } // namespace user_defaults_api
98 } // namespace dds
99 
100 #endif /* DDS_USERDEFAULTS_H_ */
std::string getLogFile() const
Definition: UserDefaults.cpp:352
static boost::uuids::uuid getInitialSID()
Definition: UserDefaults.cpp:42
std::string getServerInfoFileLocation() const
Definition: UserDefaults.cpp:293
static void printDefaults(std::ostream &_stream)
Definition: UserDefaults.cpp:156
std::string getSIDFile() const
Returns Session ID full file path (return main SID if exists. If there is no main,...
Definition: UserDefaults.cpp:470
std::string getServerInfoFileLocationSrv() const
Definition: UserDefaults.cpp:279
static size_t getNumLeaderFW()
Definition: UserDefaults.cpp:384
std::string getSlotsRootDir() const
Definition: UserDefaults.cpp:625
static std::string getTopologyXSDFilePath()
Definition: UserDefaults.cpp:593
std::string getDefaultSIDFile() const
Definition: UserDefaults.cpp:533
void reinit(const boost::uuids::uuid &_sid, const std::string &_cfgFileName, bool _get_default=false)
Definition: UserDefaults.cpp:47
std::string getCommanderPidFileName() const
Definition: UserDefaults.cpp:571
std::string getSMLeaderInputName(uint64_t _protocolHeaderID) const
Definition: UserDefaults.cpp:397
std::string getAgentLogStorageDir() const
Definition: UserDefaults.cpp:367
static std::string getDDSPath()
Definition: UserDefaults.cpp:266
std::string getLockedSID() const
Definition: UserDefaults.cpp:491
std::string getPluginsRootDir() const
Definition: UserDefaults.cpp:425
const SDDSUserDefaultsOptions_t getOptions() const
Definition: UserDefaults.cpp:249
std::string getSessionsHolderDirName() const
Definition: UserDefaults.cpp:566
std::string getUserEnvScript() const
Definition: UserDefaults.cpp:330
std::string getWrkDir() const
Returns DDS working directory. For agents it is always $DDS_LOCATION.
Definition: UserDefaults.cpp:231
std::string getValueForKey(const std::string &_key) const
Definition: UserDefaults.cpp:213
pid_t getScoutPid() const
Definition: UserDefaults.cpp:376
Definition: AgentConnectionManager.h:13
std::string getSessionsRootDir() const
Definition: UserDefaults.cpp:526
bool isAgentInstance() const
Definition: UserDefaults.cpp:598
std::string getSMLeaderOutputName(uint64_t _protocolHeaderID) const
Definition: UserDefaults.cpp:389
std::string getPluginDir(const std::string &_path, const std::string &_pluginName) const
Returns path to the plugin's directory for specified plug-in name.
Definition: UserDefaults.cpp:432
std::string getCommanderPidFile() const
Definition: UserDefaults.cpp:576
std::string getServerInfoFileName() const
Definition: UserDefaults.cpp:288
std::string getWnBinsDir() const
Definition: UserDefaults.cpp:586
Definition: dds-user-defaults/src/Options.h:44
std::string getWrkPkgPath() const
Definition: UserDefaults.cpp:320
std::string getWrkPkgDir() const
Definition: UserDefaults.cpp:308
std::string getMainSIDFile() const
Returns the full path to the main Session ID file The function doesn't check wheather the file exists...
Definition: UserDefaults.cpp:457
std::string getWrkScriptPath() const
Definition: UserDefaults.cpp:325
static std::string getAgentIDFileName()
Definition: UserDefaults.cpp:347
Definition: UserDefaults.h:21
static CUserDefaults & instance(const boost::uuids::uuid &_sid=CUserDefaults::getInitialSID())
Return singleton instance.
Definition: UserDefaults.cpp:36
std::vector< std::string > getSMLeaderInputNames() const
Definition: UserDefaults.cpp:409
bool IsSessionRunning() const
Definition: UserDefaults.cpp:605
static std::string getAgentIDFilePath()
Definition: UserDefaults.cpp:340
std::string getCurrentSID() const
Definition: UserDefaults.cpp:510
static std::string currentUDFile()
Definition: UserDefaults.cpp:254
std::string getDefaultSID() const
Definition: UserDefaults.cpp:540