Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
Gray::cFileText Class Reference

#include <cFileText.h>

Inheritance diagram for Gray::cFileText:
Gray::cFile Gray::CFile Gray::cStream Gray::CObject Gray::cStreamInput Gray::cStreamOutput Gray::cStreamBase Gray::cStreamBase GrayLib::cScriptFileReader

Public Member Functions

 cFileText ()
 
 cFileText (cStringF sFilePath, OF_FLAGS_t nOpenFlags)
 
virtual ~cFileText ()
 
virtual bool isFileOpen () const override
 
bool isEOF () const
 
HRESULT GetStreamError () const
 
virtual HRESULT OpenX (cStringF sFilePath="", OF_FLAGS_t nOpenFlags=OF_READ|OF_SHARE_DENY_NONE) override
 
virtual void Close (void) override
 
HRESULT OpenFileHandle (HANDLE h, OF_FLAGS_t nOpenFlags)
 
FILE * DetachFileStream ()
 
virtual STREAM_SEEKRET_t Seek (STREAM_OFFSET_t offset=0, SEEK_ORIGIN_TYPE eSeekOrigin=SEEK_Set) override
 
virtual STREAM_POS_t GetPosition () const override
 
virtual HRESULT FlushX () override
 
virtual HRESULT ReadX (void *pBuffer, size_t nSizeMax) override
 
virtual HRESULT WriteX (const void *pData, size_t nDataSize) override
 
virtual HRESULT WriteString (const char *pszStr) override
 
virtual HRESULT WriteString (const wchar_t *pszStr) override
 
virtual HRESULT ReadStringLine (char *pBuffer, StrLen_t nSizeMax) override
 
virtual HRESULT ReadStringLine (wchar_t *pszBuffer, StrLen_t iSizeMax) override
 
HRESULT ReadStringLineA (cStringA &r)
 
BOOL ReadString (CString &rString)
 
bool put_TextPos (const cTextPos &rPos)
 
cTextPos get_TextPos () const
 
ITERATE_t get_CurrentLineNumber () const noexcept
 
FILE * get_FileStream () const noexcept
 
- Public Member Functions inherited from Gray::cFile
 cFile ()
 
 cFile (cStringF sFilePath, OF_FLAGS_t nOpenFlags)
 
virtual ~cFile ()
 
virtual bool isValidCheck () const noexcept
 < memory allocation and structure definitions are valid. More...
 
virtual STREAM_POS_t GetLength () const override
 
int Read (void *pData, size_t nDataSize)
 
void Write (const void *pData, size_t nDataSize)
 
cStringF get_FilePath () const
 
cStringF get_FileTitleX () const
 
cStringF get_FileExt () const
 
bool IsFileExt (const FILECHAR_t *pszExt) const
 
OF_FLAGS_t get_Mode () const noexcept
 
OF_FLAGS_t get_ModeFlags () const noexcept
 
bool isModeWrite () const noexcept
 
bool isModeRead () const noexcept
 
HANDLE DetachFileHandle ()
 
HRESULT OpenWait (cStringF sFilePath="", OF_FLAGS_t nOpenFlags=OF_READ|OF_SHARE_DENY_NONE, TIMESYSD_t nWaitTime=100)
 
HRESULT OpenCreate (cStringF sFilePath="", OF_FLAGS_t nOpenFlags=OF_CREATE|OF_WRITE, _SECURITY_ATTRIBUTES *pSa=nullptr)
 
bool SetFileTime (const cTimeFile *lpCreationTime, const cTimeFile *lpAccessTime, const cTimeFile *lpLastWriteTime)
 
bool SetFileTime (cTimeInt timeCreation, cTimeInt timeLastWrite)
 
HRESULT GetFileStatus (OUT cFileStatus &attr) const
 
- Public Member Functions inherited from Gray::CFile
virtual ~CFile ()
 
virtual void SetLength (STREAM_SEEKRET_t dwNewLen)
 
HRESULT Write (const void *pData, size_t nDataSize)
 
HRESULT Read (void *pData, size_t nDataSize)
 
- Public Member Functions inherited from Gray::CObject
virtual ~CObject ()
 
virtual void AssertValid () const
 < memory allocation and structure definitions are valid. More...
 
virtual void Serialize (cArchive &a)
 
- Public Member Functions inherited from Gray::cStream
void SeekToBegin ()
 
STREAM_POS_t SeekToEnd ()
 
- Public Member Functions inherited from Gray::cStreamInput
 cStreamInput () noexcept
 
virtual ~cStreamInput ()
 
virtual size_t SetSeekSizeMin (size_t nSizeMin=k_FILE_BLOCK_SIZE)
 
virtual HRESULT ReadX (OUT void *pData, size_t nDataSize)
 
HRESULT ReadAll (OUT cHeapBlock &block, size_t nSizeExtra=0)
 
virtual HRESULT ReadStringLine (OUT char *pszBuffer, StrLen_t iSizeMax)
 
virtual HRESULT ReadStringLine (OUT wchar_t *pszBuffer, StrLen_t iSizeMax)
 
HRESULT ReadT (OUT void *pVal, size_t nSize)
 
template<typename TYPE >
HRESULT ReadT (OUT TYPE &val)
 
template<typename TYPE >
HRESULT ReadTN (OUT TYPE &val)
 
HRESULT ReadSize (OUT size_t &nSize)
 
template<typename TYPE >
HRESULT ReadSizeT (OUT TYPE &n)
 
HRESULT ReadHashCode (OUT UINT32 &nHashCode)
 
HRESULT ReadHashCode (OUT UINT64 &nHashCode)
 
HRESULT ReadN (OUT BYTE *pBuffer, size_t nSizeMax)
 
template<typename _CH >
HRESULT ReadStringN (OUT _CH *pszStr, StrLen_t iSizeMax)
 
virtual HRESULT ReadPeek (void *pData, size_t nDataSize)
 
- Public Member Functions inherited from Gray::cStreamBase
virtual ~cStreamBase ()
 
void SeekToBegin ()
 
STREAM_POS_t SeekToEnd ()
 
- Public Member Functions inherited from Gray::cStreamOutput
 cStreamOutput () noexcept
 
virtual ~cStreamOutput ()
 
HRESULT WriteT (const void *pVal, size_t nDataSize)
 
template<typename TYPE >
HRESULT WriteT (TYPE val)
 
HRESULT WriteSize (size_t nSize)
 
HRESULT WriteHashCode (HASHCODE_t nHashCode)
 
HRESULT WriteN (const void *pBuffer, size_t nSize)
 
template<typename _CH >
HRESULT WriteStringN (const _CH *pszStr)
 
template<typename _CH >
HRESULT WriteCharRepeat (_CH nChar, int nCount=1)
 
StrLen_t VPrintf (const char *pszFormat, va_list args)
 
StrLen_t VPrintf (const wchar_t *pszFormat, va_list args)
 
StrLen_t _cdecl Printf (const char *pszFormat,...)
 
StrLen_t _cdecl Printf (const wchar_t *pszFormat,...)
 
HRESULT WriteStream (cStreamInput &sInp, STREAM_POS_t nSizeMax=k_FILE_BLOCK_SIZE, IStreamProgressCallback *pProgress=nullptr, TIMESYSD_t nTimeout=0)
 Copy cStreamInput to this stream. More...
 

Protected Attributes

FILE * m_pStream
 the current open script/text type file. named as MFC CStdioFile. More...
 
- Protected Attributes inherited from Gray::cFile
OF_FLAGS_t m_nOpenFlags
 MMSYSTEM uses high bits of 32 bit flags. OF_FLAGS_TYPE_ OF_READ etc. More...
 
- Protected Attributes inherited from Gray::CFile
cStringF m_strFileName
 store a copy of the full file path. MFC defined name. More...
 

Friends

class cFileTextTests
 

Additional Inherited Members

- Static Public Member Functions inherited from Gray::cFile
static HRESULT __stdcall DeletePath (const FILECHAR_t *pszFileName)
 
static HRESULT __stdcall DeletePathX (const FILECHAR_t *pszFilePath, DWORD nFileFlags=0)
 
static HRESULT __stdcall LoadFile (const FILECHAR_t *pszFilePath, OUT cHeapBlock &block, size_t nSizeExtra=0)
 
- Public Attributes inherited from Gray::CFile
cOSHandle m_hFile
 OSHandle for the open file. More...
 
- Static Public Attributes inherited from Gray::cStreamBase
static const BYTE k_SIZE_MASK = 0x80
 Used for WriteSize() More...
 
static const size_t k_FILE_BLOCK_SIZE = (32 * 1024)
 default arbitrary transfer block size. more than this is NOT more efficient. More...
 
- Protected Member Functions inherited from Gray::cFile
HRESULT OpenSetup (cStringF sFilePath, OF_FLAGS_t uModeFlags)
 
- Protected Member Functions inherited from Gray::CFile
bool isFileOpen () const noexcept
 
HRESULT OpenCreate (cStringF sFilePath="", OF_FLAGS_t nOpenFlags=OF_CREATE|OF_WRITE, _SECURITY_ATTRIBUTES *pSa=nullptr)
 
- Static Protected Attributes inherited from Gray::cFile
static ITERATE_t sm_iFilesOpen = 0
 global count of all open files for this process. More...
 

Detailed Description

A text file with special processing for detecting and converting text "\r\n" chars like MFC CStdioFile. Compatible with C standard FILE,stdin,stdout,stderr. use OF_TEXT_A or OF_TEXT_W for format ??

Constructor & Destructor Documentation

◆ cFileText() [1/2]

Gray::cFileText::cFileText ( )

◆ cFileText() [2/2]

Gray::cFileText::cFileText ( cStringF  sFilePath,
OF_FLAGS_t  nOpenFlags 
)

◆ ~cFileText()

virtual Gray::cFileText::~cFileText ( )
virtual

Member Function Documentation

◆ Close()

virtual void Gray::cFileText::Close ( void  )
overridevirtual

Reimplemented from Gray::cFile.

◆ DetachFileStream()

FILE* Gray::cFileText::DetachFileStream ( )
inline

◆ FlushX()

virtual HRESULT Gray::cFileText::FlushX ( )
overridevirtual

Reimplemented from Gray::cFile.

◆ get_CurrentLineNumber()

ITERATE_t Gray::cFileText::get_CurrentLineNumber ( ) const
inlinenoexcept

◆ get_FileStream()

FILE* Gray::cFileText::get_FileStream ( ) const
inlinenoexcept

◆ get_TextPos()

cTextPos Gray::cFileText::get_TextPos ( ) const
inline

◆ GetPosition()

virtual STREAM_POS_t Gray::cFileText::GetPosition ( ) const
overridevirtual

Reimplemented from Gray::cFile.

◆ GetStreamError()

HRESULT Gray::cFileText::GetStreamError ( ) const

◆ isEOF()

bool Gray::cFileText::isEOF ( ) const

◆ isFileOpen()

virtual bool Gray::cFileText::isFileOpen ( ) const
inlineoverridevirtual

Reimplemented from Gray::cFile.

◆ OpenFileHandle()

HRESULT Gray::cFileText::OpenFileHandle ( HANDLE  h,
OF_FLAGS_t  nOpenFlags 
)

◆ OpenX()

virtual HRESULT Gray::cFileText::OpenX ( cStringF  sFilePath = "",
OF_FLAGS_t  nOpenFlags = OF_READ|OF_SHARE_DENY_NONE 
)
overridevirtual

Reimplemented from Gray::cFile.

Reimplemented in GrayLib::cScriptFileReader.

◆ put_TextPos()

bool Gray::cFileText::put_TextPos ( const cTextPos rPos)

◆ ReadString()

BOOL Gray::cFileText::ReadString ( CString rString)
inline

◆ ReadStringLine() [1/2]

virtual HRESULT Gray::cFileText::ReadStringLine ( char *  pBuffer,
StrLen_t  nSizeMax 
)
overridevirtual

◆ ReadStringLine() [2/2]

virtual HRESULT Gray::cFileText::ReadStringLine ( wchar_t *  pszBuffer,
StrLen_t  iSizeMax 
)
inlineoverridevirtual

◆ ReadStringLineA()

HRESULT Gray::cFileText::ReadStringLineA ( cStringA r)

◆ ReadX()

virtual HRESULT Gray::cFileText::ReadX ( void *  pBuffer,
size_t  nSizeMax 
)
overridevirtual

Reimplemented from Gray::cFile.

◆ Seek()

virtual STREAM_SEEKRET_t Gray::cFileText::Seek ( STREAM_OFFSET_t  offset = 0,
SEEK_ORIGIN_TYPE  eSeekOrigin = SEEK_Set 
)
overridevirtual

Reimplemented from Gray::cFile.

◆ WriteString() [1/2]

virtual HRESULT Gray::cFileText::WriteString ( const char *  pszStr)
overridevirtual

Reimplemented from Gray::cStreamOutput.

◆ WriteString() [2/2]

virtual HRESULT Gray::cFileText::WriteString ( const wchar_t *  pszStr)
inlineoverridevirtual

Reimplemented from Gray::cStreamOutput.

◆ WriteX()

virtual HRESULT Gray::cFileText::WriteX ( const void *  pData,
size_t  nDataSize 
)
overridevirtual

Reimplemented from Gray::cFile.

Friends And Related Function Documentation

◆ cFileTextTests

friend class cFileTextTests
friend

Member Data Documentation

◆ m_pStream

FILE* Gray::cFileText::m_pStream
protected

the current open script/text type file. named as MFC CStdioFile.


The documentation for this class was generated from the following file: