VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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/DtDeSettings.h>
15 #include <boost/signals.hpp>
16 
17 namespace makVrv
18 {
23  {
24  public:
25 
26  typedef std::vector<std::string> NameList;
27 
30 
32  virtual ~DtBackupInterface();
33 
35  virtual bool backupExists() const = 0;
36 
38  virtual bool factoryExists() const = 0;
39 
41  virtual void backup() = 0;
42 
44  virtual void deleteBackup() = 0;
45 
48  virtual void restore(bool fromFactory = false) = 0;
49 
51  virtual void getRestorableNames(NameList& names) = 0;
52 
55  boost::signal<void (DtBackupInterface*)> signal_backupFileChanged;
56 
57  };
58 
59  class DtDeSettings;
60 
61 
62 
69  template <typename Manager>
71  {
72  public:
74  DtManagerBackup(Manager& manager)
75  : myManager(manager)
76  {
77  }
78 
80  virtual ~DtManagerBackup()
81  {
82  }
83 
85  virtual bool backupExists() const
86  {
87  return DtVrvFilesystem::exists(myManager.settings()->backupFilePath());
88  }
89 
91  virtual bool factoryExists() const
92  {
93  return DtVrvFilesystem::exists(myManager.settings()->factoryFilePath());
94  }
95 
97  virtual void backup()
98  {
99  myManager.exportSettings(myManager.settings()->backupFilePath());
100  }
101 
103  virtual void deleteBackup()
104  {
105  DtVrvFilesystem::deleteFile(myManager.settings()->backupFilePath());
106  }
107 
110  virtual void restore(bool fromFactory = false)
111  {
112  if(fromFactory)
113  {
114  myManager.importSettings(myManager.settings()->factoryFilePath());
115  }
116  else
117  {
118  myManager.importSettings(myManager.settings()->backupFilePath());
119  }
121  }
122 
125  {
126  names.push_back(myManager.settings()->name());
127  }
128 
129  boost::signal<void ()> signal_settingsRestored;
130 
131  protected:
132  Manager& myManager;
133  };
134 }
135 

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)