soma-io  5.0.5
soma::ChainDataSource Class Reference

Abstract base DataSource class to operate on another DataSource (to transform it) More...

#include <soma-io/datasource/chaindatasource.h>

Inheritance diagram for soma::ChainDataSource:
Collaboration diagram for soma::ChainDataSource:

Public Member Functions

 ChainDataSource (carto::rc_ptr< DataSource > ds, const std::string &url=std::string())
 
virtual ~ChainDataSource ()
 
void setSource (carto::rc_ptr< DataSource > ds, const std::string &url=std::string())
 
carto::rc_ptr< DataSourcesource ()
 
const carto::rc_ptr< DataSourcesource () const
 
virtual bool isOpen () const
 
virtual bool open (int mode)
 
virtual void close ()
 
virtual std::string url () const
 
- Public Member Functions inherited from soma::DataSource
 DataSource ()
 
virtual ~DataSource ()
 
int mode () const
 access mode(s) (read/write): bitwise OR of Mode values More...
 
virtual DataSourceclone () const =0
 
virtual int iterateMode () const =0
 possible iteration mode(s): bitwise OR of IterateMode values More...
 
virtual bool eof () const
 
virtual bool operator! () const
 
virtual operator bool () const
 
virtual void flush ()
 
virtual offset_t size () const =0
 
virtual offset_t at () const =0
 
virtual bool at (offset_t pos)=0
 
virtual bool atEnd () const
 
bool reset ()
 
virtual long readBlock (char *data, unsigned long maxlen)=0
 
virtual long writeBlock (const char *data, unsigned long len)=0
 
virtual int getch ()=0
 
virtual int putch (int ch)=0
 
virtual bool ungetch (int ch)=0
 
virtual bool allowsMemoryMapping () const =0
 
- Public Member Functions inherited from carto::RCObject
 RCObject ()
 
 RCObject (const RCObject &)
 
RCObjectoperator= (const RCObject &)
 
virtual ~RCObject ()
 

Protected Attributes

carto::rc_ptr< DataSource_source
 
- Protected Attributes inherited from soma::DataSource
int _mode
 

Additional Inherited Members

- Public Types inherited from soma::DataSource
enum  Mode { Read = 1, Write = 2, ReadWrite = 3 }
 
enum  IterateMode { DirectAccess = 1, SequentialAccess = 2 }
 
- Public Types inherited from carto::RCObject
typedef int RefCounterType
 
- Static Public Member Functions inherited from soma::DataSource
static const carto::rc_ptr< DataSourcenone ()
 An empty ref-counter that is more convenient than calling a constructor of rc_ptr<DataSource> (useful when calling functions) More...
 

Detailed Description

Abstract base DataSource class to operate on another DataSource (to transform it)

Definition at line 50 of file chaindatasource.h.

Constructor & Destructor Documentation

◆ ChainDataSource()

soma::ChainDataSource::ChainDataSource ( carto::rc_ptr< DataSource ds,
const std::string &  url = std::string() 
)

◆ ~ChainDataSource()

virtual soma::ChainDataSource::~ChainDataSource ( )
virtual

Member Function Documentation

◆ close()

virtual void soma::ChainDataSource::close ( )
virtual

Implements soma::DataSource.

◆ isOpen()

virtual bool soma::ChainDataSource::isOpen ( ) const
virtual

Implements soma::DataSource.

◆ open()

virtual bool soma::ChainDataSource::open ( int  mode)
virtual

Implements soma::DataSource.

◆ setSource()

void soma::ChainDataSource::setSource ( carto::rc_ptr< DataSource ds,
const std::string &  url = std::string() 
)

◆ source() [1/2]

carto::rc_ptr<DataSource> soma::ChainDataSource::source ( )

◆ source() [2/2]

const carto::rc_ptr<DataSource> soma::ChainDataSource::source ( ) const

◆ url()

virtual std::string soma::ChainDataSource::url ( ) const
virtual

Reimplemented from soma::DataSource.

Member Data Documentation

◆ _source

carto::rc_ptr<DataSource> soma::ChainDataSource::_source
protected

Definition at line 67 of file chaindatasource.h.


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