Salome HOME
1a605595bf5445069eb36a7c5a25e089337ea1b3
[modules/shaper.git] / src / GeomAPI / GeomAPI_Interface.h
1 // File:        GeomAPI_Interface.hxx
2 // Created:     23 Apr 2014
3 // Author:      Mikhail PONIKAROV
4
5 #ifndef GeomAPI_Interface_HeaderFile
6 #define GeomAPI_Interface_HeaderFile
7
8 #include <GeomAPI.h>
9
10 /**\class GeomAPI_Interface
11  * \ingroup DataModel
12  * \brief General base class for all interfaces in this package
13  */
14
15 class GEOMAPI_EXPORT GeomAPI_Interface
16 {
17 protected:
18   void* myImpl; ///< pointer to the internal implementation object
19
20 public:
21   /// None - constructor
22   GeomAPI_Interface();
23
24   /// Constructor by the implementation pointer (used for internal needs)
25   GeomAPI_Interface(void* theImpl);
26   
27   /// Destructor
28   virtual ~GeomAPI_Interface();
29
30   /// Returns the pointer to the implementation
31   void* implementation();
32   /// Updates the implementation (deletes the old one)
33   void setImplementation(void* theImpl);
34 };
35
36 #endif
37