Elm  2
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
UnixInStream Class Reference

#include <elm/io/UnixInStream.h>

+ Inheritance diagram for UnixInStream:

Public Member Functions

 UnixInStream (int fd)
 
int fd (void) const
 
virtual int read (void *buffer, int size)
 
virtual int read (void)
 
virtual CString lastErrorMessage (void)
 
- Public Member Functions inherited from InStream
virtual ~InStream (void)
 

Protected Attributes

int _fd
 

Additional Inherited Members

- Static Public Attributes inherited from InStream
static const int FAILED = -1
 
static const int ENDED = -2
 
static InStreamnull = _null
 

Detailed Description

Input stream implementation using the Unix low-level IO system.

Constructor & Destructor Documentation

◆ UnixInStream()

UnixInStream ( int  fd)
inline

Build a new Unix input stream with the given file descriptor.

Parameters
fdFile descriptor to use.

Member Function Documentation

◆ fd()

int fd ( void  ) const
inline

Get the file descriptor of this Unix file stream.

Returns
File descriptor.

References UnixInStream::_fd.

◆ lastErrorMessage()

CString lastErrorMessage ( void  )
virtual

Return a message for the last error.

Returns
Message of the last error.

Reimplemented from InStream.

◆ read() [1/2]

int read ( void buffer,
int  size 
)
virtual

Read some bytes from the stream and store them in the given buffer. This method does not ever read as many bytes as available in the buffer even if the stream is not ended. Insteadn a read returning 0 bytes means the end of stream is reached.

Parameters
bufferBuffer to write bytes in.
sizeSize of the buffer.
Returns
Number of read bytes, 0 for end of stream, -1 for an error.

Implements InStream.

References UnixInStream::_fd, and elm::io::read().

◆ read() [2/2]

virtual int read ( void  )
inlinevirtual

Read one byte from the stream.

Returns
Read byte, FAILED for an error, ENDED for end of stream.

Reimplemented from InStream.

References InStream::read().

Member Data Documentation

◆ _fd

int _fd
protected

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