libdodo: dodo::io::file::fifo Class Reference

dodo::io::file::fifo Class Reference

provides I/O manipulations with fifo files More...

#include <ioFileFifo.h>

Inheritance diagram for dodo::io::file::fifo:
Collaboration diagram for dodo::io::file::fifo:

List of all members.

Public Types

enum  operationEnum { OPERATION_OPEN = 128, OPERATION_CLOSE }
 

defines type of operation for xexec

More...
enum  openModeEnum { OPEN_MODE_READ, OPEN_MODE_READ_OPENNONBLOCK, OPEN_MODE_WRITE }
 

defines modes to open file

More...

Public Member Functions

 fifo (short protection=channel::PROTECTION_PROCESS)
 constructor
 fifo (const dodoString &path, short mode, short protection=channel::PROTECTION_PROCESS)
 constructor
 fifo (const fifo &fd)
 copy constructor
virtual ~fifo ()
 destructor
void clone (const fifo &fd)
 clone file object
virtual void open (const dodoString &path, short mode)
 open file
virtual void close ()
 close file
virtual void flush () const
 flush output
virtual bool isBlocked ()
virtual void block (bool flag)
 blocks/unblocks stream

Protected Member Functions

virtual int inDescriptor () const
virtual int outDescriptor () const
virtual unsigned long _read (char *const data) const
virtual unsigned long _readString (char *const data) const
 read null- or newline- terminated string
virtual unsigned long _write (const char *const data) const
virtual unsigned long _writeString (const char *const data) const
 write null- terminated string

Detailed Description

provides I/O manipulations with fifo files

Definition at line 48 of file ioFileFifo.h.


Member Enumeration Documentation

defines modes to open file

Enumerator:
OPEN_MODE_READ 

normaly blocks until some other process opens the same FIFO for writing

OPEN_MODE_READ_OPENNONBLOCK 

normaly does't block until some other process opens the same FIFO for writing, further I/O is in blocked mode

OPEN_MODE_WRITE 

normaly blocks until some other process opens the same FIFO for reading

Definition at line 64 of file ioFileFifo.h.

00064                                   {
00065                     OPEN_MODE_READ,
00066                     OPEN_MODE_READ_OPENNONBLOCK,
00067                     OPEN_MODE_WRITE,
00068                 };

defines type of operation for xexec

Enumerator:
OPERATION_OPEN 
OPERATION_CLOSE 

Reimplemented from dodo::io::channel.

Definition at line 55 of file ioFileFifo.h.

00055                                    {
00056                     OPERATION_OPEN = 128,
00057                     OPERATION_CLOSE
00058                 };


Constructor & Destructor Documentation

dodo::io::file::fifo::fifo ( short  protection = channel::PROTECTION_PROCESS  ) 

constructor

Parameters:
protection defines type of IO protection,
See also:
io::channel::protectionEnum
dodo::io::file::fifo::fifo ( const dodoString &  path,
short  mode,
short  protection = channel::PROTECTION_PROCESS 
)

constructor

Parameters:
path defines path to the file
mode defines mode to open file,
See also:
file::fifo::openModeEnum
Parameters:
protection defines type of IO protection,
See also:
io::channel::protectionEnum
dodo::io::file::fifo::fifo ( const fifo fd  ) 

copy constructor

Note:
xexec object is not copied
virtual dodo::io::file::fifo::~fifo (  )  [virtual]

destructor


Member Function Documentation

virtual unsigned long dodo::io::file::fifo::_read ( char *const   data  )  const [protected, virtual]
Returns:
amount in bytes of successfully read data
Parameters:
data defines buffer that will be filled
Note:
not more then bs(including null)

Implements dodo::io::channel.

virtual unsigned long dodo::io::file::fifo::_readString ( char *const   data  )  const [protected, virtual]

read null- or newline- terminated string

Returns:
amount in bytes of successfully read data
Parameters:
data defines buffer that will be filled
Note:
not more then bs(including null)

Implements dodo::io::channel.

virtual unsigned long dodo::io::file::fifo::_write ( const char *const   data  )  const [protected, virtual]
Returns:
amount in bytes of successfully written data
Parameters:
data defines data that will be written

Implements dodo::io::channel.

virtual unsigned long dodo::io::file::fifo::_writeString ( const char *const   data  )  const [protected, virtual]

write null- terminated string

Returns:
amount in bytes of successfully written data
Parameters:
data defines data that will be written
Note:
puts extra newline- to the end of the string

Implements dodo::io::channel.

virtual void dodo::io::file::fifo::block ( bool  flag  )  [virtual]

blocks/unblocks stream

Parameters:
flag indicates whether to block or unblock stream
void dodo::io::file::fifo::clone ( const fifo fd  ) 

clone file object

Parameters:
fd defines object to clone
Note:
xexec object is not copied
virtual void dodo::io::file::fifo::close (  )  [virtual]

close file

virtual void dodo::io::file::fifo::flush (  )  const [virtual]

flush output

Implements dodo::io::channel.

virtual int dodo::io::file::fifo::inDescriptor (  )  const [protected, virtual]
Returns:
descriptor of the input stream

Implements dodo::io::event::descriptor.

virtual bool dodo::io::file::fifo::isBlocked (  )  [virtual]
Returns:
true if stream is blocked
virtual void dodo::io::file::fifo::open ( const dodoString &  path,
short  mode 
) [virtual]

open file

Parameters:
path defines path to the file
mode defines mode to open file,
See also:
file::fifo::openModeEnum
virtual int dodo::io::file::fifo::outDescriptor (  )  const [protected, virtual]
Returns:
descriptor of the output stream

Implements dodo::io::event::descriptor.


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

Generated on Sun Nov 8 03:44:53 2009 for libdodo by  doxygen 1.6.1