MExifMetadataWriter Class Reference

class MExifMetadataWriter

generic accessor to write the tags from exif metadata.

Note: The aIfd argument in MExifMetadataWriter methods should be set as follows:
  • When writing to an IFD 0 tag that is not a GPS tag, use KExifIfdZero.

  • When writing to a tag related to thumbnail, use KExifIfdOne.

  • When writing to a GPS tag, use KExifGpsIfd.

The TExifWriterUtility class offers a friendlier interface to access these tags.

TExifWriterUtility

Member Functions Documentation

SetIntegerArrayParam(TUint, TUint, CArrayFix< TInt > &)

TInt SetIntegerArrayParam(TUintaTag,
TUintaIfd,
CArrayFix< TInt > &aParam
)[pure virtual]

Sets the data associated with an array of signed or unsigned 32-bit integers EXIF/DCF tag/IFD.

error code KErrNotSupported if called on a decoding module. KErrNotSupported if the plugin does not support the specified tag. KErrArgument if the requested data type does not match with the tag.

Parameters

TUint aTagthe tag id where the data is stored
TUint aIfdthe ifd section in which the tag is stored.
CArrayFix< TInt > & aParamthe list of values value for the tag

SetIntegerParam(TUint, TUint, TInt)

TInt SetIntegerParam(TUintaTag,
TUintaIfd,
TIntaParam
)[pure virtual]

Sets the data associated with a signed or unsigned 32-bit integer EXIF/DCF tag/IFD.

error code KErrNotSupported if called on a decoding module. KErrNotSupported if the plugin does not support the specified tag. KErrArgument if the requested data type does not match with the tag.

Parameters

TUint aTagthe tag id where the data is stored
TUint aIfdthe ifd section in which the tag is stored.
TInt aParamthe value of the tag

SetParam16(TUint, TUint, HBufC16 *)

TInt SetParam16(TUintaTag,
TUintaIfd,
HBufC16 *aParam
)[pure virtual]

Set 16-bit Unicode data into EXIF/DCF tag/IFDs that support it (e.g.0x9286 (UserComment), 0x001B (GpsProcessingMethod) or 0x001C (GpsAreaInformation) ).

Note: This method will add the 8-byte prefix "UNICODE/0" to aParam before setting the tag value in the metadata. It may only be used to set Unicode data.

error code KErrNotSupported if called on a decoding module. KErrNotSupported if the plugin does not support the specified tag. KErrArgument if the requested data type does not match with the tag.

Parameters

TUint aTagthe tag id where the data is stored
TUint aIfdthe ifd section in which the tag is stored.
HBufC16 * aParamthe value of the tag

SetParam8(TUint, TUint, HBufC8 *)

TInt SetParam8(TUintaTag,
TUintaIfd,
HBufC8 *aParam
)[pure virtual]

Set the data associated with an 8-bit (e.g. ASCII, Undefined or Byte) EXIF/DCF tag/IFD.

Note: If setting non-NULL terminated ASCII data, this method will add a NULL terminator to it provided that doing so will not cause the length of the tag value to be exceeded. If the length would be exceeded KErrArgument will be returned.

Note: This method will set other (non-ASCII) 8-bit data exactly as-is.

error code KErrNotSupported if called on a decoding module. KErrNotSupported if the plugin does not support the specified tag. KErrArgument if the requested data type does not match with the tag.

Parameters

TUint aTagthe tag id where the data is stored
TUint aIfdthe ifd section in which the tag is stored.
HBufC8 * aParamthe value of the tag

SetRationalArrayParam(TUint, TUint, CArrayFix< TRational > &)

TInt SetRationalArrayParam(TUintaTag,
TUintaIfd,
CArrayFix< TRational > &aParam
)[pure virtual]

Sets the data associated with an array of signed or unsigned rationals EXIF/DCF tag/IFD.

error code KErrNotSupported if called on a decoding module. KErrNotSupported if the plugin does not support the specified tag. KErrArgument if the requested data type does not match with the tag.

Parameters

TUint aTagthe tag id where the data is stored
TUint aIfdthe ifd section in which the tag is stored.
CArrayFix< TRational > & aParamthe list of values value for the tag

SetRationalParam(TUint, TUint, TInt, TInt)

TInt SetRationalParam(TUintaTag,
TUintaIfd,
TIntaNumerator,
TIntaDenominator
)[pure virtual]

Sets the data associated with a signed or unsigned rational EXIF/DCF tag/IFD.

error code KErrNotSupported if called on a decoding module. KErrNotSupported if the plugin does not support the specified tag. KErrArgument if the requested data type does not match with the tag.

Parameters

TUint aTagthe tag id where the data is stored
TUint aIfdthe ifd section in which the tag is stored.
TInt aNumeratorthe numerator value of the rational tag
TInt aDenominatorthe denominator value of the rational tag

SetShortArrayParam(TUint, TUint, CArrayFix< TUint16 > &)

TInt SetShortArrayParam(TUintaTag,
TUintaIfd,
CArrayFix< TUint16 > &aParam
)[pure virtual]

Sets the data associated with an array of unsigned short (16-bit) EXIF/DCF tag/IFD.

error code KErrNotSupported if called on a decoding module. KErrNotSupported if the plugin does not support the specified tag. KErrArgument if the requested data type does not match with the tag.

Parameters

TUint aTagthe tag id where the data is stored
TUint aIfdthe ifd section in which the tag is stored.
CArrayFix< TUint16 > & aParamthe list of values value for the tag

SetShortParam(TUint, TUint, TUint16)

TInt SetShortParam(TUintaTag,
TUintaIfd,
TUint16aParam
)[pure virtual]

Sets the data associated with an unsigned short (16-bit) EXIF/DCF tag/IFD.

error code KErrNotSupported if called on a decoding module. KErrNotSupported if the plugin does not support the specified tag. KErrArgument if the requested data type does not match with the tag.

Parameters

TUint aTagthe tag id where the data is stored
TUint aIfdthe ifd section in which the tag is stored.
TUint16 aParamthe value of the tag