X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDS%2FSALOMEDS_Server.cxx;h=2903a821763a0ef04ae111fd2690bbe0ca6546b3;hb=ebe3541632797c5fad97573b46655718ddd61444;hp=17a6583b0b6f7fe26c48ce8ed3b0defe4a613849;hpb=6dcb778f91e5c1ec0851882494cb2a03341cb76f;p=modules%2Fkernel.git diff --git a/src/SALOMEDS/SALOMEDS_Server.cxx b/src/SALOMEDS/SALOMEDS_Server.cxx index 17a6583b0..2903a8217 100644 --- a/src/SALOMEDS/SALOMEDS_Server.cxx +++ b/src/SALOMEDS/SALOMEDS_Server.cxx @@ -30,7 +30,7 @@ #include "Utils_SINGLETON.hxx" #include "SALOME_NamingService.hxx" -#include "SALOMEDS_StudyManager_i.hxx" +#include "SALOMEDS_Study_i.hxx" #include #include CORBA_SERVER_HEADER(SALOMEDS) @@ -58,7 +58,8 @@ int main(int argc, char** argv) CORBA::ORB_var orb = CORBA::ORB_init( argc, argv, "omniORB4" ) ; #else CORBA::ORB_var orb = CORBA::ORB_init( argc, argv, "omniORB3" ); -#endif +#endif + SALOME_NamingService NS; // Obtain a reference to the root POA. long TIMESleep = 500000000; int NumberOfTries = 40; @@ -108,7 +109,7 @@ int main(int argc, char** argv) if(EnvL==1) { CORBA::ORB_var orb1 = CORBA::ORB_init(argc,argv) ; - SALOME_NamingService &NS = *SINGLETON_::Instance() ; + NS = *SINGLETON_::Instance() ; NS.init_orb( orb1 ) ; for(int j=1; j<=NumberOfTries; j++) { @@ -154,13 +155,18 @@ int main(int argc, char** argv) // We allocate the objects on the heap. Since these are reference // counted objects, they will be deleted by the POA when they are no // longer needed. - SALOMEDS_StudyManager_i * myStudyManager_i = new SALOMEDS_StudyManager_i(orb,poa); + SALOMEDS_Study_i * myStudy_i = new SALOMEDS_Study_i(orb); // Activate the objects. This tells the POA that the objects are // ready to accept requests. - PortableServer::ObjectId_var myStudyManager_iid = poa->activate_object(myStudyManager_i); - myStudyManager_i->register_name("/myStudyManager"); - myStudyManager_i->_remove_ref(); + PortableServer::ObjectId_var myStudy_iid = poa->activate_object(myStudy_i); + SALOMEDS::Study_var Study = myStudy_i->_this(); + NS.Register(Study.in(), "/Study"); + myStudy_i->_remove_ref(); + + // Assign the value of the IOR in the study->root + CORBA::String_var IORStudy = orb->object_to_string(Study); + myStudy_i->GetImpl()->SetTransientReference((char*)IORStudy.in()); // Obtain a POAManager, and tell the POA to start accepting // requests on its objects.