VR-Forces 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 <boost/unordered_map.hpp>
20 #include <boost/signals2.hpp>
21 
22 class DtUUID;
23 
24 namespace makVrv
25 {
26  class DtRecordSettingsBackupInterface;
27  class DtDe;
28 }
29 
30 namespace makVrf
31 {
34  {
35  public:
37  virtual ~DtVrfSessionSettingsManager() override;
38 
40  static DtVrfSessionSettingsManager& instance(makVrv::DtDe& de);
41  static void registerInstance(makVrv::DtDe& de, DtVrfSessionSettingsManager*);
42 
43  virtual void setFromRecord(const DtVrfSessionSettingsRecord& rec);
44  virtual void loadDefaultSessionSettings(bool loadOnlyFactorySettings = false);
45  virtual void getRecord(DtVrfSessionSettingsRecord& rec) const;
46 
49  virtual void getSplitRecord(std::vector<DtVrfSessionSettingsRecord>& rec,
50  std::vector<std::string>& fileNames) {};
51 
55  DtVrfSessionSettingsRecord& combinedRec) {};
56 
58  virtual void setAutoSave(bool);
59  virtual bool autoSave() const;
60 
63  virtual bool autoJoinSession() const;
64  virtual bool automaticallyOpenSessionDatabaseWithoutJoiningSession() const;
65  virtual bool askToJoin() const;
66  virtual bool alwaysJoinWithSessionDatabase() const;
67  virtual bool alwaysJoinWithOpenDatabase() const;
68 
70  virtual void setDisplaySessionDialogs(bool);
71  virtual bool displaySessionDialogs() const;
72 
74  {
75  return mySessionSettingsBackup;
76  }
77 
79  void exportSessionSettings(const std::string& fileName);
80 
82  void importSessionSettings(const std::string& fileName);
83 
85  virtual void saveSettingsAsDefault();
86 
88  virtual void setAllowScenarioChanges(bool);
89  virtual bool allowScenarioChanges() const;
90 
93  virtual void addValueFor(const DtUUID&, const std::string& key, const std::string& value);
94  virtual void removeValueFor(const DtUUID&, const std::string& key);
95  virtual void removeValuesFor(const DtUUID&);
96  virtual std::string valueFor(const DtUUID&, const std::string& key) const;
97 
99  virtual void setBackendTimeoutInterval(int);
100  virtual int backendTimeoutInterval() const;
101 
102  public:
104  boost::signals2::signal<void (const DtVrfSessionSettingsRecord&)> signal_sessionSettingsChanged;
105 
106  protected:
110 
111  typedef boost::unordered_map<std::string, std::string> KeyValuePairs;
112  typedef boost::unordered_map<DtUUID, KeyValuePairs> KeyValuePairsByUUID;
113  typedef boost::unordered_map<DtString, DtUUID> UUIDByMarkingText;
116  };
117 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
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:107
KeyValuePairsByUUID myKeyValuePairsByUUID
Definition: vrfSessionSettingsManager.h:114
#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:49
DtVrfSessionSettingsRecord mySessionSettings
Definition: vrfSessionSettingsManager.h:108
makVrv::DtRecordSettingsBackupInterface * sessionSettingsBackup()
Definition: vrfSessionSettingsManager.h:73
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:104
The class that will contain information about various scenario settings.
Definition: vrfSessionSettingsManager.h:33
boost::unordered_map< DtUUID, KeyValuePairs > KeyValuePairsByUUID
Definition: vrfSessionSettingsManager.h:112
boost::unordered_map< DtString, DtUUID > UUIDByMarkingText
Definition: vrfSessionSettingsManager.h:113
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:76
makVrv::DtRecordSettingsBackupInterface * mySessionSettingsBackup
Definition: vrfSessionSettingsManager.h:109
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:23
virtual void addRecords(DtVrfSessionSettingsRecord &recs, DtVrfSessionSettingsRecord &combinedRec)
To support writing element definitions in folders as multiple files not implemented.
Definition: vrfSessionSettingsManager.h:54
UUIDByMarkingText myUUIDByMarkingText
Definition: vrfSessionSettingsManager.h:115
boost::unordered_map< std::string, std::string > KeyValuePairs
Definition: vrfSessionSettingsManager.h:111

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)