Exif API does not have any relationships to the Symbian OS subsystems. It only requires the basic Symbian OS environment. Exif API supports reading, writing and modifying Exif data. Particularly, it supports operations related to tags, IFDs and thumbnails. IFDs store tags so that they are collected into groups under the same category. Thumbnail image data is not presented as an IFD or tag, but it is independent data tied to the first IFD which describes its properties. A tag is the smallest unit of the data structure stored and moved through the interface. The library interface provides both basic and advanced services. The basic interface services provide abstracted interface functions to read, write and modify the most common Exif data including mainly the mandatory and recommended tags. The advanced interface services provide more flexible lower-level operations to read, write and modify Exif data. Exif API is not intended to be used as such. It offers services that are needed by other libraries supporting Exif. Those libraries can use Exif API in order to provide the requested service.
The main use cases of Exif API are:
Figure 1: Use Cases
There are four interface classes,CExifRead
, CExifModify
, CExifTag
and TExifTagInfo
which provides the lowest level interface for an individual tag. TOperationMode
of
the CExifModify
class is used to define the operation mode
of the class. The mode can be either ECreate
to create
an Exif image from the given JPEG image data, or EModify
to
modify an existing Exif image. CExifReadImpl
, CExifModifyImpl
and CExifTagImpl
are
the implementation classes of the interfaces.
Figure 2: Exif API class diagram