#include <iclexif.h>
class MExifMetadataReader |
Public Member Functions | |
---|---|
pure virtual TInt | GetIntegerArrayParam(TUint, TUint, CArrayFix< TInt > &) |
pure virtual TInt | GetIntegerParam(TUint, TUint, TInt &) |
pure virtual TInt | GetParam16(TUint, TUint, HBufC16 *&) |
pure virtual TInt | GetParam8(TUint, TUint, HBufC8 *&) |
pure virtual TInt | GetRationalArrayParam(TUint, TUint, CArrayFix< TRational > &) |
pure virtual TInt | GetRationalParam(TUint, TUint, TInt &, TInt &) |
pure virtual TInt | GetShortArrayParam(TUint, TUint, CArrayFix< TUint16 > &) |
pure virtual TInt | GetShortParam(TUint, TUint, TUint16 &) |
generic accessor to read the tags from exif metadata.
When reading an IFD 0 tag that is not a GPS tag, use KExifIfdZero.
When reading a tag related to thumbnail, use KExifIfdOne.
When reading a GPS tag, use KExifGpsIfd.
The TExifReaderUtility class offers a friendlier interface to access these tags.
See also: TExifReaderUtility
Get the data associated with an array of signed or unsigned 32-bit integers EXIF/DCF tag/IFD. If being used to get unsigned integers, it is up to the caller to typecast them as appropriate.
Note: aParam will be resized to fit the number of data elements read.
Parameters | |
---|---|
aTag | the tag id where the data is stored |
aIfd | the ifd section in which the tag is stored. |
aParam | on return, the array is filled with the list of values in this tag |
Get the data associated with a signed or unsigned 32-bit integer EXIF/DCF tag/IFD. If used to get unsigned data, it is up to the caller to do the appropriate typecast of aParam.
Parameters | |
---|---|
aTag | the tag id where the data is stored |
aIfd | the ifd section in which the tag is stored. |
aParam | on return, the value of the tag |
Get the data associated with a 16-bit EXIF/DCF tag/IFD.
Ownership of the buffer pointed to by aParam transfers to the client, which is therefore responsible for deleting the buffer when required.
Note: The client should always initialise aParam to NULL, and the plugin should only assign to this parameter when ready to transfer ownership.
Note: This method is not recommended. To get 16-bit data from a tag of undefined type, it is recommended that GetParam8() be used instead. The HBufC8* returned by GetParam8() can then be converted into an HBufC16* as needed.
It may only be used with the tags 0x9286 (UserComment), 0x001B (GpsProcessingMethod) & 0x001C (GpsAreaInformation).
The supported tags might not contain 16-bit data. Only use this method if you are certain that the tag contain 16-bit data. If used on a tag containing 8-bit data, the 8-bit data will be returned in the HBufC16* which will have to be manually converted to an HBufC8*.
The first 8 bytes of the returned HBufC16* may contain a Character Code prefix. See table 6 of the Exif 2.2 specification for a list of Character Code prefixes.
The length of the returned HBufC16* will include the length of the character code prefix if present.
Parameters | |
---|---|
aTag | the tag id where the data is stored |
aIfd | the ifd section in which the tag is stored. |
aParam | on return, the value of the tag |
Get the data associated with an 8-bit (e.g. ASCII, Undefined or Byte) EXIF/DCF tag/IFD.
Ownership of the buffer pointed to by aParam transfers to the client, which is therefore responsible for deleting the buffer when required.
Note: The client should always initialise aParam to NULL, and the plugin should only assign to this parameter when ready to transfer ownership.
Note: If using this method to retrieve ASCII data, the returned data will not be NULL terminated.
Note: If using this method to retrieve Undefined data, the raw data will be returned, exactly as it appears in the tag value. Thus if the tag is one that includes a character code prefix, then this prefix will be included in the returned data. See table 6 of the Exif 2.2 specification for a list of character code prefixes.
Parameters | |
---|---|
aTag | the tag id where the data is stored |
aIfd | the ifd section in which the tag is stored. |
aParam | on return, the value of the tag |
TInt | GetRationalArrayParam | ( | TUint | aTag, |
TUint | aIfd, | |||
CArrayFix< TRational > & | aParam | |||
) | const [pure virtual] |
Get the data associated with an array of signed or unsigned rationals EXIF/DCF tag/IFD. If used to get unsigned rational data, it is up to the client to typecast the components as appropriate.
Note: aParam will be resized to fit the number of data elements read.
Parameters | |
---|---|
aTag | the tag id where the data is stored |
aIfd | the ifd section in which the tag is stored. |
aParam | on return, the array is filled with the list of values in this tag |
Get the data associated with a signed or unsigned rational EXIF/DCF tag/IFD. If used to get an unsigned rational, it is up to the caller to typecast aNumer & aDenom as appropriate.
Parameters | |
---|---|
aTag | the tag id where the data is stored |
aIfd | the ifd section in which the tag is stored. |
aNumer | on return, the numerator value of the tag |
aDenom | on return, the denominator value of the tag |
Get the data associated with an array of unsigned short (16-bit) integers EXIF/DCF tag/IFD.
Note: aParam will be resized to fit the number of data elements read.
Parameters | |
---|---|
aTag | the tag id where the data is stored |
aIfd | the ifd section in which the tag is stored. |
aParam | on return, the array is filled with the list of values in this tag |
Get the data associated with an unsigned short (16-bit) integer EXIF/DCF tag/IFD.
Parameters | |
---|---|
aTag | the tag id where the data is stored |
aIfd | the ifd section in which the tag is stored. |
aParam | on return, the value of the tag |