FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
OMEioDescriptor Class Referenceabstract

Base class for open files and sockets. More...

#include <OMEioObjects.h>

+ Inheritance diagram for OMEioDescriptor:

Public Types

enum  OMEopenMode {
  read =OME_IO_READ, write =OME_IO_WRITE, listen =OME_IO_LISTEN, connect =OME_IO_CONNECT,
  create =OME_IO_CREATE, mustExist =OME_IO_MUST_EXIST, truncate =OME_IO_TRUNCATE, append =OME_IO_APPEND,
  nonblocking =OME_IO_NONBLOCKING, datagram =OME_IO_DATAGRAM, raw =OME_IO_RAW, multicast =OME_IO_MULTICAST
}
 

Public Member Functions

 OMEioDescriptor (uint64_t handle, OMEioEvent::OMEfileType type)
 
virtual ~OMEioDescriptor ()
 
uint64_t getSelectHandle () const OME_ALWAYS_INLINE
 
virtual int readBytes (unsigned char *bfr, size_t bytes, size_t *actualBytes, int *errRet)=0
 
virtual int writeBytes (const unsigned char *bfr, size_t bytes, size_t *actualBytes, int *errRet)=0
 
virtual int writeVectorOfBytes (const OMEioVector *v, uint_fast16_t elementCount, size_t *actualBytes, int *errRet, size_t skipBytes=0)
 
virtual OMEeventselectForRead (OMEeventCallbackFP func, OMEthread *t=nullptr)=0
 
virtual OMEeventselectForWrite (OMEeventCallbackFP func, OMEthread *t=nullptr)=0
 
virtual int close (int mask=3)=0
 
virtual OMEioDescriptoracceptConnection (int *errRet)
 
virtual int receiveDatagram (unsigned char *bfr, size_t bytes, size_t *actualBytes, OMEstring *fromInfo, int *errRet)
 
virtual int sendDatagram (const unsigned char *bfr, size_t bytes, size_t *actualBytes, const char *toInfo, int *errRet)
 
virtual int seekToOffset (size_t offset)
 
virtual OMEstringgetLocalAddress () const
 
virtual OMEstringgetPeerAddress () const
 
virtual int getErrorStatus () const
 
virtual bool isOpen () const =0
 
uint_fast16_t adjustVector (OMEioVector *result, uint_fast16_t count, const OMEioVector *v, size_t skipCount)
 

Static Public Member Functions

static OMEioDescriptoropenIOscheme (const char *name, uint32_t openMode)
 

Public Attributes

uint64_t ioHandle
 
OMEioEvent::OMEfileType descriptorType
 

Detailed Description

Base class for open files and sockets.

Generic operating system-independent I/O descriptor interface.

Member Enumeration Documentation

◆ OMEopenMode

Enumerator
read 
write 
listen 
connect 
create 
mustExist 
truncate 
append 
nonblocking 
datagram 
raw 
multicast 

Constructor & Destructor Documentation

◆ OMEioDescriptor()

OMEioDescriptor::OMEioDescriptor ( uint64_t  handle,
OMEioEvent::OMEfileType  type 
)

◆ ~OMEioDescriptor()

OMEioDescriptor::~OMEioDescriptor ( )
virtual

Member Function Documentation

◆ acceptConnection()

OMEioDescriptor * OMEioDescriptor::acceptConnection ( int *  errRet)
virtual

Reimplemented in OMEsocketDescriptor, and OMEfileDescriptor.

◆ adjustVector()

uint_fast16_t OMEioDescriptor::adjustVector ( OMEioVector result,
uint_fast16_t  count,
const OMEioVector v,
size_t  skipCount 
)

◆ close()

virtual int OMEioDescriptor::close ( int  mask = 3)
pure virtual

Implemented in OMEsocketDescriptor, and OMEfileDescriptor.

◆ getErrorStatus()

int OMEioDescriptor::getErrorStatus ( ) const
virtual

Reimplemented in OMEsocketDescriptor.

References ioHandle.

◆ getLocalAddress()

OMEstring * OMEioDescriptor::getLocalAddress ( ) const
virtual

Reimplemented in OMEsocketDescriptor, and OMEfileDescriptor.

◆ getPeerAddress()

OMEstring * OMEioDescriptor::getPeerAddress ( ) const
virtual

Reimplemented in OMEsocketDescriptor.

◆ getSelectHandle()

uint64_t OMEioDescriptor::getSelectHandle ( ) const
inline

References ioHandle.

◆ isOpen()

virtual bool OMEioDescriptor::isOpen ( ) const
pure virtual

Implemented in OMEsocketDescriptor, and OMEfileDescriptor.

◆ openIOscheme()

OMEioDescriptor * OMEioDescriptor::openIOscheme ( const char *  name,
uint32_t  openMode 
)
static

◆ readBytes()

virtual int OMEioDescriptor::readBytes ( unsigned char *  bfr,
size_t  bytes,
size_t *  actualBytes,
int *  errRet 
)
pure virtual

Implemented in OMEsocketDescriptor, and OMEfileDescriptor.

◆ receiveDatagram()

int OMEioDescriptor::receiveDatagram ( unsigned char *  bfr,
size_t  bytes,
size_t *  actualBytes,
OMEstring fromInfo,
int *  errRet 
)
virtual

Reimplemented in OMEsocketDescriptor.

◆ seekToOffset()

int OMEioDescriptor::seekToOffset ( size_t  offset)
virtual

Reimplemented in OMEfileDescriptor.

◆ selectForRead()

virtual OMEevent* OMEioDescriptor::selectForRead ( OMEeventCallbackFP  func,
OMEthread t = nullptr 
)
pure virtual

◆ selectForWrite()

virtual OMEevent* OMEioDescriptor::selectForWrite ( OMEeventCallbackFP  func,
OMEthread t = nullptr 
)
pure virtual

Implemented in OMEsocketDescriptor, and OMEfileDescriptor.

◆ sendDatagram()

int OMEioDescriptor::sendDatagram ( const unsigned char *  bfr,
size_t  bytes,
size_t *  actualBytes,
const char *  toInfo,
int *  errRet 
)
virtual

Reimplemented in OMEsocketDescriptor.

◆ writeBytes()

virtual int OMEioDescriptor::writeBytes ( const unsigned char *  bfr,
size_t  bytes,
size_t *  actualBytes,
int *  errRet 
)
pure virtual

Implemented in OMEsocketDescriptor, and OMEfileDescriptor.

◆ writeVectorOfBytes()

int OMEioDescriptor::writeVectorOfBytes ( const OMEioVector v,
uint_fast16_t  elementCount,
size_t *  actualBytes,
int *  errRet,
size_t  skipBytes = 0 
)
virtual

Reimplemented in OMEsocketDescriptor, and OMEfileDescriptor.

References MAX_IO_VECTORS.

Referenced by OMEconnection::sendString().

Member Data Documentation

◆ descriptorType

OMEioEvent::OMEfileType OMEioDescriptor::descriptorType

◆ ioHandle


The documentation for this class was generated from the following files:
Generated: Fri Jul 31 2020 18:19:16
Support Information