-// Copyright (C) 2007-2015 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2019 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include "InterpKernelException.hxx"
#include "MEDLoaderDefines.hxx"
+#include "MCAuto.hxx"
+#include "MEDCouplingMemArray.hxx"
+
#include "med.h"
namespace MEDFileUtilities
};
}
-namespace ParaMEDMEM
+namespace MEDCoupling
{
class MEDLOADER_EXPORT MEDFileWritable
{
public:
MEDFileWritable();
+ virtual ~MEDFileWritable() {}
void copyOptionsFrom(const MEDFileWritable& other) const;
int getTooLongStrPolicy() const;
void setTooLongStrPolicy(int newVal);
int getZipConnPolicy();
void setZipConnPolicy(int newVal);
+ static std::string FileNameFromFID(med_idt fid);
protected://policies on write
mutable int _too_long_str;
mutable int _zipconn_pol;
};
+
+ class MEDFileWritableStandAlone : public MEDFileWritable
+ {
+ public:
+ MEDLOADER_EXPORT virtual void writeLL(med_idt fid) const = 0;
+ MEDLOADER_EXPORT virtual void write(const std::string& fileName, int mode) const;
+ MEDLOADER_EXPORT virtual void write33(const std::string& fileName, int mode) const;
+ MEDLOADER_EXPORT MCAuto<DataArrayByte> serialize() const;
+ MEDLOADER_EXPORT static std::string GenerateUniqueDftFileNameInMem();
+ public:
+ MEDLOADER_EXPORT static const char DFT_FILENAME_IN_MEM[];
+ template<class T>
+ static T *BuildFromMemoryChunk(DataArrayByte *db);
+ };
+
+ MEDFileUtilities::AutoFid OpenMEDFileForRead(const std::string& fileName);
}
#endif