-class Model_FeatureDeletedMessage : public Events_MessageGroup {
- boost::shared_ptr<ModelAPI_Document> myDoc; ///< document owner of the feature
- std::set<std::string> myGroups; ///< group identifiers that contained the deleted feature
-public:
- /// creates a message by initialization of fields
-// Model_FeatureDeletedMessage(const boost::shared_ptr<ModelAPI_Document>& theDoc,
-// const std::string& theGroup);
-
- /// Returns the ID of this message (EVENT_FEATURE_DELETED)
-// static const Events_ID messageId();
-
- /// Returns the feature that has been updated
- boost::shared_ptr<ModelAPI_Document> document() const {return myDoc;}
-
- /// Returns the group where the feature was deleted
- const std::set<std::string >& groups() const {return myGroups;}
-
- //! Creates a new empty group (to store it in the loop before flush)
-// virtual Events_MessageGroup* newEmpty();
-
- //! Allows to join the given message with the current one
-// virtual void Join(Events_MessageGroup& theJoined);
-
- Events_MessageGroup* newEmpty() {
- return new Model_FeatureDeletedMessage(myDoc, "");
- }
-
- Model_FeatureDeletedMessage(
- const boost::shared_ptr<ModelAPI_Document>& theDoc, const std::string& theGroup)
- : Events_MessageGroup(messageId(), 0), myDoc(theDoc)
-
+class Model_ObjectDeletedMessage : public ModelAPI_ObjectDeletedMessage
+{
+ std::shared_ptr<ModelAPI_Document> myDoc; ///< document owner of the feature
+ std::set<std::string> myGroups; ///< group identifiers that contained the deleted feature
+
+ /// Use ModelAPI for creation of this event.
+ Model_ObjectDeletedMessage(const std::shared_ptr<ModelAPI_Document>& theDoc,
+ const std::string& theGroup);
+
+ friend class Model_EventCreator;
+ public:
+ /// Returns the document that has been updated
+ virtual std::shared_ptr<ModelAPI_Document> document() const