Salome HOME
Issues #2027, #2024, #2063, #2067: reentrant message to fill new operation by result...
[modules/shaper.git] / src / ModelAPI / ModelAPI_IReentrant.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        ModelAPI_IReentrant.hxx
4 // Created:     30 Mar 2017
5 // Author:      Natalia ERMOLAEVA
6
7 #ifndef ModelAPI_IReentrant_H
8 #define ModelAPI_IReentrant_H
9
10 #include "ModelAPI.h"
11
12 #include <vector>
13 #include <memory>
14
15 class Events_Message;
16
17 /** \class ModelAPI_IReentrant
18  *  \ingroup DataModel
19  *  \brief Interface of a class which can process specific messages
20  */
21 class ModelAPI_IReentrant
22 {
23 public:
24   MODELAPI_EXPORT virtual ~ModelAPI_IReentrant();
25
26   /// Apply information of the message to current object.
27   /// \param theMessage a container of information
28   /// \return a next active attribute name
29   virtual std::string processEvent(const std::shared_ptr<Events_Message>& theMessage) = 0;
30 };
31
32 typedef std::shared_ptr<ModelAPI_IReentrant> ModelReentrantPtr;
33
34 #endif