- const MEDFileMeshes *ms(_meshes);
- if(ms)
- ms->writeLL(fid);
- const MEDFileFields *fs(_fields);
- if(fs)
- fs->writeLL(fid);
- const MEDFileParameters *ps(_params);
- if(ps)
- ps->writeLL(fid);
+ writeHeader(fid);
+ if(_meshes.isNotNull())
+ _meshes->writeLL(fid);
+ if(_fields.isNotNull())
+ _fields->writeLL(fid);
+ if(_params.isNotNull())
+ _params->writeLL(fid);
+ if(_mesh_supports.isNotNull())
+ _mesh_supports->writeLL(fid);
+ if(_struct_elems.isNotNull())
+ _struct_elems->writeLL(fid);
+}
+
+std::string MEDFileData::getHeader() const
+{
+ return _header;
+}
+
+
+void MEDFileData::setHeader(const std::string& header)
+{
+ _header=header;
+}
+
+void MEDFileData::readHeader(med_idt fid)
+{
+ INTERP_KERNEL::AutoPtr<char> header(MEDLoaderBase::buildEmptyString(MED_COMMENT_SIZE));
+ int ret(MEDfileCommentRd(fid,header));
+ if(ret==0)
+ _header=MEDLoaderBase::buildStringFromFortran(header,MED_COMMENT_SIZE);
+}
+
+void MEDFileData::writeHeader(med_idt fid) const
+{
+ INTERP_KERNEL::AutoPtr<char> header(MEDLoaderBase::buildEmptyString(MED_COMMENT_SIZE));
+ MEDLoaderBase::safeStrCpy(_header.c_str(),MED_COMMENT_SIZE,header,_too_long_str);
+ MEDFILESAFECALLERWR0(MEDfileCommentWr,(fid,header));