evio  5.3
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
evio::evioChannel Class Referenceabstract

Defines EVIO I/O channel functionality. More...

#include <evioChannel.hxx>

Inheritance diagram for evio::evioChannel:
evio::evioBufferChannel evio::evioFileChannel evio::evioSocketChannel

Public Member Functions

 evioChannel ()
 
 evioChannel (evioDictionary *dict)
 
virtual ~evioChannel ()
 
virtual void open ()=0
 
virtual bool read ()=0
 
virtual bool read (uint32_t *myBuf, int length)=0
 
virtual bool readAlloc (uint32_t **buffer, uint32_t *bufLen)=0
 
virtual bool readNoCopy ()=0
 
virtual bool readRandom (uint32_t eventNumber)
 
virtual void write ()=0
 
virtual void write (const uint32_t *myBuf)=0
 
virtual void write (const evioChannel &channel)=0
 
virtual void write (const evioChannel *channel)=0
 
virtual void write (const evioChannelBufferizable &o)=0
 
virtual void write (const evioChannelBufferizable *o)=0
 
virtual void close ()=0
 
virtual int ioctl (const string &request, void *argp)=0
 
virtual const evioDictionarygetDictionary () const
 
virtual const uint32_t * getBuffer () const =0
 
virtual int getBufSize () const =0
 
virtual const uint32_t * getNoCopyBuffer () const =0
 
virtual const uint32_t * getRandomBuffer () const
 
virtual void getRandomAccessTable (uint32_t ***const table, uint32_t *len) const
 

Protected Attributes

evioDictionarydictionary
 

Detailed Description

Defines EVIO I/O channel functionality.

Sub-class gets channel-specific info from constructor and implements evioChannel methods.

Some default methods throw unsupported feature exception.

Users should be able to program to this interface.

Constructor & Destructor Documentation

◆ evioChannel() [1/2]

evio::evioChannel::evioChannel ( )
inline

◆ evioChannel() [2/2]

evio::evioChannel::evioChannel ( evioDictionary dict)
inline

◆ ~evioChannel()

virtual evio::evioChannel::~evioChannel ( )
inlinevirtual

Member Function Documentation

◆ close()

virtual void evio::evioChannel::close ( )
pure virtual

◆ getBuffer()

◆ getBufSize()

virtual int evio::evioChannel::getBufSize ( ) const
pure virtual

◆ getDictionary()

virtual const evioDictionary* evio::evioChannel::getDictionary ( ) const
inlinevirtual

◆ getNoCopyBuffer()

virtual const uint32_t* evio::evioChannel::getNoCopyBuffer ( ) const
pure virtual

◆ getRandomAccessTable()

virtual void evio::evioChannel::getRandomAccessTable ( uint32_t ***const  table,
uint32_t *  len 
) const
inlinevirtual

◆ getRandomBuffer()

virtual const uint32_t* evio::evioChannel::getRandomBuffer ( ) const
inlinevirtual

◆ ioctl()

virtual int evio::evioChannel::ioctl ( const string &  request,
void *  argp 
)
pure virtual

◆ open()

virtual void evio::evioChannel::open ( )
pure virtual

◆ read() [1/2]

virtual bool evio::evioChannel::read ( )
pure virtual

◆ read() [2/2]

virtual bool evio::evioChannel::read ( uint32_t *  myBuf,
int  length 
)
pure virtual

◆ readAlloc()

virtual bool evio::evioChannel::readAlloc ( uint32_t **  buffer,
uint32_t *  bufLen 
)
pure virtual

◆ readNoCopy()

virtual bool evio::evioChannel::readNoCopy ( )
pure virtual

◆ readRandom()

virtual bool evio::evioChannel::readRandom ( uint32_t  eventNumber)
inlinevirtual

◆ write() [1/6]

virtual void evio::evioChannel::write ( )
pure virtual

◆ write() [2/6]

virtual void evio::evioChannel::write ( const evioChannel channel)
pure virtual

◆ write() [3/6]

virtual void evio::evioChannel::write ( const evioChannel channel)
pure virtual

◆ write() [4/6]

virtual void evio::evioChannel::write ( const evioChannelBufferizable o)
pure virtual

◆ write() [5/6]

virtual void evio::evioChannel::write ( const evioChannelBufferizable o)
pure virtual

◆ write() [6/6]

virtual void evio::evioChannel::write ( const uint32_t *  myBuf)
pure virtual

Member Data Documentation

◆ dictionary


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