34 #ifndef SOMAIO_DATASOURCE_DATASOURCE_H
35 #define SOMAIO_DATASOURCE_DATASOURCE_H
90 virtual bool eof()
const;
92 virtual operator bool ()
const;
101 virtual long readBlock(
char * data,
unsigned long maxlen ) = 0;
102 virtual long writeBlock(
const char * data,
unsigned long len ) = 0;
107 virtual std::string
url()
const;
Abstraction layer for various data sources (file, buffer, socket...).
virtual bool atEnd() const
virtual long writeBlock(const char *data, unsigned long len)=0
virtual DataSource * clone() const =0
virtual bool ungetch(int ch)=0
virtual bool at(offset_t pos)=0
int mode() const
access mode(s) (read/write): bitwise OR of Mode values
static const carto::rc_ptr< DataSource > none()
An empty ref-counter that is more convenient than calling a constructor of rc_ptr<DataSource> (useful...
virtual offset_t at() const =0
virtual bool operator!() const
virtual bool allowsMemoryMapping() const =0
virtual bool open(int mode)=0
virtual int putch(int ch)=0
virtual long readBlock(char *data, unsigned long maxlen)=0
virtual int iterateMode() const =0
possible iteration mode(s): bitwise OR of IterateMode values
virtual bool isOpen() const =0
virtual offset_t size() const =0
virtual std::string url() const
unsigned long long offset_t
Offsets are 64 bits if supported.