VR-Forces 4.1.1 Class Documentation
DtBackupInterface.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: $ $Revision: $ $State: $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 #include <vrvCore/vrvCore.h>
15 #include <vrvCore/DtDeSettings.h>
18 #include <boost/signals.hpp>
19 
20 namespace makVrv
21 {
26  {
27  public:
28 
29  typedef std::vector<std::string> NameList;
30 
33 
35  virtual ~DtBackupInterface();
36 
38  virtual bool backupExists() const = 0;
39 
41  virtual bool factoryExists() const = 0;
42 
44  virtual void backup() = 0;
45 
47  virtual void deleteBackup() = 0;
48 
51  virtual void restore(bool fromFactory = false) = 0;
52 
54  virtual void getRestorableNames(NameList& names) = 0;
55 
58  boost::signal<void (DtBackupInterface*)> signal_backupFileChanged;
59 
60  };
61 
62  class DtDeSettings;
63 
64 
65 
72  template <typename Manager>
74  {
75  public:
77  DtManagerBackup(Manager& manager)
78  : myManager(manager)
79  {
80  }
81 
83  virtual ~DtManagerBackup()
84  {
85  }
86 
88  virtual bool backupExists() const
89  {
90  return DtVrvFilesystem::exists(myManager.settings()->backupFilePath());
91  }
92 
94  virtual bool factoryExists() const
95  {
96  return DtVrvFilesystem::exists(myManager.settings()->factoryFilePath());
97  }
98 
100  virtual void backup()
101  {
102  myManager.exportSettings(myManager.settings()->backupFilePath());
103  }
104 
106  virtual void deleteBackup()
107  {
108  DtVrvFilesystem::deleteFile(myManager.settings()->backupFilePath());
109  }
110 
113  virtual void restore(bool fromFactory = false)
114  {
115  if(fromFactory)
116  {
117  myManager.importSettings(myManager.settings()->factoryFilePath());
118  }
119  else
120  {
121  myManager.importSettings(myManager.settings()->backupFilePath());
122  }
124  }
125 
128  {
129  names.push_back(myManager.settings()->name());
130  }
131 
132  boost::signal<void ()> signal_settingsRestored;
133 
134  protected:
135  Manager& myManager;
136  };
137 }
138 

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)