| //===-- MIUtilFileStd.h -----------------------------------------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #pragma once |
| |
| // In-house headers: |
| #include "MICmnBase.h" |
| #include "MIUtilString.h" |
| |
| //++ |
| //============================================================================ |
| // Details: MI common code utility class. File handling. |
| //-- |
| class CMIUtilFileStd : public CMICmnBase { |
| // Static: |
| public: |
| static char GetSlash(); |
| |
| // Methods: |
| public: |
| /* ctor */ CMIUtilFileStd(); |
| // |
| bool CreateWrite(const CMIUtilString &vFileNamePath, bool &vwrbNewCreated); |
| bool Write(const CMIUtilString &vData); |
| bool Write(const char *vpData, const MIuint vCharCnt); |
| void Close(); |
| bool IsOk() const; |
| bool IsFileExist(const CMIUtilString &vFileNamePath) const; |
| const CMIUtilString &GetLineReturn() const; |
| static CMIUtilString StripOffFileName(const CMIUtilString &vDirectoryPath); |
| |
| // Overridden: |
| public: |
| // From CMICmnBase |
| /* dtor */ ~CMIUtilFileStd() override; |
| |
| // Attributes: |
| private: |
| CMIUtilString m_fileNamePath; |
| FILE *m_pFileHandle; |
| CMIUtilString m_constCharNewLine; |
| bool m_bFileError; // True = have a file error ATM, false = all ok |
| }; |