1 // File: Model_PluginManager.hxx
2 // Created: 20 Mar 2014
3 // Author: Mikhail PONIKAROV
5 #ifndef Model_PluginManager_HeaderFile
6 #define Model_PluginManager_HeaderFile
9 #include <ModelAPI_PluginManager.hxx>
10 #include <Event_Listener.hxx>
12 /**\class Model_PluginManager
14 * \brief Object that knows (from the initial XML file) which
15 * plugin contains which feature, loads and stores reference to loaded plugins by
16 * the feature functionality request.
19 class MODEL_EXPORT Model_PluginManager: public ModelAPI_PluginManager, public Event_Listener
22 /// Creates the feature object using plugins functionality
23 virtual boost::shared_ptr<ModelAPI_Feature> CreateFeature(std::string theFeatureID);
25 /// Processes the configuration file reading
26 virtual void ProcessEvent(const Event_Message* theMessage);
29 /// Is called only once, on startup of the application
30 Model_PluginManager();