123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- #ifndef cmGeneratedFileStream_h
- #define cmGeneratedFileStream_h
- #include "cmConfigure.h"
- #include "cm_codecvt.hxx"
- #include "cmsys/FStream.hxx"
- #include <string>
- class cmGeneratedFileStreamBase
- {
- protected:
-
-
- cmGeneratedFileStreamBase();
-
- cmGeneratedFileStreamBase(const char* name);
-
- ~cmGeneratedFileStreamBase();
-
-
-
-
- void Open(const char* name);
- bool Close();
-
- int RenameFile(const char* oldname, const char* newname);
-
- int CompressFile(const char* oldname, const char* newname);
-
- std::string Name;
-
- std::string TempName;
-
- bool CopyIfDifferent;
-
- bool Okay;
-
- bool Compress;
-
- bool CompressExtraExtension;
- };
- class cmGeneratedFileStream : private cmGeneratedFileStreamBase,
- public cmsys::ofstream
- {
- public:
- typedef cmsys::ofstream Stream;
- typedef codecvt::Encoding Encoding;
-
- cmGeneratedFileStream(Encoding encoding = codecvt::None);
-
- cmGeneratedFileStream(const char* name, bool quiet = false,
- Encoding encoding = codecvt::None);
-
- ~cmGeneratedFileStream() override;
-
- cmGeneratedFileStream& Open(const char* name, bool quiet = false,
- bool binaryFlag = false);
-
- bool Close();
-
- void SetCopyIfDifferent(bool copy_if_different);
-
- void SetCompression(bool compression);
-
- void SetCompressionExtraExtension(bool ext);
-
- void SetName(const std::string& fname);
- private:
- cmGeneratedFileStream(cmGeneratedFileStream const&);
- };
- #endif
|