VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfSessionSettingsManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 #include <vrfGuiCore/vrfGuiCore.h>
17 #include <vlutil/vlFilename.h>
18 
19 #include <vrvCore/DtStateView.h>
20 #include <vrvCore/DtEntityState.h>
21 
22 
23 #include <boost/unordered_map.hpp>
24 
25 class DtUUID;
26 
27 namespace makVrv
28 {
29  class DtRecordSettingsBackupInterface;
30  class DtDe;
31 }
32 
33 namespace makVrf
34 {
37  {
38  public:
40  virtual ~DtVrfSessionSettingsManager();
41 
43  static DtVrfSessionSettingsManager& instance(makVrv::DtDe& de);
44  static void registerInstance(makVrv::DtDe& de, DtVrfSessionSettingsManager*);
45 
46  virtual void setFromRecord(const DtVrfSessionSettingsRecord& rec);
47  virtual void loadDefaultSessionSettings(bool loadOnlyFactorySettings = false);
48  virtual void getRecord(DtVrfSessionSettingsRecord& rec) const;
49 
52  virtual void getSplitRecord(std::vector<DtVrfSessionSettingsRecord>& rec,
53  std::vector<std::string>& fileNames) {};
54 
58  DtVrfSessionSettingsRecord& combinedRec) {};
59 
61  virtual void setAutoSave(bool);
62  virtual bool autoSave() const;
63 
66  virtual bool autoJoinSession() const;
67  virtual bool automaticallyOpenSessionDatabaseWithoutJoiningSession() const;
68  virtual bool askToJoin() const;
69  virtual bool alwaysJoinWithSessionDatabase() const;
70  virtual bool alwaysJoinWithOpenDatabase() const;
71 
73  virtual void setDisplaySessionDialogs(bool);
74  virtual bool displaySessionDialogs() const;
75 
77  {
78  return mySessionSettingsBackup;
79  }
80 
82  void exportSessionSettings(const std::string& fileName);
83 
85  void importSessionSettings(const std::string& fileName);
86 
88  virtual void saveSettingsAsDefault();
89 
91  virtual void setAllowScenarioChanges(bool);
92  virtual bool allowScenarioChanges() const;
93 
96  virtual void addValueFor(const DtUUID&, const std::string& key, const std::string& value);
97  virtual void removeValueFor(const DtUUID&, const std::string& key);
98  virtual void removeValuesFor(const DtUUID&);
99  virtual std::string valueFor(const DtUUID&, const std::string& key) const;
100 
102  virtual void setBackendTimeoutInterval(int);
103  virtual int backendTimeoutInterval() const;
104 
105  public:
107  boost::signals2::signal<void (const DtVrfSessionSettingsRecord&)> signal_sessionSettingsChanged;
108 
109  protected:
113 
114  typedef boost::unordered_map<std::string, std::string> KeyValuePairs;
115  typedef boost::unordered_map<DtUUID, KeyValuePairs> KeyValuePairsByUUID;
116  typedef boost::unordered_map<DtString, DtUUID> UUIDByMarkingText;
119  };
120 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
makVrv::DtDe & myDe
Definition: vrfSessionSettingsManager.h:110
Contains makVrv::DtStateView class.
KeyValuePairsByUUID myKeyValuePairsByUUID
Definition: vrfSessionSettingsManager.h:117
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
virtual void getSplitRecord(std::vector< DtVrfSessionSettingsRecord > &rec, std::vector< std::string > &fileNames)
To support writing element definitions in folders as multiple files not implemented.
Definition: vrfSessionSettingsManager.h:52
DtVrfSessionSettingsRecord mySessionSettings
Definition: vrfSessionSettingsManager.h:111
makVrv::DtRecordSettingsBackupInterface * sessionSettingsBackup()
Definition: vrfSessionSettingsManager.h:76
Contains makVrv::DtVirtualBaseClass class.
Definition: vrfSessionSettingsRecord.h:26
boost::signals2::signal< void(const DtVrfSessionSettingsRecord &)> signal_sessionSettingsChanged
Sent when session settings have changed.
Definition: vrfSessionSettingsManager.h:107
Contains makVrv::DtVrlinkSimulatedEntityState class.
The class that will contain information about various scenario settings.
Definition: vrfSessionSettingsManager.h:36
boost::unordered_map< DtUUID, KeyValuePairs > KeyValuePairsByUUID
Definition: vrfSessionSettingsManager.h:115
boost::unordered_map< DtString, DtUUID > UUIDByMarkingText
Definition: vrfSessionSettingsManager.h:116
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
makVrv::DtRecordSettingsBackupInterface * mySessionSettingsBackup
Definition: vrfSessionSettingsManager.h:112
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:24
virtual void addRecords(DtVrfSessionSettingsRecord &recs, DtVrfSessionSettingsRecord &combinedRec)
To support writing element definitions in folders as multiple files not implemented.
Definition: vrfSessionSettingsManager.h:57
UUIDByMarkingText myUUIDByMarkingText
Definition: vrfSessionSettingsManager.h:118
boost::unordered_map< std::string, std::string > KeyValuePairs
Definition: vrfSessionSettingsManager.h:114

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)