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