CPGFFileStream Class Reference

File stream class. More...

#include <PGFstream.h>

Inheritance diagram for CPGFFileStream:
CPGFStream

List of all members.

Public Member Functions

 CPGFFileStream ()
 CPGFFileStream (HANDLE hFile)
HANDLE GetHandle ()
virtual ~CPGFFileStream ()
virtual void Write (int *count, void *buffer) THROW_
virtual void Read (int *count, void *buffer) THROW_
virtual void SetPos (short posMode, INT64 posOff) THROW_
virtual UINT64 GetPos () const THROW_
virtual bool IsValid () const

Protected Attributes

HANDLE m_hFile
 file handle

Detailed Description

File stream class.

A PGF stream subclass for external storage files.

Author:
C. Stamm

Definition at line 82 of file PGFstream.h.


Constructor & Destructor Documentation

CPGFFileStream::CPGFFileStream (  )  [inline]

Definition at line 87 of file PGFstream.h.

00087 : m_hFile(0) {}

CPGFFileStream::CPGFFileStream ( HANDLE  hFile  )  [inline]

Constructor

Parameters:
hFile File handle

Definition at line 90 of file PGFstream.h.

00090 : m_hFile(hFile) {}

virtual CPGFFileStream::~CPGFFileStream (  )  [inline, virtual]

Definition at line 94 of file PGFstream.h.

00094 { m_hFile = 0; }


Member Function Documentation

HANDLE CPGFFileStream::GetHandle (  )  [inline]
Returns:
File handle

Definition at line 92 of file PGFstream.h.

00092 { return m_hFile; }

UINT64 CPGFFileStream::GetPos (  )  const [virtual]

Get current stream position.

Returns:
Current stream position

Implements CPGFStream.

Definition at line 64 of file PGFstream.cpp.

00064                                            {
00065         ASSERT(IsValid());
00066         OSError err;
00067         UINT64 pos = 0;
00068         if ((err = GetFPos(m_hFile, &pos)) != NoError) ReturnWithError2(err, pos);
00069         return pos;
00070 }

virtual bool CPGFFileStream::IsValid (  )  const [inline, virtual]

Check stream validity.

Returns:
True if stream and current position is valid

Implements CPGFStream.

Definition at line 99 of file PGFstream.h.

00099 { return m_hFile != 0; }

void CPGFFileStream::Read ( int *  count,
void *  buffer 
) [virtual]

Read some bytes from this stream and stores them into a buffer.

Parameters:
count A pointer to a value containing the number of bytes should be read. After this call it contains the number of read bytes.
buffer A memory buffer

Implements CPGFStream.

Definition at line 48 of file PGFstream.cpp.

00048                                                           {
00049         ASSERT(count);
00050         ASSERT(buffPtr);
00051         ASSERT(IsValid());
00052         OSError err;
00053         if ((err = FileRead(m_hFile, count, buffPtr)) != NoError) ReturnWithError(err);
00054 }

void CPGFFileStream::SetPos ( short  posMode,
INT64  posOff 
) [virtual]

Set stream position either absolute or relative.

Parameters:
posMode A position mode (FSFromStart, FSFromCurrent, FSFromEnd)
posOff A new stream position (absolute positioning) or a position offset (relative positioning)

Implements CPGFStream.

Definition at line 57 of file PGFstream.cpp.

00057                                                               {
00058         ASSERT(IsValid());
00059         OSError err;
00060         if ((err = SetFPos(m_hFile, posMode, posOff)) != NoError) ReturnWithError(err);
00061 }

void CPGFFileStream::Write ( int *  count,
void *  buffer 
) [virtual]

Write some bytes out of a buffer into this stream.

Parameters:
count A pointer to a value containing the number of bytes should be written. After this call it contains the number of written bytes.
buffer A memory buffer

Implements CPGFStream.

Definition at line 38 of file PGFstream.cpp.

00038                                                            {
00039         ASSERT(count);
00040         ASSERT(buffPtr);
00041         ASSERT(IsValid());
00042         OSError err;
00043         if ((err = FileWrite(m_hFile, count, buffPtr)) != NoError) ReturnWithError(err);
00044         
00045 }


Member Data Documentation

HANDLE CPGFFileStream::m_hFile [protected]

file handle

Definition at line 84 of file PGFstream.h.


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

Generated on 18 Feb 2019 for libpgf by  doxygen 1.6.1