#include <crwimage.hpp>
Collaboration diagram for Exiv2::CiffHeader:
Public Types | |
typedef std::auto_ptr< CiffHeader > | AutoPtr |
CiffHeader auto_ptr type. | |
Public Member Functions | |
Creators | |
CiffHeader () | |
Default constructor. | |
virtual | ~CiffHeader () |
Virtual destructor. | |
Manipulators | |
void | read (const byte *pData, uint32_t size) |
Read the Crw image from a data buffer, starting with the Ciff header. | |
void | add (uint16_t crwTagId, uint16_t crwDir, DataBuf buf) |
Set the value of entry crwTagId in directory crwDir to buf. If this tag doesn't exist, it is added along with all directories needed. | |
void | remove (uint16_t crwTagId, uint16_t crwDir) |
Remove entry crwTagId in directory crwDir from the parse tree. If it's the last entry in the directory, the directory is removed as well, etc. | |
Accessors | |
void | write (Blob &blob) const |
Write the Crw image to the binary image blob, starting with the Ciff header. This method appends to the blob. | |
void | decode (Image &image) const |
Decode the Crw image and add it to image. | |
void | print (std::ostream &os, const std::string &prefix="") const |
Print debug info for the Crw image to os. | |
ByteOrder | byteOrder () const |
Return the byte order (little or big endian). | |
CiffComponent * | findComponent (uint16_t crwTagId, uint16_t crwDir) const |
Finds crwTagId in directory crwDir, returning a pointer to the component or 0 if not found. | |
Static Public Member Functions | |
static const char * | signature () |
Return a pointer to the Canon Crw signature. |
void Exiv2::CiffHeader::read | ( | const byte * | pData, | |
uint32_t | size | |||
) |
Read the Crw image from a data buffer, starting with the Ciff header.
pData | Pointer to the data buffer. | |
size | Number of bytes in the data buffer. |
Error | If the image cannot be parsed. |
void Exiv2::CiffHeader::add | ( | uint16_t | crwTagId, | |
uint16_t | crwDir, | |||
DataBuf | buf | |||
) |
void Exiv2::CiffHeader::remove | ( | uint16_t | crwTagId, | |
uint16_t | crwDir | |||
) |
Remove entry crwTagId in directory crwDir from the parse tree. If it's the last entry in the directory, the directory is removed as well, etc.
crwTagId | Tag id to be removed. | |
crwDir | Parent directory of the tag. |
void Exiv2::CiffHeader::write | ( | Blob & | blob | ) | const |
Write the Crw image to the binary image blob, starting with the Ciff header. This method appends to the blob.
blob | Binary image to add to. |
Error | If the image cannot be written. |
void Exiv2::CiffHeader::decode | ( | Image & | image | ) | const |
Decode the Crw image and add it to image.
Walk the parse tree and convert CIFF entries to metadata entries which are added to image.
image | Image to add metadata to |
void Exiv2::CiffHeader::print | ( | std::ostream & | os, | |
const std::string & | prefix = "" | |||
) | const |
Print debug info for the Crw image to os.
os | Output stream to write to. | |
prefix | Prefix to be written before each line of output. |