libopenraw
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
OpenRaw::Internals::RawContainer Class Reference

#include <rawcontainer.hpp>

Inheritance diagram for OpenRaw::Internals::RawContainer:
OpenRaw::Internals::CIFFContainer OpenRaw::Internals::IfdFileContainer OpenRaw::Internals::JfifContainer OpenRaw::Internals::RafContainer OpenRaw::Internals::RafMetaContainer OpenRaw::Internals::MRWContainer OpenRaw::Internals::OrfContainer OpenRaw::Internals::Rw2Container

Public Types

enum  EndianType { ENDIAN_NULL = 0, ENDIAN_BIG, ENDIAN_LITTLE }
 

Public Member Functions

 RawContainer (const IO::Stream::Ptr &_file, off_t offset)
 
virtual ~RawContainer ()
 
const IO::Stream::Ptr & file ()
 
EndianType endian () const
 
off_t offset () const
 
bool readInt8 (const IO::Stream::Ptr &f, int8_t &v)
 
bool readUInt8 (const IO::Stream::Ptr &f, uint8_t &v)
 
bool readInt16 (const IO::Stream::Ptr &f, int16_t &v)
 
bool readInt32 (const IO::Stream::Ptr &f, int32_t &v)
 
bool readUInt16 (const IO::Stream::Ptr &f, uint16_t &v)
 
bool readUInt32 (const IO::Stream::Ptr &f, uint32_t &v)
 
size_t fetchData (void *buf, off_t offset, size_t buf_size)
 

Protected Member Functions

 RawContainer (const RawContainer &)
 
RawContaineroperator= (const RawContainer &)
 
void setEndian (EndianType _endian)
 

Protected Attributes

IO::Stream::Ptr m_file
 
off_t m_offset
 
EndianType m_endian
 

Detailed Description

Generic interface for the RAW file container

Definition at line 38 of file rawcontainer.hpp.

Member Enumeration Documentation

§ EndianType

define the endian of the container

Enumerator
ENDIAN_BIG 

no endian found: means invalid file

ENDIAN_LITTLE 

big endian found little endian found

Definition at line 41 of file rawcontainer.hpp.

Constructor & Destructor Documentation

§ RawContainer()

OpenRaw::Internals::RawContainer::RawContainer ( const IO::Stream::Ptr &  _file,
off_t  offset 
)
Parameters
filethe stream to read from
offsetthe offset since starting the beginning of the file for the container

Definition at line 36 of file rawcontainer.cpp.

References m_file.

§ ~RawContainer()

OpenRaw::Internals::RawContainer::~RawContainer ( )
virtual

destructor

Definition at line 46 of file rawcontainer.cpp.

References m_file.

Member Function Documentation

§ fetchData()

size_t OpenRaw::Internals::RawContainer::fetchData ( void *  buf,
off_t  offset,
size_t  buf_size 
)

Fetch the data chunk from the file

Parameters
bufthe buffer to load into
offsetthe offset
buf_sizethe size of the data to fetch
Returns
the size retrieved, <= buf_size likely equal

Definition at line 176 of file rawcontainer.cpp.

References m_file.

Referenced by OpenRaw::RawFile::_getThumbnail(), OpenRaw::Internals::MRW::DataBlock::DataBlock(), OpenRaw::Internals::CIFF::RecordEntry::fetchData(), OpenRaw::Internals::NefFile::isCompressed(), OpenRaw::Internals::IfdEntry::loadData(), and OpenRaw::Internals::MRW::DataBlock::uint16_val().

§ readInt16()

bool OpenRaw::Internals::RawContainer::readInt16 ( const IO::Stream::Ptr &  f,
int16_t &  v 
)

Read an int16 following the m_endian set

Definition at line 75 of file rawcontainer.cpp.

References ENDIAN_LITTLE.

Referenced by OpenRaw::Internals::CIFF::Heap::Heap().

§ readInt32()

bool OpenRaw::Internals::RawContainer::readInt32 ( const IO::Stream::Ptr &  f,
int32_t &  v 
)

§ readUInt16()

bool OpenRaw::Internals::RawContainer::readUInt16 ( const IO::Stream::Ptr &  f,
uint16_t &  v 
)

§ readUInt32()

bool OpenRaw::Internals::RawContainer::readUInt32 ( const IO::Stream::Ptr &  f,
uint32_t &  v 
)

Member Data Documentation

§ m_file

IO::Stream::Ptr OpenRaw::Internals::RawContainer::m_file
protected

§ m_offset

off_t OpenRaw::Internals::RawContainer::m_offset
protected

the offset from the beginning of the file

Definition at line 88 of file rawcontainer.hpp.

Referenced by OpenRaw::Internals::IfdFileContainer::locateDirsPreHook().


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