Salome HOME
Kernel evolution for salome gui without neither NS nor other servers.
[modules/kernel.git] / src / KernelHelpers / SALOME_KernelServices.hxx
index 4970858cf0deb216e3d7e061ea140db2952d7653..0651bda940834575af80e20bef489ce8310dad5d 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2020  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // 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.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 //
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-// Author: Guillaume Boulant (EDF/R&D) 
 
-#ifndef __KERNEL_SERVICES_H__
-#define __KERNEL_SERVICES_H__
+// Author: Guillaume Boulant (EDF/R&D) 
+#ifndef __SALOME_KERNEL_SERVICES_HXX__
+#define __SALOME_KERNEL_SERVICES_HXX__
+#pragma once
 
 #include "KernelHelpers.hxx"
 
 #include "SALOMEconfig.h"
 #include CORBA_SERVER_HEADER(SALOMEDS)
 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
-#include CORBA_SERVER_HEADER(SALOME_ContainerManager)
+#include CORBA_SERVER_HEADER(SALOME_Launcher)
 #include CORBA_CLIENT_HEADER(SALOME_Session)
 #include CORBA_SERVER_HEADER(SALOME_Exception)
 
@@ -38,10 +39,11 @@ namespace KERNEL {
   // ---------------------------------------------
   // SALOME KERNEL main services
   KERNELHELPERS_EXPORT CORBA::ORB_ptr                getORB();
-  KERNELHELPERS_EXPORT SALOME_NamingService *        getNamingService();
+  KERNELHELPERS_EXPORT SALOME_NamingService_Abstract *getNamingService();
+  KERNELHELPERS_EXPORT void assignNamingServiceSL();
   KERNELHELPERS_EXPORT SALOME_LifeCycleCORBA *       getLifeCycleCORBA();
   KERNELHELPERS_EXPORT SALOME::Session_ptr           getSalomeSession();
-  KERNELHELPERS_EXPORT SALOMEDS::StudyManager_ptr    getStudyManager();
+  KERNELHELPERS_EXPORT SALOMEDS::Study_ptr           getStudyServant();
   KERNELHELPERS_EXPORT Engines::SalomeLauncher_ptr   getSalomeLauncher();
   KERNELHELPERS_EXPORT Engines::ResourcesManager_ptr getResourcesManager();
 
@@ -49,13 +51,12 @@ namespace KERNEL {
   // SALOME KERNEL services to deal with a SALOME study, SObject and
   // SComponent.
   //
-  KERNELHELPERS_EXPORT SALOMEDS::Study_ptr getStudyById(int aStudyId);
-  KERNELHELPERS_EXPORT int                 getStudyId(SALOMEDS::Study_ptr study);
   KERNELHELPERS_EXPORT CORBA::Object_ptr   IORToObject(char * IOR);
   KERNELHELPERS_EXPORT CORBA::Object_ptr   SObjectToObject(SALOMEDS::SObject_ptr);
   
 
-
+  KERNELHELPERS_EXPORT void RegisterCompo(const std::string& compoName, CORBA::Object_var compoPtr);
+  KERNELHELPERS_EXPORT CORBA::Object_var RetrieveCompo(const std::string& compoName);
   /*!
    * This template function provides you with the servant (CORBA
    * object narrowed to its interface) corresponding to the specified
@@ -94,25 +95,12 @@ namespace KERNEL {
 // We can use the macros defined by SALOMELocalTrace/utilities.h
 #include "utilities.h"
 #define SALOMELOG(msg) {MESS_BEGIN("[XSALOME]") << msg << MESS_END}
+#ifdef LOG
+#undef LOG
+#endif
 #define LOG SALOMELOG
 
-// This can help to LOG (or use in stream) the CORBA exceptions
+#include "Utils_CorbaException.hxx"
+// Tip: CORBA exceptions can be used with LOG (or more generally in streams)
 // Ex: LOG("An exception occurs: "<<e) will log the data of the exception e
-#include <CORBA.h>
-#include <ostream>
-static std::ostream &
-operator<<(std::ostream & os, const CORBA::Exception & e)
-{
-  CORBA::Any tmp;
-  tmp <<=e ;
-  CORBA::TypeCode_var tc = tmp.type();
-  const char * p = tc->name ();
-  if (*p != '\0')
-    os << p;
-  else
-    os << tc->id();
-  return os;
-}
-
-
-#endif // KERNEL_SERVICES
+#endif //__SALOME_KERNEL_SERVICES_HXX__