TekFileBinary Class Reference

Inheritance diagram for TekFileBinary:

Inheritance graph
[legend]
Collaboration diagram for TekFileBinary:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TekFileBinary ()
 ~TekFileBinary ()
TEKERR ConvertToPipe ()
virtual TEKERR Close ()
virtual TEKERR Flush ()
virtual TEKERR get_FILE (FILE **FileDescriptor)
virtual TEKERR get_Filename (uchar_t **Name)
virtual TEKERR get_Mode (TekFileMode *ModeID)
virtual TEKERR get_Type (TekFileType *FileTypePointer)
virtual TEKERR Open ()
virtual TEKERR Open64 ()
virtual TEKERR put_FILE (FILE *FileDescriptor)
virtual TEKERR put_Filename (uchar_t *Name)
virtual TEKERR put_Mode (TekFileMode ModeID)
virtual TEKERR Read64 (void *Buffer, uint64_t BytesToRead, uint64_t *BytesRead)
virtual TEKERR Read (void *Buffer, unsigned long BytesToRead, unsigned long *BytesRead)
virtual TEKERR Seek64 (TekFileSeek SeekWhere, int64_t NewLocation)
virtual TEKERR Seek (TekFileSeek SeekWhere, signed long NewLocation)
virtual TEKERR Write64 (void *Buffer, uint64_t BytesToWrite, uint64_t *BytesWrote)
virtual TEKERR Write (void *Buffer, unsigned long BytesToWrite, unsigned long *BytesWrote)
virtual TEKERR get_Location (unsigned long *Location)
virtual TEKERR get_Location64 (uint64_t *Location)

Public Attributes

 TEKSTD_HEADER_VARS

Detailed Description

Contains code for performing I/O on files in the most basic way - binary.

This interface is FINAL.

Author:
Kevin McBride

Definition at line 39 of file tekfilebinary.h.


Constructor & Destructor Documentation

TekFileBinary TekFileBinary  ) 
 

Instantizer.

Definition at line 40 of file TekFileBinary.cpp.

~TekFileBinary  ) 
 

Destructor.

Definition at line 58 of file TekFileBinary.cpp.


Member Function Documentation

TEKERR Close  )  [virtual]
 

Closes the file.

Implements TekFile.

Definition at line 197 of file TekFileBinary.cpp.

TEKERR ConvertToPipe  ) 
 

Changes the file type variable to BinaryPipe.

NOTE: This function should only be called when the contained FILE * is actually a pipe. This is a one-time change of the file type on any instance of BinaryPipe called. Therefore, it is best that this function be called only when passing an instance of TekFileBinary to a library (or to the caller when created in libraries) where you are not sure how the library or callee handles a pipe differently from a regular file.

Definition at line 81 of file TekFileBinary.cpp.

TEKERR Flush  )  [virtual]
 

Flushes the buffer.

Implements TekFile.

Definition at line 251 of file TekFileBinary.cpp.

TEKERR get_FILE FILE **  FileDescriptor  )  [virtual]
 

Obtains the handle used to access the open file.

Implements TekFile.

Definition at line 92 of file TekFileBinary.cpp.

TEKERR get_Filename uchar_t **  Name  )  [virtual]
 

Obtains the filename in the form of a uchar.

Implements TekFile.

Definition at line 110 of file TekFileBinary.cpp.

TEKERR get_Location unsigned long *  Location  )  [virtual]
 

Retrieves the location and stores it in a 32-bit variable.

Implements TekFile.

Definition at line 569 of file TekFileBinary.cpp.

TEKERR get_Location64 uint64_t *  Location  )  [virtual]
 

Retrieves the location and stores it in a 64-bit variable.

Implements TekFile.

Definition at line 605 of file TekFileBinary.cpp.

TEKERR get_Mode TekFileMode *  ModeID  )  [virtual]
 

Retrieves the mode currently set.

Implements TekFile.

Definition at line 233 of file TekFileBinary.cpp.

TEKERR get_Type TekFileType *  FileTypePointer  )  [virtual]
 

Retrieves the filename to access.

Implements TekFile.

Definition at line 175 of file TekFileBinary.cpp.

TEKERR Open  )  [virtual]
 

Open the file.

Implements TekFile.

Definition at line 285 of file TekFileBinary.cpp.

TEKERR Open64  )  [virtual]
 

Open the file using 64 bit semantics.

Implements TekFile.

Definition at line 336 of file TekFileBinary.cpp.

TEKERR put_FILE FILE *  FileDescriptor  )  [virtual]
 

Sets the handle used to access a file.

WARNING!!!!! DO NOT USE THE FILE DESCRIPTOR YOU PASS IN TO THIS FUNCTION UNLESS YOU HAVE RE-RETRIEVED IT USING TekFile::get_FILE()! Utilizing the descriptor in a direct fashion after a successful call to put_FILE() will result in undefined results!!!!!

Implements TekFile.

Definition at line 144 of file TekFileBinary.cpp.

TEKERR put_Filename uchar_t Name  )  [virtual]
 

Sets the filename to access.

Implements TekFile.

Definition at line 157 of file TekFileBinary.cpp.

References _uchar_t::uchar_t_ascii.

TEKERR put_Mode TekFileMode  ModeID  )  [virtual]
 

Sets the mode used to open the file.

Implements TekFile.

Definition at line 393 of file TekFileBinary.cpp.

TEKERR Read void *  Buffer,
unsigned long  BytesToRead,
unsigned long *  BytesRead
[virtual]
 

Read from the file.

Implements TekFile.

Definition at line 421 of file TekFileBinary.cpp.

TEKERR Read64 void *  Buffer,
uint64_t  BytesToRead,
uint64_t *  BytesRead
[virtual]
 

Read from the file using 64 bit semantics.

Implements TekFile.

Definition at line 410 of file TekFileBinary.cpp.

TEKERR Seek TekFileSeek  SeekWhere,
signed long  NewLocation
[virtual]
 

Seek to another position of the file.

Implements TekFile.

Definition at line 474 of file TekFileBinary.cpp.

TEKERR Seek64 TekFileSeek  SeekWhere,
int64_t  NewLocation
[virtual]
 

Seek to another position of the file using 64 bit semantics.

Implements TekFile.

Definition at line 463 of file TekFileBinary.cpp.

TEKERR Write void *  Buffer,
unsigned long  BytesToWrite,
unsigned long *  BytesWrote
[virtual]
 

Write to the file.

Implements TekFile.

Definition at line 521 of file TekFileBinary.cpp.

TEKERR Write64 void *  Buffer,
uint64_t  BytesToWrite,
uint64_t *  BytesWrote
[virtual]
 

Write to the file using 64 bit semantics.

Implements TekFile.

Definition at line 510 of file TekFileBinary.cpp.


Member Data Documentation

TEKSTD_HEADER_VARS
 

This macro contains the generic implementation for TekStd.
It is much easier to use as opposed to creating the
implementation by hand.

Reimplemented from TekFile.

Definition at line 74 of file tekfilebinary.h.


The documentation for this class was generated from the following files: SourceForge.net Logo  Technical Library Template Interface Project Page