]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
WIP
authorAnthony Geay <anthony.geay@edf.fr>
Thu, 14 Jan 2021 06:28:03 +0000 (07:28 +0100)
committerAnthony Geay <anthony.geay@edf.fr>
Thu, 14 Jan 2021 06:28:03 +0000 (07:28 +0100)
src/KernelHelpers/SALOME_KernelServices.cxx
src/KernelHelpers/SALOME_KernelServices.hxx

index b4fa7ad6e395366f9862c1f9c941c7e78e2967c4..4ca01ee7a315b2cedfc6193dd9952a122647f9d6 100644 (file)
 
 #include "SALOME_KernelServices.hxx"
 
+#include <map>
+
+std::map<std::string,CORBA::Object_var> _compo_map;
+
 namespace KERNEL {
   
   /**
@@ -161,5 +165,24 @@ namespace KERNEL {
     es.text = CORBA::string_dup(text);
     return SALOME::SALOME_Exception(es);
   }
-
+  
+  void RegisterCompo(const std::string& compoName, CORBA::Object_var compoPtr)
+  {
+    _compo_map[compoName] = compoPtr;
+  }
+  
+  CORBA::Object_var RetrieveCompo(const std::string& compoName)
+  {
+    auto it = _compo_map.find(compoName);
+    if( it != _compo_map.end() )
+    {
+      return (*it).second;
+    }
+    else
+    {
+      SALOME::SALOME_Exception ex(createSalomeException("RetrieveCompo : not implemented yet !"));
+      throw ex;
+    //GetLCC()->FindOrLoad_Component( "FactoryServer", compoName );
+    }
+  }
 }
index 2e163429d0a40c7b937efc07ab63d13c8b18ed52..d232b1483ec706c2937964ecfe456568c404dd90 100644 (file)
@@ -53,7 +53,8 @@ namespace KERNEL {
   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