1 // SALOME_GenericObj_i_HH
3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 // File : SALOME_GenericObj_i.hh
24 // Author : Alexey PETROV
27 #ifndef SALOME_GenericObj_i_HH
28 #define SALOME_GenericObj_i_HH
31 #include "SALOMEconfig.h"
32 #include CORBA_SERVER_HEADER(SALOME_GenericObj)
34 #if defined GENERICOBJ_EXPORTS
36 #define GENERICOBJ_EXPORT __declspec( dllexport )
38 #define GENERICOBJ_EXPORT
42 #define GENERICOBJ_EXPORT __declspec( dllimport )
44 #define GENERICOBJ_EXPORT
49 class GENERICOBJ_EXPORT GenericObj_i :
50 public virtual POA_SALOME::GenericObj,
51 public virtual PortableServer::ServantBase
54 PortableServer::POA_var myPOA;
57 // In the constructor you can provide default POA for the servant
58 GenericObj_i(PortableServer::POA_ptr thePOA = PortableServer::POA::_nil());
59 // The function is used implicetly in "_this" function
60 virtual PortableServer::POA_ptr _default_POA();
61 public: // Follow functions is IDL defined
62 /*! Increase the reference count (mark as used by another object).*/
63 virtual void Register();
64 /*! Decrease the reference count (release by another object).*/
65 virtual void Destroy();