Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / Model / Model_Events.h
index e969458d69291573f8fe47fab8ef7fba80e78acd..ba0b7ea3438c66a73be4c744e5f719aab1739375 100644 (file)
@@ -6,49 +6,51 @@
 #define Model_Events_HeaderFile
 
 #include <Model.h>
-#include <Event_Message.h>
-#include <memory>
+#include <Events_Message.h>
+#include <boost/shared_ptr.hpp>
 #include <string>
 
 class ModelAPI_Feature;
 class ModelAPI_Document;
 
-/// Event ID that feature is created (comes with ModelAPI_FeatureUpdatedMessage)
+/// Event ID that feature is created (comes with Model_FeatureUpdatedMessage)
 static const char * EVENT_FEATURE_CREATED = "FeatureCreated";
-/// Event ID that data of feature is updated (comes with ModelAPI_FeatureUpdatedMessage)
+/// Event ID that data of feature is updated (comes with Model_FeatureUpdatedMessage)
 static const char * EVENT_FEATURE_UPDATED = "FeatureUpdated";
-/// Event ID that data of feature is deleted (comes with ModelAPI_FeatureDeletedMessage)
+/// Event ID that data of feature is deleted (comes with Model_FeatureDeletedMessage)
 static const char * EVENT_FEATURE_DELETED = "FeatureDeleted";
 
 /// Message that feature was changed (used for Object Browser update)
-class ModelAPI_FeatureUpdatedMessage : public Event_Message {
-  std::shared_ptr<ModelAPI_Feature> myFeature; ///< which feature is changed
+class Model_FeatureUpdatedMessage : public Events_Message {
+  boost::shared_ptr<ModelAPI_Feature> myFeature; ///< which feature is changed
 public:
   /// sender is not important, all information is located in the feature
-  ModelAPI_FeatureUpdatedMessage(const std::shared_ptr<ModelAPI_Feature>& theFeature,
-    const Event_ID& theEvent);
+  Model_FeatureUpdatedMessage(
+    const boost::shared_ptr<ModelAPI_Feature>& theFeature,
+    const Events_ID& theEvent) : Events_Message(theEvent, 0), myFeature(theFeature)
+  {}
 
   /// Returns the feature that has been updated
-  std::shared_ptr<ModelAPI_Feature> feature() {return myFeature;}
+  boost::shared_ptr<ModelAPI_Feature> feature() const {return myFeature;}
 };
 
 /// Message that feature was deleted (used for Object Browser update)
-class ModelAPI_FeatureDeletedMessage : public Event_Message {
-  std::shared_ptr<ModelAPI_Document> myDoc; ///< document owner of the feature
+class Model_FeatureDeletedMessage : public Events_Message {
+  boost::shared_ptr<ModelAPI_Document> myDoc; ///< document owner of the feature
   std::string myGroup; ///< group identifier that contained the deleted feature
 public:
   /// creates a message by initialization of fields
-  ModelAPI_FeatureDeletedMessage(const std::shared_ptr<ModelAPI_Document>& theDoc,
+  Model_FeatureDeletedMessage(const boost::shared_ptr<ModelAPI_Document>& theDoc,
     const std::string& theGroup);
 
   /// Returns the ID of this message (EVENT_FEATURE_DELETED)
-  static const Event_ID messageId();
+  static const Events_ID messageId();
 
   /// Returns the feature that has been updated
-  std::shared_ptr<ModelAPI_Document> document() {return myDoc;}
+  boost::shared_ptr<ModelAPI_Document> document() const {return myDoc;}
 
   /// Returns the group where the feature was deleted
-  const std::string& group() {return myGroup;}
+  const std::string& group() const {return myGroup;}
 };
 
 #endif