VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtSettingsBackupManager.h
Go to the documentation of this file.
00001 /****************************************************************************** 
00002 ** Copyright (c) 2009 MAK Technologies, Inc. 
00003 ** All rights reserved. 
00004 ******************************************************************************/ 
00005 /****************************************************************************** 
00006 ** $RCSfile: DtSettingsBackupManager.h,v $ $Revision: 1.16 $ $State: Exp $ 
00007 ******************************************************************************/ 
00008  
00011  
00012 #pragma once
00013 
00014 #include <vrvCore/vrvCore.h> 
00015 #include <vrvUtil/DtVirtualBaseClass.h>
00016 #include <vrvCore/DtSettingsBackup.h>
00017 #include <vrvUtil/DtLockedBufferedQueue.h>
00018 
00019 #include <boost/thread/mutex.hpp>
00020 #include <boost/signals.hpp>
00021 
00022 #include <string>
00023 
00024 namespace makVrv 
00025 {
00026    class DtDe;
00027 
00037    class DT_DLL_VRVCORE DtSettingsBackupManager : public DtVirtualBaseClass 
00038    { 
00039    public:
00041       static DtSettingsBackupManager& instance(DtDe& de);
00042 
00044       virtual ~DtSettingsBackupManager();
00045 
00047       virtual void setBackupsPath(const std::string&);
00048       const std::string& backupsPath() const
00049       {
00050          return myBackupsPath;
00051       }
00052 
00053    public:
00057       virtual void registerSettingsBackup(
00058          DtSettingsBackup* backup);
00059 
00061       virtual void unregisterSettingsBackup(const std::string&);
00062 
00064       virtual void unregisterSettingsBackup(DtSettingsBackup* backup);
00065 
00067       virtual void settingsObjectDestroyed(const DtSettingsBackup*);
00068       virtual void settingsClearedBackup(const DtSettingsBackup*);
00069       virtual void settingsRestored(const DtSettingsBackup*);
00070       virtual void settingsBackedUp(const DtSettingsBackup*);
00071 
00074       virtual bool setFactoryFile(const std::string&, const std::string& factoryFile);
00075 
00078       virtual bool setFactoryFile(const DtSettingsBackup*, const std::string& factoryFile);
00079 
00081       virtual bool canBeRevertedFromStartup(const std::string&) const;
00082 
00084       virtual bool canBeRevertedFromStartup(const DtSettingsBackup*) const;
00085 
00087       virtual bool canBeRestoredFromFactory(const std::string&) const;
00088 
00090       virtual bool canBeRestoredFromFactory(const DtSettingsBackup*) const;
00091 
00094       virtual bool backup(const std::string&);
00095 
00097       virtual bool backup(const DtSettingsBackup*);
00098 
00101       virtual void clearBackup(const std::string&);
00102 
00104       virtual void clearBackup(const DtSettingsBackup*);
00105 
00108       virtual bool revertToStartup(const std::string&);
00109 
00111       virtual bool revertToStartup(const DtSettingsBackup*);
00112 
00114       virtual bool restoreFromFactory(const std::string&);
00115 
00117       virtual bool restoreFromFactory(const DtSettingsBackup*);
00118 
00120       virtual bool registered(const std::string&) const;
00121 
00123       virtual bool registered(const DtSettingsBackup*) const;
00124 
00127       virtual void restoreWhenRestored(const std::string& toRestore, const std::string& whenRestored, 
00128          const DtSettingsBackup::RestoreFlags& f = DtSettingsBackup::RestoreAll);
00129 
00131       virtual void restoreWhenRestored(const DtSettingsBackup* toRestore, const DtSettingsBackup* whenRestored,
00132          const DtSettingsBackup::RestoreFlags& f = DtSettingsBackup::RestoreAll);
00133 
00135       virtual void cancelRestoreWhenRestored(const std::string& toRestore, const std::string& whenRestored,
00136          const DtSettingsBackup::RestoreFlags& f = DtSettingsBackup::RestoreAll);
00137 
00139       virtual void cancelRestoreWhenRestored(const DtSettingsBackup* toRestore, const DtSettingsBackup* whenRestored,
00140          const DtSettingsBackup::RestoreFlags& f = DtSettingsBackup::RestoreAll);
00141 
00143       virtual std::vector<std::string> willRestoreWhenRestored(const DtSettingsBackup* toRestore,
00144          const DtSettingsBackup::RestoreFlags& f = DtSettingsBackup::RestoreAll) const;
00145 
00146    protected:
00148       void willRestoreWhenRestored(const std::string& toRestore,
00149          std::vector<std::string>& willRestore, const DtSettingsBackup::RestoreFlags& f = DtSettingsBackup::RestoreAll) const;
00150 
00151    protected:
00153       DtSettingsBackupManager(DtDe& de);
00154 
00155    protected:
00156       DtDe&                                           myDe;
00157       typedef std::map<std::string, DtSettingsBackup*> DtSettingsBackupMap;
00158       DtSettingsBackupMap                             myBackups;        
00159       std::string                                     myBackupsPath;
00160       mutable boost::mutex                            myMonitor;
00161    }; 
00162 } 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)