![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: vrfPluginRecordManager.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00018 00019 #pragma once 00020 00021 #include "vrfutil/vrfutilDefines.h" 00022 #include "vrfutil/vrfPluginRecord.h" 00023 00024 class DT_DLL_vrfutil DtVrfPluginRecordManager 00025 { 00026 public: 00027 typedef std::vector<DtVrfPluginRecord> PluginRecords; 00028 00029 public: 00031 DtVrfPluginRecordManager(); 00032 00033 virtual ~DtVrfPluginRecordManager(); 00034 00035 private: 00036 DtVrfPluginRecordManager(const DtVrfPluginRecordManager&); 00037 00038 DtVrfPluginRecordManager& operator=(const DtVrfPluginRecordManager&); 00039 00040 public: 00042 virtual void clear(); 00043 00045 virtual void readPluginsFrom(const std::string& directory); 00046 00048 void setApplication(const std::string& application); 00049 virtual const std::string& application() const; 00050 00052 void setPlatform(const std::string& platform); 00053 virtual const std::string& platform() const; 00054 00056 virtual void addTransport(const std::string&); 00057 virtual void removeTransport(const std::string&); 00058 virtual const std::vector<std::string>& transports() const; 00059 00061 void setConfiguration(const std::string&); 00062 virtual const std::string& configuration() const; 00063 00065 virtual std::vector<std::string> pluginsToLoad() const; 00066 00067 virtual const PluginRecords& plugins() const; 00068 virtual PluginRecords& plugins(); 00069 00071 virtual void addPluginRecord(const DtVrfPluginRecord&); 00072 00074 virtual bool removePluginRecord(const std::string&); 00075 00078 virtual bool removePlugin(const std::string& fileName, const std::string& application, 00079 const std::string& platform, const std::string& configuration, const std::string& transport); 00080 00083 virtual bool addPlugin(const std::string& fileName, const std::string& application, 00084 const std::string& platform, const std::string& configuration, const std::string& transport); 00085 00087 virtual bool renamePluginRecord(const std::string& curFileName, const std::string& newName); 00088 00090 virtual DtVrfPluginRecord pluginRecord(const std::string& fileName) const; 00091 00093 virtual void setPlugin(const std::string& fileName, const std::string& application, 00094 const std::string& platform, const std::string& configuration, const std::string& transport, const std::string& plugin); 00095 00097 virtual void setLoadPlugin(const std::string& filename, bool b); 00098 00099 bool autoSave() const; 00100 void setAutoSave(bool); 00101 00102 protected: 00103 PluginRecords myPluginRecords; 00104 00105 std::string myPlatform; 00106 std::string myConfiguration; 00107 std::string myApplication; 00108 std::vector<std::string> myTransports; 00109 bool myAutoSave; 00110 }; 00111