Salome HOME
Fix compilation pb.
[modules/kernel.git] / src / Registry / RegistryService.hxx
index d90fa46527048f6e26a10884ab1021593f5ef219..9b26f41f8b6357a5eb8b6766dfc5d310db3683d6 100644 (file)
@@ -1,22 +1,42 @@
-//=============================================================================
-// File      : RegistryService.hxx
-// Created   : Mon Nov  5 17:26:23 CET 2001
-// Author    : Pascale NOYRET - Antoine YESSAYAN, EDF
-// Project   : SALOME
-// Copyright : EDF 2001
-// $Header$
-//=============================================================================
+//  SALOME Registry : Registry server implementation
+//
+//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+// 
+//  This library is free software; you can redistribute it and/or 
+//  modify it under the terms of the GNU Lesser General Public 
+//  License as published by the Free Software Foundation; either 
+//  version 2.1 of the License. 
+// 
+//  This library is distributed in the hope that it will be useful, 
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+//  Lesser General Public License for more details. 
+// 
+//  You should have received a copy of the GNU Lesser General Public 
+//  License along with this library; if not, write to the Free Software 
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+// 
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : RegistryService.hxx
+//  Author : Pascale NOYRET - Antoine YESSAYAN, EDF
+//  Module : SALOME
+//  $Header$
 
 # ifndef __RegistryService_h__
 # define __RegistryService_h__
 
+#include <SALOME_Registry.hxx>
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SALOME_Registry)
 
 # include <map>
 
-
-class RegistryService : public POA_Registry::Components  //, public PortableServer::RefCountServantBase
+class REGISTRY_EXPORT RegistryService : public POA_Registry::Components  //, public PortableServer::RefCountServantBase
 {
 
 public :
@@ -52,10 +72,16 @@ public :
        virtual ~RegistryService(void);
 
         void ping();
+        CORBA::Long getPID();
        virtual CORBA::ULong add (const Registry::Infos & infos);
        virtual CORBA::ULong size ( void );
+#ifndef WNT
        virtual void remove( const CORBA::ULong id );
        virtual void hello( const CORBA::ULong id );
+#else
+       virtual void remove( CORBA::ULong id );
+       virtual void hello( CORBA::ULong id );
+#endif
        virtual void end(void);
 
        virtual Registry::AllInfos *getall(void);
@@ -63,15 +89,19 @@ public :
 
        void SessionName( const char *sessionName ) ;
 
+        void SetOrb( CORBA::ORB_ptr orb ) { _orb = orb; return; }
+
+        void Shutdown() { if(!CORBA::is_nil(_orb)) _orb->shutdown(0); }
 
 protected :
 
+        CORBA::ORB_var _orb;
        const char              *_SessionName ;
        int                      _Compteur ;
-       map<int,client_infos *>  _reg ;
-       map<int,client_infos *>  _fin ;
+       std::map<int,client_infos *>     _reg ;
+       std::map<int,client_infos *>     _fin ;
 
-       Registry::AllInfos* makeseq(map<int,client_infos *> &mymap );
+       Registry::AllInfos* makeseq(std::map<int,client_infos *> &mymap );
 
 } ;