Salome HOME
Merge branch 'master' of newgeom:newgeom.git into BR_PYTHON_PLUGIN
[modules/shaper.git] / src / ModelAPI / ModelAPI_Plugin.h
1 // File:        ModelAPI_Plugin.hxx
2 // Created:     31 Mar 2014
3 // Author:      Mikhail PONIKAROV
4
5 #ifndef ModelAPI_Plugin_H_
6 #define ModelAPI_Plugin_H_
7
8 #include "ModelAPI.h"
9 #include <string>
10 #include <memory>
11
12 class ModelAPI_Feature;
13
14 /**\class ModelAPI_Plugin
15  * \ingroup DataModel
16  * \brief Interface common for any plugin: allows to use plugin by the plugins manager.
17  */
18
19 class MODELAPI_EXPORT ModelAPI_Plugin
20 {
21  public:
22   /// Creates the feature object of this plugin by the feature string ID
23   virtual std::shared_ptr<ModelAPI_Feature> createFeature(std::string theFeatureID) = 0;
24
25   /// To virtually destroy the fields of successors
26   virtual ~ModelAPI_Plugin()
27   {
28   }
29 };
30
31 #endif