Salome HOME
Minor doc: isIota()
[tools/medcoupling.git] / src / MEDLoader / MEDFileData.cxx
index 72606a8d8f445149e8937c28d7c5ed06c2094eb2..ab7b59e691cbc722e61a8e05bedcec50a582e5c9 100644 (file)
@@ -24,7 +24,13 @@ using namespace MEDCoupling;
 
 MEDFileData *MEDFileData::New(const std::string& fileName)
 {
-  return new MEDFileData(fileName);
+  MEDFileUtilities::AutoFid fid(OpenMEDFileForRead(fileName));
+  return New(fid);
+}
+
+MEDFileData *MEDFileData::New(med_idt fid)
+{
+  return new MEDFileData(fid);
 }
 
 MEDFileData *MEDFileData::New()
@@ -291,29 +297,27 @@ MEDFileData::MEDFileData()
 {
 }
 
-MEDFileData::MEDFileData(const std::string& fileName)
+MEDFileData::MEDFileData(med_idt fid)
 try
 {
-    _fields=MEDFileFields::New(fileName);
-    _meshes=MEDFileMeshes::New(fileName);
-    _params=MEDFileParameters::New(fileName);
+    _fields=MEDFileFields::New(fid);
+    _meshes=MEDFileMeshes::New(fid);
+    _params=MEDFileParameters::New(fid);
 }
 catch(INTERP_KERNEL::Exception& e)
 {
     throw e;
 }
 
-void MEDFileData::write(const std::string& fileName, int mode) const
+void MEDFileData::writeLL(med_idt fid) const
 {
-  med_access_mode medmod=MEDFileUtilities::TraduceWriteMode(mode);
-  MEDFileUtilities::AutoFid fid=MEDfileOpen(fileName.c_str(),medmod);
-  const MEDFileMeshes *ms=_meshes;
+  const MEDFileMeshes *ms(_meshes);
   if(ms)
-    ms->write(fid);
-  const MEDFileFields *fs=_fields;
+    ms->writeLL(fid);
+  const MEDFileFields *fs(_fields);
   if(fs)
     fs->writeLL(fid);
-  const MEDFileParameters *ps=_params;
+  const MEDFileParameters *ps(_params);
   if(ps)
     ps->writeLL(fid);
 }