VR-Forces 4.0.4 Class Documentation
include/vrvCigi/DtSharedCigiSettingsManager.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2009 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtSharedCigiSettingsManager.h,v $ $Revision: 1.22 $ $State: Exp $
00007 ******************************************************************************/
00008 
00012 
00013 #ifndef DtSharedCigiSettingsManager_H_
00014 #define DtSharedCigiSettingsManager_H_
00015 
00016 #include <vrvCigi/vrvCigi.h>
00017 #include <vrvUtil/DtVirtualBaseClass.h>
00018 #include <vrvCigi/DtSharedCigiSettings.h>
00019 #include <vrvUtil/DtSignalConnectionManager.h>
00020 #include <vrvCore/DtSettingsChangeManager.h>
00021 
00022 #include <boost/signal.hpp>
00023 
00024 namespace makVrv
00025 {
00026    class DtSettingsBackup;
00027 
00031    class DT_DLL_VRVCIGI DtSharedCigiSettingsManager : public DtVirtualBaseClass
00032    {
00033    public:
00035       static DtSharedCigiSettingsManager& instance(DtDe&);
00036 
00038       virtual ~DtSharedCigiSettingsManager();
00039 
00043       void loadCigiSettingsFile(const std::string& settingsName, 
00044          const std::string& filePath);
00045 
00048       void saveCigiSettingsFile(const std::string& settingsName, 
00049          const std::string& filePath);
00050 
00053       void loadAllCigiSettings();
00054 
00056       void saveAllCigiSettings();
00057 
00059       void addCigiSettings(const std::string& mapperName);
00060 
00062       void removeCigiSettings(const std::string& mapperName);
00063 
00066       void renameCigiSettings(const std::string& oldName, const std::string& newName);
00067 
00069       const std::vector<std::string>& getCigiSettingsNames() const;
00070 
00071    public:
00072 
00074       virtual void setEntityTypeModelMapping(int entType, 
00075          const std::string& modelName, const std::string& schemaName);
00076 
00078       virtual void removeEntityTypeModelMapping(int entType);
00079 
00081       virtual bool remapEntityType(int oldType, int newType);
00082 
00085       virtual bool renameModelDefinition(const std::string& oldName, const std::string& newName, std::vector<std::string>& mappersChanged);
00086 
00088       virtual DtSettingsBackup* settingsBackup(const std::string&);
00089 
00091       virtual void saveCurrentSettings();
00092 
00094       virtual void addModelStateMapping(int cigiId, int stateId);
00095 
00097       virtual void removeModelStateMapping(int cigiId);
00098 
00100       virtual void setArtPartMapping(int entType, int cigiId, int disId);
00101 
00103       virtual void removeArtPartMapping(int entType, int cigiId);
00104 
00106       virtual void addDatabaseMapping(int databaseNumber, const std::string& filename);
00107 
00109       virtual void removeDatabaseMapping(int databaseNumber);
00110 
00112       virtual void addComponentIdMapping(makArchives::DtCigiComponentClass compClass,
00113          int compId, const std::string& compName);
00114 
00117       virtual void removeComponentIdMapping(makArchives::DtCigiComponentClass compClass,
00118          int compId);
00119 
00121       virtual void addAnimationMapping(int animationId, const std::string& animationName);
00122 
00124       virtual void removeAnimationMapping(int animationId);
00125 
00126       void setAutoSave(bool b)
00127       {
00128          myAutoSave = b;
00129       }
00130 
00131       bool autoSave() const
00132       {
00133          return myAutoSave;
00134       }
00135 
00137       boost::signal<void (const std::string&)> signal_currentSettingsChanged;
00138 
00140       boost::signal<void (const std::string&)> signal_settingsToBeDeleted;
00141 
00142    protected:
00145       virtual void backup(const std::string&);
00146 
00148       virtual bool checkCigiMappers(const std::string& node,  DtSettingsChangeObject::UseType t);
00149 
00150    protected:
00153       void initializeCigiSettings(const std::string& filePath);
00154 
00156       DtSharedCigiSettingsManager(DtDe& de);
00157 
00158 
00159    private:
00160       DtDe&                             myDe;
00161       DtSignalConnectionManager         myConnections;
00162       std::string                       myCigiSettingsPath;
00163       std::string                       myCigiFactoryPath;
00164       mutable std::vector<std::string>  myMapperNames;
00165       bool                              myAutoSave;
00166    };
00167 }
00168 
00169 #endif
00170 

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)