Salome HOME
updated copyright message
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_Driver_i.cxx
index eecaaff4fb7a84c15ffcf63a43268dc468536998..190d0dc47b39cb540c3629b3ea33c53298d4f01e 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  CEA, EDF, 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->cloneCoVar();
+}
 
 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);
       }
     }
   }