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

#include <mrwcontainer.hpp>

Inheritance diagram for OpenRaw::Internals::MRWContainer:
OpenRaw::Internals::IfdFileContainer OpenRaw::Internals::RawContainer

Public Member Functions

 MRWContainer (const IO::Stream::Ptr &file, off_t offset=0)
 
 MRWContainer (const MRWContainer &)=delete
 
MRWContaineroperator= (const MRWContainer &)=delete
 
virtual IfdFileContainer::EndianType isMagicHeader (const char *p, int len) override
 
off_t pixelDataOffset () const
 
- Public Member Functions inherited from OpenRaw::Internals::IfdFileContainer
 IfdFileContainer (const IO::Stream::Ptr &file, off_t offset)
 Constructor. More...
 
virtual ~IfdFileContainer ()
 Destructor.
 
 IfdFileContainer (IfdFileContainer &&)=default
 
IfdDir::Ref setDirectory (int dir)
 Set the current directory. More...
 
int countDirectories (void)
 Count the number of image file directories, not including EXIF, GPS and INTEROP. More...
 
std::vector< IfdDir::Ref > & directories ()
 Get the directories, loading them if necessary. More...
 
int currentDirectory ()
 Get the number of the current directory. More...
 
size_t getDirectoryDataSize ()
 get the extra data size chunk associated to the current image directory More...
 
int lastError () const
 Return the last error. More...
 
virtual int exifOffsetCorrection () const override
 Return the Exif offset from the container begining. More...
 
void setExifOffsetCorrection (int corr)
 Set the exif offset if needed.
 
::or_error locateImageData (const IfdDir::Ref &dir, uint32_t &x, uint32_t &y, ::or_data_type &t)
 Locate image data in the ifd (excepted RAW) More...
 
- Public Member Functions inherited from OpenRaw::Internals::RawContainer
 RawContainer (const IO::Stream::Ptr &_file, off_t offset)
 
virtual ~RawContainer ()
 
const IO::Stream::Ptrfile () const
 
EndianType endian () const
 
off_t offset () const
 
bool skip (off_t offset)
 
Option< int8_t > readInt8 (const IO::Stream::Ptr &f) const
 
Option< uint8_t > readUInt8 (const IO::Stream::Ptr &f) const
 
Option< int16_t > readInt16 (const IO::Stream::Ptr &f, EndianType endian) const
 Read an int16 following the m_endian set.
 
Option< int32_t > readInt32 (const IO::Stream::Ptr &f, EndianType endian) const
 Read an int32 following the m_endian set.
 
Option< uint16_t > readUInt16 (const IO::Stream::Ptr &f, EndianType endian) const
 Read an uint16 following the m_endian set.
 
size_t readUInt16Array (const IO::Stream::Ptr &f, std::vector< uint16_t > &v, size_t count) const
 Read an array of uint16 following the m_endian set. More...
 
Option< uint32_t > readUInt32 (const IO::Stream::Ptr &f, EndianType endian) const
 Read an uint32 following the m_endian set.
 
size_t fetchData (void *buf, off_t offset, size_t buf_size) const
 Fetch the data chunk from the file. More...
 
off_t size () const
 Return the effective size of the container.
 

Public Attributes

MRW::DataBlock::Ref mrm
 
MRW::DataBlock::Ref prd
 
MRW::DataBlock::Ref ttw
 
MRW::DataBlock::Ref wbg
 
MRW::DataBlock::Ref rif
 

Protected Member Functions

virtual bool locateDirsPreHook () override
 hook to be called at the start of _locateDirs()
 
- Protected Member Functions inherited from OpenRaw::Internals::RawContainer
 RawContainer (const RawContainer &)=delete
 
 RawContainer (RawContainer &&)=default
 
RawContaineroperator= (const RawContainer &)=delete
 
void setEndian (EndianType _endian)
 

Additional Inherited Members

- Public Types inherited from OpenRaw::Internals::IfdFileContainer
enum  { IFD_NONE = -1 , IFD_EXIF = -2 , IFD_GPS = -3 , IFD_INTEROP = -4 }
 
- Public Types inherited from OpenRaw::Internals::RawContainer
enum  EndianType { ENDIAN_NULL = 0 , ENDIAN_BIG , ENDIAN_LITTLE }
 Define the endian of the container. More...
 
- Protected Attributes inherited from OpenRaw::Internals::RawContainer
IO::Stream::Ptr m_file
 The file handle.
 
off_t m_offset
 The offset from the beginning of the file.
 
EndianType m_endian
 

Detailed Description

A container for a Minolta Raw object.

Definition at line 211 of file mrwcontainer.hpp.

Member Function Documentation

◆ isMagicHeader()

IfdFileContainer::EndianType OpenRaw::Internals::MRWContainer::isMagicHeader ( const char *  p,
int  len 
)
overridevirtual

Check the MRW magic header.

Reimplemented from OpenRaw::Internals::IfdFileContainer.

Definition at line 96 of file mrwcontainer.cpp.

◆ pixelDataOffset()

off_t OpenRaw::Internals::MRWContainer::pixelDataOffset ( ) const
inline

Return offset of pixel array data from start of file.

Definition at line 233 of file mrwcontainer.hpp.

Referenced by OpenRaw::Internals::MRWFile::_getRawData().


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