libdodo: dodo::io::channel Class Reference

dodo::io::channel Class Reference

implements an interface for I/O operations More...

#include <ioChannel.h>

Inheritance diagram for dodo::io::channel:
Collaboration diagram for dodo::io::channel:

List of all members.

Classes

class  __collected_data__
 defines data that could be retrieved from io::channel(to modificate) More...

Public Types

enum  protectionEnum { PROTECTION_NONE, PROTECTION_THREAD, PROTECTION_PROCESS }
 

defines type of protection for io objects in IO interaction in parallel environment

More...
enum  operationEnum { OPERATION_READ, OPERATION_READSTRING, OPERATION_WRITE, OPERATION_WRITESTRING }
 

describes type of operation for xexec

More...

Public Member Functions

virtual dodoString read () const =0
virtual unsigned long write (const dodoString &data) const =0
virtual dodoString readString () const =0
 read null- or newline- terminated string
virtual unsigned long writeString (const dodoString &data) const =0
 write null- terminated string
virtual void flush () const =0
 flush output

Public Attributes

unsigned long bs
 size of data block for read/write operations

Protected Member Functions

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

Protected Attributes

pc::sync::protectorkeeper
 section locker
short protection
 type of IO protection,
__collected_data__ collectedData
 data collected for xexec

Detailed Description

implements an interface for I/O operations

Definition at line 59 of file ioChannel.h.


Member Enumeration Documentation

describes type of operation for xexec

Enumerator:
OPERATION_READ 
OPERATION_READSTRING 
OPERATION_WRITE 
OPERATION_WRITESTRING 

Reimplemented in dodo::io::file::fifo, dodo::io::file::regular, dodo::io::file::temp, dodo::io::network::exchange, and dodo::io::pipe.

Definition at line 96 of file ioChannel.h.

00096                                {
00097                 OPERATION_READ,
00098                 OPERATION_READSTRING,
00099                 OPERATION_WRITE,
00100                 OPERATION_WRITESTRING,
00101             };

defines type of protection for io objects in IO interaction in parallel environment

Enumerator:
PROTECTION_NONE 
PROTECTION_THREAD 
PROTECTION_PROCESS 

Definition at line 87 of file ioChannel.h.

00087                                 {
00088                 PROTECTION_NONE,
00089                 PROTECTION_THREAD,
00090                 PROTECTION_PROCESS
00091             };


Member Function Documentation

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

Implemented in dodo::io::file::fifo, dodo::io::file::regular, dodo::io::memory, dodo::io::network::exchange, dodo::io::network::ssl::exchange, and dodo::io::pipe.

virtual unsigned long dodo::io::channel::_readString ( char *const   data  )  const [protected, pure 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)

Implemented in dodo::io::file::fifo, dodo::io::file::regular, dodo::io::memory, dodo::io::network::exchange, dodo::io::network::ssl::exchange, and dodo::io::pipe.

virtual unsigned long dodo::io::channel::_write ( const char *const   data  )  const [protected, pure virtual]
Returns:
amount in bytes of successfully written data
Parameters:
data defines data that will be written
Note:
not more then bs(including null)

Implemented in dodo::io::file::fifo, dodo::io::file::regular, dodo::io::memory, dodo::io::network::exchange, dodo::io::network::ssl::exchange, and dodo::io::pipe.

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

write null- terminated string

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

Implemented in dodo::io::file::fifo, dodo::io::file::regular, dodo::io::memory, dodo::io::network::exchange, dodo::io::pipe, and dodo::io::stdio.

virtual void dodo::io::channel::flush (  )  const [pure virtual]
virtual dodoString dodo::io::channel::read (  )  const [pure virtual]
Returns:
read data
Note:
not more then bs

Implemented in dodo::io::block::channel, and dodo::io::stream::channel.

virtual dodoString dodo::io::channel::readString (  )  const [pure virtual]

read null- or newline- terminated string

Returns:
read data
Note:
not more then bs

Implemented in dodo::io::block::channel, and dodo::io::stream::channel.

virtual unsigned long dodo::io::channel::write ( const dodoString &  data  )  const [pure virtual]
Returns:
amount in bytes of successfully written data
Parameters:
data defines data that will be written
Note:
not more then bs

Implemented in dodo::io::block::channel, and dodo::io::stream::channel.

virtual unsigned long dodo::io::channel::writeString ( const dodoString &  data  )  const [pure virtual]

write null- terminated string

Returns:
amount in bytes of successfully written data
Parameters:
data defines data that will be written
Note:
not more then bs

Implemented in dodo::io::block::channel, and dodo::io::stream::channel.


Member Data Documentation

unsigned long dodo::io::channel::bs [mutable]

size of data block for read/write operations

Definition at line 156 of file ioChannel.h.

data collected for xexec

Definition at line 194 of file ioChannel.h.

section locker

Definition at line 190 of file ioChannel.h.

short dodo::io::channel::protection [protected]

type of IO protection,

See also:
io::channel::protectionEnum

Definition at line 191 of file ioChannel.h.


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

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