|
|
|
@ -376,28 +376,6 @@ namespace Exiv2 {
|
|
|
|
|
case.
|
|
|
|
|
*/
|
|
|
|
|
int read(const byte* buf, long len, ByteOrder byteOrder, long offset =0);
|
|
|
|
|
/*!
|
|
|
|
|
@brief Read a sub-IFD from the location pointed to by the directory entry
|
|
|
|
|
with the given tag.
|
|
|
|
|
|
|
|
|
|
@param dest References the destination IFD.
|
|
|
|
|
@param buf The data buffer to read from. The buffer must contain all Exif
|
|
|
|
|
data starting from the TIFF header (unlike the read() method).
|
|
|
|
|
@param len Number of bytes in the data buffer
|
|
|
|
|
@param byteOrder Applicable byte order (little or big endian).
|
|
|
|
|
@param tag Tag to look for.
|
|
|
|
|
|
|
|
|
|
@return 0 if successful;<BR>
|
|
|
|
|
6 if reading the sub-IFD failed (see read() above) or
|
|
|
|
|
the location pointed to by the directory entry with the
|
|
|
|
|
given tag is outside of the data buffer.
|
|
|
|
|
|
|
|
|
|
@note It is not considered an error if the tag cannot be found in the
|
|
|
|
|
IFD. 0 is returned and no action is taken in this case.
|
|
|
|
|
*/
|
|
|
|
|
int readSubIfd(
|
|
|
|
|
Ifd& dest, const byte* buf, long len, ByteOrder byteOrder, uint16_t tag
|
|
|
|
|
) const;
|
|
|
|
|
/*!
|
|
|
|
|
@brief Copy the IFD to a data array, update the offsets of the IFD and
|
|
|
|
|
all its entries, return the number of bytes written.
|
|
|
|
@ -469,6 +447,28 @@ namespace Exiv2 {
|
|
|
|
|
|
|
|
|
|
//! @name Accessors
|
|
|
|
|
//@{
|
|
|
|
|
/*!
|
|
|
|
|
@brief Read a sub-IFD from the location pointed to by the directory entry
|
|
|
|
|
with the given tag.
|
|
|
|
|
|
|
|
|
|
@param dest References the destination IFD.
|
|
|
|
|
@param buf The data buffer to read from. The buffer must contain all Exif
|
|
|
|
|
data starting from the TIFF header (unlike the read() method).
|
|
|
|
|
@param len Number of bytes in the data buffer
|
|
|
|
|
@param byteOrder Applicable byte order (little or big endian).
|
|
|
|
|
@param tag Tag to look for.
|
|
|
|
|
|
|
|
|
|
@return 0 if successful;<BR>
|
|
|
|
|
6 if reading the sub-IFD failed (see read() above) or
|
|
|
|
|
the location pointed to by the directory entry with the
|
|
|
|
|
given tag is outside of the data buffer.
|
|
|
|
|
|
|
|
|
|
@note It is not considered an error if the tag cannot be found in the
|
|
|
|
|
IFD. 0 is returned and no action is taken in this case.
|
|
|
|
|
*/
|
|
|
|
|
int readSubIfd(
|
|
|
|
|
Ifd& dest, const byte* buf, long len, ByteOrder byteOrder, uint16_t tag
|
|
|
|
|
) const;
|
|
|
|
|
//! Get the memory allocation mode, see the Ifd class description for details
|
|
|
|
|
bool alloc() const { return alloc_; }
|
|
|
|
|
//! The first entry
|
|
|
|
|