![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtPluginManager.h,v $ $Revision: 1.16 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtPluginManager_H_ 00014 #define DtPluginManager_H_ 00015 00016 #include <vrvCore/vrvCore.h> 00017 #include <string> 00018 #include <list> 00019 00020 namespace makVrv 00021 { 00022 class DtInitializer; 00023 class DtDe; 00024 class DtLibraryLoader; 00025 00028 class DT_DLL_VRVCORE DtPluginManager 00029 { 00030 public: 00031 00033 DtPluginManager(DtDe&); 00034 00036 virtual ~DtPluginManager(); 00037 00040 void addInitializer(DtInitializer* init); 00041 00044 void initializePlugins(); 00045 00047 const std::string& defaultPluginDirectory() const; 00048 00050 void setDefaultPluginDirectory(const std::string& dir); 00051 00052 void setAdditionalPluginFiles(const std::list<std::string>& files); 00053 void setExcludedPluginFiles(const std::list<std::string>& files); 00054 00055 protected: 00056 00058 void initalizeAll(); 00059 00063 bool initialize(DtInitializer*); 00064 00065 DtDe* myDe; 00066 DtLibraryLoader* myLibraryLoader; 00067 00071 std::string myDefaultPluginDirectory; 00072 std::list<std::string> myAdditionalPlugins; 00073 std::list<std::string> myExcludedPlugins; 00074 00075 typedef std::list<DtInitializer*> InitializerList; 00076 InitializerList myInitializers; 00077 }; 00078 00079 } 00080 00081 #endif