X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDS%2FSALOMEDS_Driver_i.cxx;h=a5597708d55360c57223c485f13dfa8c23156dbf;hb=b741d9021836f43ec742959b06b0941e1a1da7c9;hp=eecaaff4fb7a84c15ffcf63a43268dc468536998;hpb=3e8cb819ece8ab264fe0c8d6d970387d2bfeb755;p=modules%2Fkernel.git diff --git a/src/SALOMEDS/SALOMEDS_Driver_i.cxx b/src/SALOMEDS/SALOMEDS_Driver_i.cxx index eecaaff4f..a5597708d 100644 --- a/src/SALOMEDS/SALOMEDS_Driver_i.cxx +++ b/src/SALOMEDS/SALOMEDS_Driver_i.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2020 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 @@ -80,7 +80,7 @@ SALOMEDSImpl_TMPFile* SALOMEDS_Driver_i::Save(const SALOMEDSImpl_SComponent& the aStream = _driver->Save(sco.in(), url, isMultiFile); SALOMEDSImpl_TMPFile* aTMPFile = new SALOMEDS_TMPFile_i(aStream._retn()); - theStreamLength = aTMPFile->Size(); + theStreamLength = (long)aTMPFile->Size(); //!< TODO: conversion from size_t to long sco->UnRegister(); SALOMEDS::lock(); @@ -103,7 +103,7 @@ SALOMEDSImpl_TMPFile* SALOMEDS_Driver_i::SaveASCII(const SALOMEDSImpl_SComponent aStream = _driver->SaveASCII(sco.in(), url, isMultiFile); SALOMEDSImpl_TMPFile* aTMPFile = new SALOMEDS_TMPFile_i(aStream._retn()); - theStreamLength = aTMPFile->Size(); + theStreamLength = (long)aTMPFile->Size(); //!< TODO: conversion from size_t to long sco->UnRegister(); SALOMEDS::lock(); @@ -188,7 +188,12 @@ std::string SALOMEDS_Driver_i::ComponentDataType() std::string SALOMEDS_Driver_i::Version() { - return !CORBA::is_nil( _engine ) ? _engine->getVersion() : std::string(""); + std::string ver; + if ( !CORBA::is_nil( _engine )) { + CORBA::String_var v = _engine->getVersion(); + ver = v; + } + return ver; } std::string SALOMEDS_Driver_i::IORToLocalPersistentID(const SALOMEDSImpl_SObject& theSObject, @@ -267,7 +272,7 @@ SALOMEDSImpl_TMPFile* SALOMEDS_Driver_i::CopyFrom(const SALOMEDSImpl_SObject& th aStream = _driver->CopyFrom(so.in(), anObjectID); SALOMEDSImpl_TMPFile* aTMPFile = new SALOMEDS_TMPFile_i(aStream._retn()); - theStreamLength = aTMPFile->Size(); + theStreamLength = (long)aTMPFile->Size(); //!< TODO: conversion from size_t to long theObjectID = anObjectID; so->UnRegister(); @@ -331,7 +336,7 @@ SALOMEDSImpl_TMPFile* SALOMEDS_Driver_i::DumpPython(bool isPublished, aStream = _engine->DumpPython(isPublished, isMultiFile, aValidScript); SALOMEDSImpl_TMPFile* aTMPFile = new Engines_TMPFile_i(aStream._retn()); - theStreamLength = aTMPFile->Size(); + theStreamLength = (long)aTMPFile->Size(); //!< TODO: conversion from size_t to long isValidScript = aValidScript; SALOMEDS::lock(); @@ -343,12 +348,16 @@ SALOMEDSImpl_TMPFile* SALOMEDS_Driver_i::DumpPython(bool isPublished, // SALOMEDS_DriverFactory //############################################################################################################### -SALOMEDS_DriverFactory_i::SALOMEDS_DriverFactory_i(CORBA::ORB_ptr theORB) +SALOMEDS_DriverFactory_i::SALOMEDS_DriverFactory_i(CORBA::ORB_ptr theORB, bool isNSAvail):_orb( CORBA::ORB::_duplicate(theORB) ) { - _orb = CORBA::ORB::_duplicate(theORB); - _name_service = new SALOME_NamingService(_orb); + if(isNSAvail) + _name_service = new SALOME_NamingService(_orb); } +SALOMEDS_DriverFactory_i::SALOMEDS_DriverFactory_i(CORBA::ORB_ptr theORB, SALOME_NamingService_Abstract *ns):_orb( CORBA::ORB::_duplicate(theORB) ) +{ + _name_service = ns->clone(); +} SALOMEDS_DriverFactory_i::~SALOMEDS_DriverFactory_i() { @@ -375,9 +384,9 @@ SALOMEDSImpl_Driver* SALOMEDS_DriverFactory_i::GetDriverByType(const std::string if (!CORBA::is_nil(obj)) { SALOME::Session_var session = SALOME::Session::_narrow(obj); if (!CORBA::is_nil(session)) { - Engines::EngineComponent_var anEngine = session->GetComponent(theComponentType.c_str()); - if (!CORBA::is_nil(anEngine)) - driver = new SALOMEDS_Driver_i(anEngine, _orb); + Engines::EngineComponent_var anEngine = session->GetComponent(theComponentType.c_str()); + if (!CORBA::is_nil(anEngine)) + driver = new SALOMEDS_Driver_i(anEngine, _orb); } } }