Salome HOME
Merge branch 'master' of newgeom:newgeom.git
[modules/shaper.git] / src / ModelAPI / ModelAPI_Plugin.h
index 0605d8b6f1997c5bedc6f5a18b965ec709dc5e71..5222b4c7b5edcd23582cdffbd6933428784cb4a7 100644 (file)
@@ -2,12 +2,12 @@
 // Created:     31 Mar 2014
 // Author:      Mikhail PONIKAROV
 
-#ifndef ModelAPI_Plugin_HeaderFile
-#define ModelAPI_Plugin_HeaderFile
+#ifndef ModelAPI_Plugin_H_
+#define ModelAPI_Plugin_H_
 
 #include "ModelAPI.h"
 #include <string>
-#include <memory>
+#include <boost/shared_ptr.hpp>
 
 class ModelAPI_Feature;
 
@@ -18,13 +18,21 @@ class ModelAPI_Feature;
 
 class MODELAPI_EXPORT ModelAPI_Plugin
 {
-public:
+ public:
   /// Creates the feature object of this plugin by the feature string ID
-  virtual std::shared_ptr<ModelAPI_Feature> createFeature(std::string theFeatureID) = 0;
+  virtual boost::shared_ptr<ModelAPI_Feature> createFeature(std::string theFeatureID) = 0;
 
-protected:
+  /// To virtually destroy the fields of successors
+  virtual ~ModelAPI_Plugin()
+  {
+  }
+
+ protected:
   /// Is needed for python wrapping by swig
-  ModelAPI_Plugin() {};
+  ModelAPI_Plugin()
+  {
+  }
+  ;
 };
 
 #endif