Salome HOME
Merge branch 'Dev_0.6.1' of newgeom:newgeom into Dev_0.6.1
[modules/shaper.git] / src / PartSetPlugin / PartSetPlugin_Plugin.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        PartSetPlugin_Plugin.hxx
4 // Created:     31 Mar 2014
5 // Author:      Mikhail PONIKAROV
6
7 #ifndef PartSetPlugin_Plugin_H_
8 #define PartSetPlugin_Plugin_H_
9
10 #include <PartSetPlugin.h>
11 #include <ModelAPI_Plugin.h>
12 #include <ModelAPI_Feature.h>
13 #include <ModelAPI_Events.h>
14
15 #include <Events_Listener.h>
16
17 #include <memory>
18
19 class PARTSETPLUGIN_EXPORT PartSetPlugin_Plugin : public ModelAPI_Plugin,
20                                                   public Events_Listener
21 {
22  public:
23   /// Creates the feature object of this plugin by the feature string ID
24   virtual FeaturePtr createFeature(std::string theFeatureID);
25
26   /// Is needed for python wrapping by swig
27   PartSetPlugin_Plugin();
28
29   //! Redefinition of Events_Listener method
30   virtual void processEvent(const std::shared_ptr<Events_Message>& theMessage);
31   std::shared_ptr<ModelAPI_FeatureStateMessage> getFeaturesState();
32 };
33
34 #endif