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.