Base Framework
Public Member Functions | List of all members
FileDescriptorInputStream Class Reference

File descriptor input stream. More...

#include <base/io/FileDescriptorInputStream.h>

Inherits InputStream, and FileDescriptor.

Public Member Functions

 FileDescriptorInputStream () noexcept
 
 FileDescriptorInputStream (const FileDescriptor &fd) noexcept
 
 FileDescriptorInputStream (const FileDescriptorInputStream &copy) noexcept
 
FileDescriptorInputStreamoperator= (const FileDescriptorInputStream &assign) noexcept
 
void close ()
 
bool atEnd () const
 
unsigned int available () const
 
unsigned int read (uint8 *buffer, unsigned int size, bool nonblocking=false)
 
unsigned int skip (unsigned int count)
 
void setNonBlocking (bool value)
 
void wait () const
 
bool wait (unsigned int timeout) const
 
 ~FileDescriptorInputStream ()
 
- Public Member Functions inherited from Stream
virtual ~Stream () noexcept(false)
 
- Public Member Functions inherited from ReferenceCountedObject
 ReferenceCountedObject () noexcept
 
 ReferenceCountedObject (const ReferenceCountedObject &copy) noexcept
 
 ReferenceCountedObject (ReferenceCountedObject &&move) noexcept
 
ReferenceCountedObjectoperator= (const ReferenceCountedObject &copy) noexcept
 
ReferenceCountedObjectoperator= (ReferenceCountedObject &&move) noexcept
 
MemorySize getNumberOfReferences_INTERNAL () const noexcept
 
virtual bool useGarbageCollector () const noexcept
 
- Public Member Functions inherited from DynamicObject
 DynamicObject () noexcept
 
bool isValidObject () const noexcept
 
virtual ~DynamicObject () noexcept(false)
 
 _COM_AZURE_DEV__BASE__OVERRIDE_ALLOC ()
 
- Public Member Functions inherited from FileDescriptor
 FileDescriptor () noexcept
 
 FileDescriptor (OperatingSystem::Handle handle) noexcept
 
 FileDescriptor (const FileDescriptor &copy) noexcept
 
FileDescriptoroperator= (const FileDescriptor &assign) noexcept
 
bool isANSITerminal () const noexcept
 
bool isTerminal () const noexcept
 
bool isPipe () const noexcept
 
int getFlags () const
 
void setFlags (int flags)
 
OperatingSystem::Handle getHandle () const noexcept
 
bool isValid () const noexcept
 
void setHandle (OperatingSystem::Handle handle) noexcept
 
void setNonBlocking (bool value)
 
 ~FileDescriptor ()
 

Additional Inherited Members

- Static Public Member Functions inherited from FileDescriptor
static FileDescriptor getStandardInput () noexcept
 
static FileDescriptor getStandardOutput () noexcept
 
static FileDescriptor getStandardError () noexcept
 
- Protected Attributes inherited from FileDescriptor
Reference< Handlefd
 

Detailed Description

File descriptor input stream.

Input stream where source is a file descriptor.

Version
1.0

Constructor & Destructor Documentation

◆ FileDescriptorInputStream() [1/3]

FileDescriptorInputStream::FileDescriptorInputStream ( )
noexcept

Initializes file descriptor input stream as invalid.

◆ FileDescriptorInputStream() [2/3]

FileDescriptorInputStream::FileDescriptorInputStream ( const FileDescriptor fd)
noexcept

Initializes file descriptor input stream from a file descriptor.

Parameters
fdThe file descriptor.

◆ FileDescriptorInputStream() [3/3]

FileDescriptorInputStream::FileDescriptorInputStream ( const FileDescriptorInputStream copy)
noexcept

Initializes file descriptor input stream from other file descriptor input stream.

◆ ~FileDescriptorInputStream()

FileDescriptorInputStream::~FileDescriptorInputStream ( )

Releases the file descriptor.

Member Function Documentation

◆ atEnd()

bool FileDescriptorInputStream::atEnd ( ) const
inline

Returns true if the end of the file descriptor has been reached.

◆ available()

unsigned int FileDescriptorInputStream::available ( ) const
virtual

Returns the number of bytes that can be read or skipped over without blocking.

Returns
Available number of bytes in stream.

Implements InputStream.

◆ close()

void FileDescriptorInputStream::close ( )
inlinevirtual

Closes the stream and releases any system resources associated with the stream.

Reimplemented from FileDescriptor.

◆ operator=()

FileDescriptorInputStream& FileDescriptorInputStream::operator= ( const FileDescriptorInputStream assign)
noexcept

Assignment of file descriptor input stream to this file descriptor input stream.

◆ read()

unsigned int FileDescriptorInputStream::read ( uint8 *  buffer,
unsigned int  size,
bool  nonblocking = false 
)
virtual

Fills the buffer with bytes from the stream. Blocks if asked to read more bytes than available.

Parameters
bufferThe buffer.
sizeThe size of the buffer.
Returns
The actual number of bytes read.

Implements InputStream.

◆ setNonBlocking()

void FileDescriptorInputStream::setNonBlocking ( bool  value)

Sets the non-blocking flag of the file descriptor.

◆ skip()

unsigned int FileDescriptorInputStream::skip ( unsigned int  count)
virtual

Skips a specified number of bytes. Blocks if asked to skip more bytes than available.

Parameters
countThe number of bytes to skip.

Implements InputStream.

◆ wait() [1/2]

void FileDescriptorInputStream::wait ( ) const
virtual

Blocking wait for input to become available.

Implements InputStream.

◆ wait() [2/2]

bool FileDescriptorInputStream::wait ( unsigned int  timeout) const
virtual

Blocking wait for input to become available.

Parameters
timeoutThe timeout periode in microseconds.
Returns
True, if data is available. False, if the timeout periode expired.

Implements InputStream.