soma-io  5.1.2
soma::DataSourceInfo Class Reference

Informative object used by IO system. More...

#include <soma-io/datasourceinfo/datasourceinfo.h>

Collaboration diagram for soma::DataSourceInfo:

Public Member Functions

 DataSourceInfo (const carto::Object &header=carto::none(), const DataSourceCapabilities &cap=DataSourceCapabilities(), const DataSourceList &dsl=DataSourceList())
 Constructor from a header [+ capabilities + dslist]. More...
 
 DataSourceInfo (const carto::rc_ptr< DataSource > &ds, const std::vector< int > &dim=std::vector< int >())
 Constructor from a datasource [+ dimensions (to build a header)]. More...
 
 DataSourceInfo (const carto::rc_ptr< DataSource > &ds, carto::Object header)
 Constructor from a datasource + header. More...
 
 DataSourceInfo (const std::string &fname)
 Constructor from a filename. More...
 
 DataSourceInfo (const DataSourceInfo &)
 Constructor by copy. More...
 
virtual ~DataSourceInfo ()
 
const carto::Objectheader () const
 
carto::Objectheader ()
 
const DataSourceCapabilitiescapabilities () const
 
DataSourceCapabilitiescapabilities ()
 
const carto::ObjectprivateIOData () const
 privateIOData is a generic object used for specific formats readers/writers to store data which may be useful for them. More...
 
carto::ObjectprivateIOData ()
 
const DataSourceListlist () const
 
DataSourceListlist ()
 
std::string url () const
 
std::string identifiedFormat () const
 
void setIdentifiedFormat (const std::string &format)
 
std::string identifiedFileExtension () const
 
void setIdentifiedFileExtension (const std::string &ext)
 

Protected Attributes

carto::Object _header
 
DataSourceCapabilities _capabilities
 
DataSourceList _datasourcelist
 
carto::Object _privateiodata
 
std::string _identifiedFormat
 
std::string _identifiedFileExtension
 

Detailed Description

Informative object used by IO system.

This object is used by FormatChecker, FormatReader or FormatWriter to describe a DataSource. It contains a DataSourceList which contains at first a single default DataSource, a Object header and a DataSourceCapabilities.

  • The list is built by a FormatChecker and contains all the files involved in the reading/writing process (header, data, ...)
  • The header is built by a FormatChecker and contains meta information.
  • The DSC contains properties dependent of the format, the specific file, the reading process (partial reading), etc. It is possible to fix some or all of these three objects so that they are not recomputed by the FormatChecker.
See also
DataSourceInfoLoader DataSourceList DataSourceCapabilities

Definition at line 66 of file datasourceinfo.h.

Constructor & Destructor Documentation

◆ DataSourceInfo() [1/5]

soma::DataSourceInfo::DataSourceInfo ( const carto::Object header = carto::none(),
const DataSourceCapabilities cap = DataSourceCapabilities(),
const DataSourceList dsl = DataSourceList() 
)

Constructor from a header [+ capabilities + dslist].

◆ DataSourceInfo() [2/5]

soma::DataSourceInfo::DataSourceInfo ( const carto::rc_ptr< DataSource > &  ds,
const std::vector< int > &  dim = std::vector< int >() 
)

Constructor from a datasource [+ dimensions (to build a header)].

DSList is set as containing only ds pointed by "default" key. Capabilities are set uninitialized. If dim is given, a header is built with keys size[X,Y,Z,T]. Else the header is none().

◆ DataSourceInfo() [3/5]

soma::DataSourceInfo::DataSourceInfo ( const carto::rc_ptr< DataSource > &  ds,
carto::Object  header 
)

Constructor from a datasource + header.

It is useful with ReaderAlgorithm.

◆ DataSourceInfo() [4/5]

soma::DataSourceInfo::DataSourceInfo ( const std::string &  fname)

Constructor from a filename.

Eases the checking in high end classes

◆ DataSourceInfo() [5/5]

soma::DataSourceInfo::DataSourceInfo ( const DataSourceInfo )

Constructor by copy.

◆ ~DataSourceInfo()

virtual soma::DataSourceInfo::~DataSourceInfo ( )
virtual

Member Function Documentation

◆ capabilities() [1/2]

DataSourceCapabilities& soma::DataSourceInfo::capabilities ( )
inline

Definition at line 99 of file datasourceinfo.h.

References _capabilities.

◆ capabilities() [2/2]

const DataSourceCapabilities& soma::DataSourceInfo::capabilities ( ) const
inline

Definition at line 97 of file datasourceinfo.h.

References _capabilities.

Referenced by soma::Reader< T >::read().

◆ header() [1/2]

carto::Object& soma::DataSourceInfo::header ( )
inline

Definition at line 96 of file datasourceinfo.h.

References _header.

◆ header() [2/2]

const carto::Object& soma::DataSourceInfo::header ( ) const
inline

Definition at line 95 of file datasourceinfo.h.

References _header.

Referenced by soma::Reader< T >::read(), and setIdentifiedFormat().

◆ identifiedFileExtension()

std::string soma::DataSourceInfo::identifiedFileExtension ( ) const
inline

Definition at line 117 of file datasourceinfo.h.

References _identifiedFileExtension.

◆ identifiedFormat()

std::string soma::DataSourceInfo::identifiedFormat ( ) const
inline

Definition at line 113 of file datasourceinfo.h.

References _identifiedFormat.

◆ list() [1/2]

DataSourceList& soma::DataSourceInfo::list ( )
inline

Definition at line 111 of file datasourceinfo.h.

References _datasourcelist.

◆ list() [2/2]

const DataSourceList& soma::DataSourceInfo::list ( ) const
inline

◆ privateIOData() [1/2]

carto::Object& soma::DataSourceInfo::privateIOData ( )
inline

Definition at line 109 of file datasourceinfo.h.

References _privateiodata.

◆ privateIOData() [2/2]

const carto::Object& soma::DataSourceInfo::privateIOData ( ) const
inline

privateIOData is a generic object used for specific formats readers/writers to store data which may be useful for them.

Typically, reading the header (by a FormatChecker) can allocate data structures for underlying IO libraries. Such structure has to be available in FormatReader and FormatWriter operations. Thus, the FormatChecker can store such data in this object.

Definition at line 108 of file datasourceinfo.h.

References _privateiodata.

◆ setIdentifiedFileExtension()

void soma::DataSourceInfo::setIdentifiedFileExtension ( const std::string &  ext)
inline

Definition at line 119 of file datasourceinfo.h.

References _identifiedFileExtension.

◆ setIdentifiedFormat()

void soma::DataSourceInfo::setIdentifiedFormat ( const std::string &  format)
inline

Definition at line 114 of file datasourceinfo.h.

References _identifiedFormat, and header().

◆ url()

std::string soma::DataSourceInfo::url ( ) const
inline

Definition at line 112 of file datasourceinfo.h.

References _datasourcelist, and soma::DataSourceList::dataSource().

Member Data Documentation

◆ _capabilities

DataSourceCapabilities soma::DataSourceInfo::_capabilities
protected

Definition at line 124 of file datasourceinfo.h.

Referenced by capabilities().

◆ _datasourcelist

DataSourceList soma::DataSourceInfo::_datasourcelist
protected

Definition at line 125 of file datasourceinfo.h.

Referenced by list(), and url().

◆ _header

carto::Object soma::DataSourceInfo::_header
protected

Definition at line 123 of file datasourceinfo.h.

Referenced by header().

◆ _identifiedFileExtension

std::string soma::DataSourceInfo::_identifiedFileExtension
protected

Definition at line 128 of file datasourceinfo.h.

Referenced by identifiedFileExtension(), and setIdentifiedFileExtension().

◆ _identifiedFormat

std::string soma::DataSourceInfo::_identifiedFormat
protected

Definition at line 127 of file datasourceinfo.h.

Referenced by identifiedFormat(), and setIdentifiedFormat().

◆ _privateiodata

carto::Object soma::DataSourceInfo::_privateiodata
protected

Definition at line 126 of file datasourceinfo.h.

Referenced by privateIOData().


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