-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
#include "SALOME_Launcher.hxx"
+#include "SALOMESDS_DataServerManager.hxx"
#include "utilities.h"
#include <sstream>
#include <iostream>
PortableServer::POA_var root_poa;
PortableServer::POAManager_var pman;
CORBA::Object_var obj;
-
- CORBA::ORB_var orb = CORBA::ORB_init( argc , argv ) ;
+ CORBA::ORB_var orb;
+ {
+ int myArgc(argc+2);
+ char **myArgv(new char *[myArgc]);
+ for(int i=0;i<argc;i++)
+ myArgv[i]=strdup(argv[i]);
+ myArgv[argc+0]=strdup("-ORBsupportCurrent");
+ myArgv[argc+1]=strdup("0");
+ orb = CORBA::ORB_init( myArgc , myArgv ) ;
+ for(int i=0;i<myArgc;i++)
+ free(myArgv[i]);
+ delete [] myArgv;
+ }
// LocalTraceCollector *myThreadTrace = SALOMETraceCollector::instance(orb);
INFOS_COMPILATION;
BEGIN_OF(argv[0]);
if(!CORBA::is_nil(obj))
root_poa = PortableServer::POA::_narrow(obj);
if(!CORBA::is_nil(root_poa))
- pman = root_poa->the_POAManager();
+ {
+ pman = root_poa->the_POAManager();
+ pman->activate();
+ }
}
catch(CORBA::COMM_FAILURE&){
MESSAGE( "Container: CORBA::COMM_FAILURE: Unable to contact the Naming Service" );
}
- try{
- SALOME_Launcher *lServ=new SALOME_Launcher(orb,root_poa);
- pman->activate();
- lServ->_remove_ref();
- orb->run();
- orb->destroy();
- }catch(CORBA::SystemException&){
+ try
+ {
+ SALOME_Launcher *lServ(new SALOME_Launcher(orb,root_poa));
+ lServ->_remove_ref();
+ //
+ SALOMESDS::DataServerManager *dsm(new SALOMESDS::DataServerManager(argc,argv,orb,root_poa));
+ dsm->_remove_ref();
+ //
+ orb->run();
+ orb->destroy();
+ }
+ catch(CORBA::SystemException&){
MESSAGE("Caught CORBA::SystemException.");
}catch(PortableServer::POA::WrongPolicy&){
MESSAGE("Caught CORBA::WrongPolicyException.");