Salome HOME
KERNEL Services to deal with embedded Study/ModulCatalog.
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_Driver_i.cxx
index c0f78849f8af755b4cf7a846f6939513501250c8..c82cc604efdda1094f9a6c4f6a59bbcbd80723d7 100644 (file)
@@ -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
@@ -28,6 +28,7 @@
 #include "SALOMEDS_Study_i.hxx"
 #include "SALOMEDS.hxx"
 #include <SALOMEDSImpl_IParameters.hxx>
+#include <SALOME_KernelServices.hxx>
 #include <stdlib.h>
 
 #include CORBA_CLIENT_HEADER(SALOME_Session)
@@ -79,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();
@@ -102,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();
@@ -271,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();
@@ -321,25 +322,21 @@ std::string SALOMEDS_Driver_i::PasteInto(const unsigned char* theStream,
   return entry;
 }
 
-SALOMEDSImpl_TMPFile* SALOMEDS_Driver_i::DumpPython(SALOMEDSImpl_Study* theStudy,
-                                                    bool isPublished,
+SALOMEDSImpl_TMPFile* SALOMEDS_Driver_i::DumpPython(bool isPublished,
                                                     bool isMultiFile,
                                                     bool& isValidScript,
                                                     long& theStreamLength)
 {
-  SALOMEDS_Study_i *  st_servant = SALOMEDS_Study_i::GetStudyServant(theStudy, _orb);//new SALOMEDS_Study_i (theStudy, _orb);
-  SALOMEDS::Study_var st  = SALOMEDS::Study::_narrow(st_servant->_this());
-
   SALOMEDS::unlock();
 
   Engines::TMPFile_var aStream;
   CORBA::Boolean aValidScript = true; // VSR: maybe should be false by default ???
 
   if ( !CORBA::is_nil( _engine ) )
-    aStream = _engine->DumpPython(st.in(), isPublished, isMultiFile, aValidScript);
+    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();
@@ -351,10 +348,11 @@ SALOMEDSImpl_TMPFile* SALOMEDS_Driver_i::DumpPython(SALOMEDSImpl_Study* theStudy
 //                                          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);
-  _name_service = new SALOME_NamingService(_orb);
+  if(isNSAvail)
+    _name_service = new SALOME_NamingService(_orb);
 }