Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXIO Class Reference

FXIO manipulates a handle to an abstract i/o device. More...

#include <FXIO.h>

Inheritance diagram for FX::FXIO:

FX::FXFile FX::FXPipe FX::FXSocket FX::FXMemMap

List of all members.

Public Types

enum  {
  OtherRead = 0x00004,
  OtherWrite = 0x00002,
  OtherExec = 0x00001,
  OtherReadWrite = OtherRead|OtherWrite,
  OtherFull = OtherReadWrite|OtherExec,
  GroupRead = 0x00020,
  GroupWrite = 0x00010,
  GroupExec = 0x00008,
  GroupReadWrite = GroupRead|GroupWrite,
  GroupFull = GroupReadWrite|GroupExec,
  OwnerRead = 0x00100,
  OwnerWrite = 0x00080,
  OwnerExec = 0x00040,
  OwnerReadWrite = OwnerRead|OwnerWrite,
  OwnerFull = OwnerReadWrite|OwnerExec,
  AllRead = OtherRead|GroupRead|OwnerRead,
  AllWrite = OtherWrite|GroupWrite|OwnerWrite,
  AllExec = OtherExec|GroupExec|OwnerExec,
  AllReadWrite = AllRead|AllWrite,
  AllFull = AllReadWrite|AllExec,
  Hidden = 0x00200,
  Directory = 0x00400,
  File = 0x00800,
  SymLink = 0x01000,
  SetUser = 0x02000,
  SetGroup = 0x04000,
  Sticky = 0x08000,
  Character = 0x10000,
  Block = 0x20000,
  Socket = 0x40000,
  Fifo = 0x80000
}
enum  {
  NoAccess = 0,
  ReadOnly = 1,
  WriteOnly = 2,
  ReadWrite = ReadOnly|WriteOnly,
  Append = 4,
  Truncate = 8,
  Create = 16,
  Exclusive = 32,
  NonBlocking = 64,
  Executable = 128,
  OwnHandle = 256,
  NoAccessTime = 512,
  Reading = ReadOnly,
  Writing = ReadWrite|Create|Truncate
}
enum  {
  Begin = 0,
  Current = 1,
  End = 2
}

Public Member Functions

 FXIO ()
virtual FXbool open (FXInputHandle h, FXuint m)
FXbool isReadable () const
FXbool isWritable () const
FXuint mode () const
FXInputHandle handle () const
virtual FXbool isOpen () const
virtual FXbool isSerial () const
virtual void attach (FXInputHandle h, FXuint m)
virtual void detach ()
virtual FXlong position () const
virtual FXlong position (FXlong offset, FXuint from=FXIO::Begin)
virtual FXival readBlock (void *data, FXival count)
virtual FXival writeBlock (const void *data, FXival count)
virtual FXlong truncate (FXlong size)
virtual FXbool flush ()
virtual FXbool eof ()
virtual FXlong size ()
virtual FXbool close ()
virtual ~FXIO ()


Detailed Description

FXIO manipulates a handle to an abstract i/o device.

The various subclasses of FXIO perform i/o on files, sockets, pipes, and possibly other devices.


Member Enumeration Documentation

anonymous enum

File modes.

Enumerator:
OtherRead  Permissions.

Others have read permission

OtherWrite  Others have write permisson.
OtherExec  Others have execute permission.
OtherReadWrite  Others have read and write permission.
OtherFull  Others have full access.
GroupRead  Group has read permission.
GroupWrite  Group has write permission.
GroupExec  Group has execute permission.
GroupReadWrite  Group has read and write permission.
GroupFull  Group has full access.
OwnerRead  Owner has read permission.
OwnerWrite  Owner has write permission.
OwnerExec  Owner has execute permission.
OwnerReadWrite  Owner has read and write permission.
OwnerFull  Owner has full access.
AllRead  Read permission for all.
AllWrite  Write permisson for all.
AllExec  Execute permission for all.
AllReadWrite  Read and write permission for all.
AllFull  Full access for all.

Other flags

Hidden  Hidden file.
Directory  Is directory.
File  Is regular file.
SymLink  Is symbolic link.

Special mode bits

SetUser  Set user id.
SetGroup  Set group id.
Sticky  Sticky bit.

Device special files

Character  Character device.
Block  Block device.
Socket  Socket device.
Fifo  Fifo device.

anonymous enum

Access modes.

Enumerator:
NoAccess  Basic access options.

No access

ReadOnly  Open for reading.
WriteOnly  Open for writing.
ReadWrite  Open for both read and write.
Append  Open for append.
Truncate  Truncate to zero when writing.
Create  Create if it doesn't exist.
Exclusive  Fail if trying to create a file which already exists.
NonBlocking  Non-blocking i/o.
Executable  Executable (memory map).
OwnHandle  File handle is ours.
NoAccessTime  Don't change access time of file.

Convenience access options

Reading  Normal options for reading.
Writing  Normal options for writing.

anonymous enum

Positioning modes.

Enumerator:
Begin  Position from the begin (default).
Current  Position relative to current position.
End  Position from the end.


Constructor & Destructor Documentation

FX::FXIO::FXIO (  ) 

Construct.

virtual FX::FXIO::~FXIO (  )  [virtual]

Destroy and close.


Member Function Documentation

virtual FXbool FX::FXIO::open ( FXInputHandle  h,
FXuint  m 
) [virtual]

Open device with access mode m and handle h.

Reimplemented in FX::FXFile, FX::FXPipe, and FX::FXSocket.

FXbool FX::FXIO::isReadable (  )  const

Is readable.

FXbool FX::FXIO::isWritable (  )  const

Is writable.

FXuint FX::FXIO::mode (  )  const [inline]

Return access mode.

FXInputHandle FX::FXIO::handle (  )  const [inline]

Return handle.

virtual FXbool FX::FXIO::isOpen (  )  const [virtual]

Return true if open.

virtual FXbool FX::FXIO::isSerial (  )  const [virtual]

Return true if serial access only.

Reimplemented in FX::FXFile.

virtual void FX::FXIO::attach ( FXInputHandle  h,
FXuint  m 
) [virtual]

Attach existing device handle, taking ownership of the handle.

virtual void FX::FXIO::detach (  )  [virtual]

Detach device handle, disowning the handle.

virtual FXlong FX::FXIO::position (  )  const [virtual]

Get current file position.

Reimplemented in FX::FXFile, and FX::FXMemMap.

virtual FXlong FX::FXIO::position ( FXlong  offset,
FXuint  from = FXIO::Begin 
) [virtual]

Change file position, returning new position from start.

Reimplemented in FX::FXFile, and FX::FXMemMap.

virtual FXival FX::FXIO::readBlock ( void *  data,
FXival  count 
) [virtual]

Read block of bytes, returning number of bytes read.

Reimplemented in FX::FXFile, FX::FXMemMap, FX::FXPipe, and FX::FXSocket.

virtual FXival FX::FXIO::writeBlock ( const void *  data,
FXival  count 
) [virtual]

Write block of bytes, returning number of bytes written.

Reimplemented in FX::FXFile, FX::FXMemMap, FX::FXPipe, and FX::FXSocket.

virtual FXlong FX::FXIO::truncate ( FXlong  size  )  [virtual]

Truncate file.

Reimplemented in FX::FXFile.

virtual FXbool FX::FXIO::flush (  )  [virtual]

Flush to disk.

Reimplemented in FX::FXFile, and FX::FXMemMap.

virtual FXbool FX::FXIO::eof (  )  [virtual]

Test if we're at the end.

Reimplemented in FX::FXFile.

virtual FXlong FX::FXIO::size (  )  [virtual]

Return size of i/o device.

Reimplemented in FX::FXFile.

virtual FXbool FX::FXIO::close (  )  [virtual]

Close handle.

Reimplemented in FX::FXFile, FX::FXMemMap, FX::FXPipe, and FX::FXSocket.

Copyright © 1997-2009 Jeroen van der Zijp