DDS  ver. 2.0
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 
16 namespace dds
17 {
18  namespace user_defaults_api
19  {
21  {
22  private:
23  CUserDefaults(const boost::uuids::uuid& _sid);
24  ~CUserDefaults();
25 
26  public:
28  static CUserDefaults& instance(const boost::uuids::uuid& _sid = CUserDefaults::getInitialSID());
29  void reinit(const boost::uuids::uuid& _sid, const std::string& _cfgFileName, bool _get_default = false);
30 
31  public:
32  static boost::uuids::uuid getInitialSID();
33 
34  private:
35  void init(bool _get_default = false);
36  void init(const std::string& _cfgFileName, bool _get_default = false);
37 
38  public:
39  std::string getValueForKey(const std::string& _key) const;
40  static void printDefaults(std::ostream& _stream);
42  static std::string currentUDFile();
43  static std::string getDDSPath();
44  std::string getServerInfoFileLocationSrv() const;
45  std::string getServerInfoFileName() const;
46  std::string getServerInfoFileLocation() const;
47  std::string getWrkPkgDir() const;
48  std::string getWrkPkgPath() const;
49  std::string getWrkScriptPath() const;
50  std::string getUserEnvScript() const;
51  static std::string getAgentIDFile();
52  std::string getLogFile() const;
53  std::string getAgentLogStorageDir() const;
54  pid_t getScoutPid() const;
55  std::string getSMInputName() const;
56  std::string getSMOutputName() const;
57  std::string getSMAgentInputName() const;
58  std::string getSMAgentOutputName() const;
59  std::string getSMAgentLeaderOutputName() const;
60  std::string getPluginsRootDir() const;
61  std::string getMainSIDFile() const;
62  std::string getSIDFile() const;
63  std::string getLockedSID() const;
64  std::string getCurrentSID() const;
65  std::string getDefaultSIDFile() const;
66  std::string getDefaultSID() const;
67  std::string getAgentNamedMutexName() const;
68  std::string getSessionsRootDir() const;
69  std::string getSessionsHolderDirName() const;
70  std::string getCommanderPidFileName() const;
71  std::string getCommanderPidFile() const;
72 
77  std::string getPluginDir(const std::string& _path, const std::string& _pluginName) const;
78 
79  private:
80  std::string convertAnyToString(const boost::any& _any) const;
81  std::string getUnifiedBoolValueForBoolKey(const std::string& _Key) const;
82  std::string getSIDName() const;
83  void addSessionIDtoPath(std::string& _path) const;
84  void setSessionID(const boost::uuids::uuid& _sid);
85 
86  private:
87  boost::program_options::variables_map m_keys;
88  SDDSUserDefaultsOptions_t m_options;
89  std::string m_sessionID;
90  };
91  }
92 }
93 
94 #endif /* DDS_USERDEFAULTS_H_ */
std::string getLogFile() const
Definition: UserDefaults.cpp:331
static boost::uuids::uuid getInitialSID()
Definition: UserDefaults.cpp:51
std::string getServerInfoFileLocation() const
Definition: UserDefaults.cpp:278
static void printDefaults(std::ostream &_stream)
Definition: UserDefaults.cpp:163
std::string getSIDFile() const
Returns Session ID full file path (return main SID if exists. If there is no main, it checks for a clone SID. If none of SID exist, the fucntions returns an empty string)
Definition: UserDefaults.cpp:455
std::string getServerInfoFileLocationSrv() const
Definition: UserDefaults.cpp:264
std::string getAgentNamedMutexName() const
Definition: UserDefaults.cpp:500
std::string getDefaultSIDFile() const
Definition: UserDefaults.cpp:526
void reinit(const boost::uuids::uuid &_sid, const std::string &_cfgFileName, bool _get_default=false)
Definition: UserDefaults.cpp:56
std::string getCommanderPidFileName() const
Definition: UserDefaults.cpp:553
std::string getSMOutputName() const
Definition: UserDefaults.cpp:378
std::string getAgentLogStorageDir() const
Definition: UserDefaults.cpp:354
static std::string getDDSPath()
Definition: UserDefaults.cpp:251
static std::string getAgentIDFile()
Definition: UserDefaults.cpp:325
std::string getLockedSID() const
Definition: UserDefaults.cpp:476
std::string getPluginsRootDir() const
Definition: UserDefaults.cpp:410
const SDDSUserDefaultsOptions_t getOptions() const
Definition: UserDefaults.cpp:234
std::string getSessionsHolderDirName() const
Definition: UserDefaults.cpp:548
std::string getSMInputName() const
Definition: UserDefaults.cpp:371
std::string getUserEnvScript() const
Definition: UserDefaults.cpp:315
std::string getValueForKey(const std::string &_key) const
Definition: UserDefaults.cpp:214
pid_t getScoutPid() const
Definition: UserDefaults.cpp:363
Definition: dds-agent/src/AgentConnectionManager.h:18
std::string getSessionsRootDir() const
Definition: UserDefaults.cpp:519
std::string getPluginDir(const std::string &_path, const std::string &_pluginName) const
Returns path to the plugin&#39;s directory for specified plug-in name.
Definition: UserDefaults.cpp:417
std::string getSMAgentInputName() const
Definition: UserDefaults.cpp:385
std::string getCommanderPidFile() const
Definition: UserDefaults.cpp:558
std::string getServerInfoFileName() const
Definition: UserDefaults.cpp:273
Definition: dds-user-defaults/src/Options.h:38
std::string getWrkPkgPath() const
Definition: UserDefaults.cpp:305
std::string getWrkPkgDir() const
Definition: UserDefaults.cpp:293
std::string getMainSIDFile() const
Returns the full path to the main Session ID file The function doesn&#39;t check wheather the file exists...
Definition: UserDefaults.cpp:442
std::string getWrkScriptPath() const
Definition: UserDefaults.cpp:310
Definition: UserDefaults.h:20
static CUserDefaults & instance(const boost::uuids::uuid &_sid=CUserDefaults::getInitialSID())
Return singleton instance.
Definition: UserDefaults.cpp:45
std::string getSMAgentOutputName() const
Definition: UserDefaults.cpp:392
std::string getSMAgentLeaderOutputName() const
Definition: UserDefaults.cpp:401
std::string getCurrentSID() const
Definition: UserDefaults.cpp:495
static std::string currentUDFile()
Definition: UserDefaults.cpp:239
std::string getDefaultSID() const
Definition: UserDefaults.cpp:533