1 // Name : ModelHighAPI_Interface.h
5 // 17/05/16 - Sergey POKHODENKO - Creation of the file
7 #ifndef SRC_MODELHIGHAPI_MODELHIGHAPI_INTERFACE_H_
8 #define SRC_MODELHIGHAPI_MODELHIGHAPI_INTERFACE_H_
10 //--------------------------------------------------------------------------------------
11 #include "ModelHighAPI.h"
15 //--------------------------------------------------------------------------------------
16 class ModelAPI_Feature;
17 //--------------------------------------------------------------------------------------
18 /**\class ModelHighAPI_Interface
20 * \brief Base class for feature interfaces
22 class ModelHighAPI_Interface
27 explicit ModelHighAPI_Interface(const std::shared_ptr<ModelAPI_Feature> & theFeature);
30 virtual ~ModelHighAPI_Interface();
32 /// Return ModelAPI_Feature
34 std::shared_ptr<ModelAPI_Feature> feature() const;
36 /// Shortcut for feature()->getKind()
38 const std::string& getKind() const;
40 /// Shortcut for feature()->execute()
44 /// Throw exception to event loop
46 void throwException(const std::string & theDescription);
49 std::shared_ptr<ModelAPI_Feature> myFeature;
52 //--------------------------------------------------------------------------------------
53 //--------------------------------------------------------------------------------------
54 #endif /* SRC_MODELHIGHAPI_MODELHIGHAPI_INTERFACE_H_ */