Salome HOME
Moved some functionality to VTKViewer_Utilities.h
[modules/kernel.git] / src / NamingService / SALOME_NamingService.hxx
index 72cbd47278aadf30c7599bf5a7674bf3cb838474..db9c39e17865a0a55a776342536b465ec57bfac2 100644 (file)
@@ -1,15 +1,36 @@
-// File: SALOME_NamingService.hxx
-// Created: Tue June 12 2001
-// Author: Estelle Deville
-// Project: SALOME
-// Copyright : CEA/DEN/DMSS/LGLS
-// $Header$
+//  SALOME NamingService : wrapping NamingService services
+//
+//  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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+//
+//
+//
+//  File   : SALOME_NamingService.hxx
+//  Author : Estelle Deville
+//  Module : SALOME
+//  $Header$
 
 #ifndef SALOME_NAMINGSERVICE_H
 #define SALOME_NAMINGSERVICE_H
 
 #include "utilities.h"
-#include <omniORB3/CORBA.h>
+#include <CORBA.h>
 #include <vector>
 #include <string>
 
@@ -61,7 +82,11 @@ public:
 
   //!method to get all the contexts contained in the current direcotry
   // Get only objects, isn't iterative
-  vector<string> list_directory()
+  std::vector<std::string> list_directory()
+    throw(ServiceUnreachable);
+
+  //!methods that lists all objects RECUSIVELY in the current directory
+  std::vector<std::string> list_directory_recurs()
     throw(ServiceUnreachable);
  
   //! method to destroy an association Path-Object Reference
@@ -72,6 +97,9 @@ public:
   virtual void Destroy_Directory(const char* Path)
     throw(ServiceUnreachable);
 
+  //! get IORstring naming service address 
+  char * getIORaddr();
+
 protected:
   CORBA::ORB_ptr _orb;
   CosNaming::NamingContext_var _root_context, _current_context;
@@ -99,6 +127,10 @@ protected:
                          int& length_result,
                          CosNaming::NamingContext_var context_to_found,
                          CORBA::Boolean& _continue);
+
+  //! internal method to list all (recursively) the objects contains in absCurDirectory/relativeSubDir.
+  void _list_directory_recurs(std::vector<std::string>& myList, const char *relativeSubDir,const char *absCurDirectory);
+
 };
 
 #endif // SALOME_NAMINGSERVICE_H