VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSettingsBackup.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
12 
13 #pragma once
15 #include <boost/archive/xml_iarchive.hpp>
16 #include <boost/archive/xml_oarchive.hpp>
17 
18 namespace makVrv
19 {
20 
24  {
25  public:
27  {
28  RestoreFromFactory = 0x00000001,
29  RestoreFromLocal = 0x00000002,
34  KeepRestoreFromLocal = 0x80000000,
35  RestoreAll = RestoreFromFactory | RestoreFromLocal
36  };
37 
38  typedef std::map<DtSettingsBackup*, int> RestoreWhenRestored;
39 
40  public:
41 
44 
46  virtual ~DtSettingsBackup();
47 
51  virtual bool createAndWriteToBackupFile(const std::ostringstream& str, const std::string& path);
52 
53  virtual bool createAndWriteToBackupFiles(const std::vector<std::ostringstream*>& str,
54  const std::string& path, const std::vector<std::string>& fileNames);
55 
57  const std::string& backupFile() const;
58 
60  virtual bool backupFileExists() const;
61 
64  virtual bool backupDirExists() const;
65 
67  virtual bool factoryFileExists() const;
68 
70  virtual bool factoryDirExists() const;
71 
74  virtual void backup();
75 
79  virtual void backupByDir();
80 
83  virtual void deleteBackup();
84 
86  virtual void restore(bool fromFactory = false);
87 
89  virtual void getRestorableNames(NameList& names);
90 
93  virtual void restore(bool fromFactory, bool selectedOnly);
94 
98  virtual void restore(const DtSettingsBackup* from ) = 0;
99 
103  virtual void restoreSelected( const DtSettingsBackup* ) {}
104 
107  virtual std::string backupClassType() const = 0;
108 
111  virtual DtSettingsBackup* create() const = 0;
112 
115  virtual void write(boost::archive::xml_oarchive& ar) = 0;
116 
119  virtual void read(boost::archive::xml_iarchive& ar) = 0;
120 
122  virtual void writeDir(std::vector<std::ostringstream*>& outStreamVec, std::vector<std::string>& fileNames)
123  {
124  // should never be called
125  };
126 
129  virtual void readIncremental(boost::archive::xml_iarchive& ar)
130  {
131  // should never be called
132  };
133 
135  void setManagerDestroyed(bool b)
136  {
137  myManagerDestroyed = b;
138  }
139 
143  virtual void addRestoreWhenRestored(DtSettingsBackup*,
144  const RestoreFlags& f = RestoreAll);
145 
147  {
148  return myRestoreWhenRestored;
149  }
150 
153  virtual void cancelRestoreWhenRestored(DtSettingsBackup*,
154  const RestoreFlags& f = RestoreAll);
155 
158  virtual std::string backupName() const;
159 
160  void setBackupsPath(const std::string& s)
161  {
162  myBackupsPath = s;
163  }
164 
165  const std::string& backupsPath() const
166  {
167  return myBackupsPath;
168  }
169 
170  void setFactoryFile(const std::string& s)
171  {
172  myFactoryFile = s;
173  }
174 
175  const std::string& factoryFile() const
176  {
177  return myFactoryFile;
178  }
179 
180  void setFactoryDir(const std::string& dir)
181  {
182  myFactoryDir = dir;
183  }
184 
185  const std::string& factoryDir() const
186  {
187  return myFactoryDir;
188  }
189 
190  void setBackupDir(const std::string& dir)
191  {
192  myBackupDir = dir;
193  }
194 
195  const std::string& backupDir() const
196  {
197  return myBackupDir;
198  }
199 
202  boost::signalslib::signal<void (const DtSettingsBackup*)> signal_destructing;
203  boost::signalslib::signal<void (const DtSettingsBackup*)> signal_backupCleared;
204  boost::signalslib::signal<void (const DtSettingsBackup*)> signal_backedUp;
205  boost::signalslib::signal<void (const DtSettingsBackup*)> signal_restored;
206 
207  protected:
208 
210  virtual bool restore(bool fromFactory,
211  std::vector<DtSettingsBackup*>& hasBeenRestored, bool selectedOnly);
212 
213  protected:
214 
217  std::string myBackupFile;
218  std::string myFactoryFile;
219  std::string myBackupsPath;
220  std::string myBackupDir;
221  std::string myFactoryDir;
222 
223  };
224 
225 }
boost::signalslib::signal< void(const DtSettingsBackup *)> signal_backupCleared
Definition: DtSettingsBackup.h:203
const std::string & factoryFile() const
Definition: DtSettingsBackup.h:175
void setBackupsPath(const std::string &s)
Definition: DtSettingsBackup.h:160
std::string myBackupsPath
Definition: DtSettingsBackup.h:219
std::string myBackupFile
Definition: DtSettingsBackup.h:217
void setManagerDestroyed(bool b)
If true, will not signal destroyed.
Definition: DtSettingsBackup.h:135
boost::signalslib::signal< void(const DtSettingsBackup *)> signal_destructing
Called when destructing. If registered with shared manager will remove item.
Definition: DtSettingsBackup.h:202
virtual void readIncremental(boost::archive::xml_iarchive &ar)
Support for reading files from a directory by looping over files and incrementally adding their conte...
Definition: DtSettingsBackup.h:129
void setFactoryDir(const std::string &dir)
Definition: DtSettingsBackup.h:180
boost::signalslib::signal< void(const DtSettingsBackup *)> signal_restored
Definition: DtSettingsBackup.h:205
std::string myBackupDir
Definition: DtSettingsBackup.h:220
const std::string & backupDir() const
Definition: DtSettingsBackup.h:195
const std::string & backupsPath() const
Definition: DtSettingsBackup.h:165
void setFactoryFile(const std::string &s)
Definition: DtSettingsBackup.h:170
std::string myFactoryFile
Definition: DtSettingsBackup.h:218
bool myManagerDestroyed
Definition: DtSettingsBackup.h:215
const RestoreWhenRestored & restoreWhenRestored() const
Definition: DtSettingsBackup.h:146
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
RestoreFlags
Definition: DtSettingsBackup.h:26
Provides a method of doign settings backup.
Definition: DtSettingsBackup.h:23
std::map< DtSettingsBackup *, int > RestoreWhenRestored
Definition: DtSettingsBackup.h:38
virtual void restoreSelected(const DtSettingsBackup *)
Called with the object that needs to be restored from. The object passed in should be considered temp...
Definition: DtSettingsBackup.h:103
const std::string & factoryDir() const
Definition: DtSettingsBackup.h:185
boost::signalslib::signal< void(const DtSettingsBackup *)> signal_backedUp
Definition: DtSettingsBackup.h:204
void setBackupDir(const std::string &dir)
Definition: DtSettingsBackup.h:190
std::string myFactoryDir
Definition: DtSettingsBackup.h:221
RestoreWhenRestored myRestoreWhenRestored
Definition: DtSettingsBackup.h:216
virtual void writeDir(std::vector< std::ostringstream * > &outStreamVec, std::vector< std::string > &fileNames)
Support for writing settings to files in a directory.
Definition: DtSettingsBackup.h:122
The backup interface, is used by components to control backups of a state.
Definition: DtBackupInterface.h:19
Contains makVrv::DtBackupInterface class.
std::vector< std::string > NameList
Definition: DtBackupInterface.h:23

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)