Separate metadata parsing from metadata storage
To make the design of exiv2 more modular, the parsing of metadata from block of memory should be made distinct components sepearate from the metadata containers. This will allow for the reuse of both metadata containers with different metadata encodings and metadata parsers with different image types.
The potential of this design is somewhat limited by the needs of both performance and "non-intrusive" exif writes. To provide non-intrusive exif writes and better performance, the metadata storage classes will probably need to carry around some parser specific data.
Updated by Andreas Huggel about 11 years ago
Metadata parsing is now consistently implemented in a number of Parser classes with static encode and decode methods (TiffParser, ExifParser, IptcParser, XmpParser, etc.) Metadata containers carry no information about the binary representation and don't do any parsing anymore.