Functions related to XMP metadata

Functions related to XMP metadata — Functionality specific to the XMP familiy of metadata information

Functions

Types and Values

Object Hierarchy

    GFlags
    ╰── GExiv2XmpFormatFlags

Includes

#include <gexiv2/gexiv2.h>

Description

While being part of GExiv2Metadata, these functions are dealing with specific aspects of XMP

Functions

gexiv2_metadata_is_xmp_tag ()

gboolean
gexiv2_metadata_is_xmp_tag (const gchar *tag);

The Exiv2 Tag Reference can be found at http://exiv2.org/metadata.html

Parameters

tag

An Exiv2 tag

 

Returns

TRUE if the Exiv2 tag is for the XMP domain.


gexiv2_metadata_get_supports_xmp ()

gboolean
gexiv2_metadata_get_supports_xmp (GExiv2Metadata *self);

Query self whether it supports writing XMP metadata.

Parameters

self

An instance of GExiv2Metadata

 

Returns

TRUE if the loaded image type supports writing XMP metadata.


gexiv2_metadata_has_xmp ()

gboolean
gexiv2_metadata_has_xmp (GExiv2Metadata *self);

Parameters

self

An instance of GExiv2Metadata

 

Returns

TRUE if XMP metadata is present in the loaded image


gexiv2_metadata_try_set_xmp_tag_struct ()

gboolean
gexiv2_metadata_try_set_xmp_tag_struct
                               (GExiv2Metadata *self,
                                const gchar *tag,
                                GExiv2StructureType type,
                                GError **error);

The Exiv2 Tag Reference can be found at http://exiv2.org/metadata.html

Parameters

self

An instance of GExiv2Metadata

 

tag

Exiv2 tag name

 

type

The GExiv2StructureType specifying the type of structure

 

error

A return location for a GError or NULL.

[allow-none]

Returns

TRUE on success

Since: 0.12.2


gexiv2_metadata_clear_xmp ()

void
gexiv2_metadata_clear_xmp (GExiv2Metadata *self);

Clears all XMP metadata from the loaded image.

Parameters

self

An instance of GExiv2Metadata

 

gexiv2_metadata_try_generate_xmp_packet ()

gchar *
gexiv2_metadata_try_generate_xmp_packet
                               (GExiv2Metadata *self,
                                GExiv2XmpFormatFlags xmp_format_flags,
                                guint32 padding,
                                GError **error);

Encode the XMP packet as a NULL-terminated string.

Parameters

self

An instance of GExiv2Metadata

 

xmp_format_flags

One of GExiv2XmpFormatFlags

 

padding

The padding (FIXME: Add documentation)

 

error

A return location for a GError or NULL.

[allow-none]

Returns

Encode the XMP packet and return as a NULL-terminated string.

[transfer full][allow-none]

Since: 0.12.2


gexiv2_metadata_try_get_xmp_packet ()

gchar *
gexiv2_metadata_try_get_xmp_packet (GExiv2Metadata *self,
                                    GError **error);

Parameters

self

An instance of GExiv2Metadata

 

error

A return location for a GError or NULL.

[allow-none]

Returns

The currently-encoded XMP packet (see gexiv2_metadata_generate_xmp_packet).

[transfer full][allow-none]

Since: 0.12.2


gexiv2_metadata_get_xmp_tags ()

gchar **
gexiv2_metadata_get_xmp_tags (GExiv2Metadata *self);

Parameters

self

An instance of GExiv2Metadata

 

Returns

A unique list of the available XMP tags.

[transfer full][array zero-terminated=1]


gexiv2_metadata_try_register_xmp_namespace ()

gboolean
gexiv2_metadata_try_register_xmp_namespace
                               (const gchar *name,
                                const gchar *prefix,
                                GError **error);

Parameters

name

XMP URI name (should end in /).

[in]

prefix

XMP namespace prefix.

[in]

error

A return location for a GError or NULL.

[allow-none]

Returns

Boolean success value.

[skip]

Since: 0.14.0


gexiv2_metadata_try_unregister_xmp_namespace ()

gboolean
gexiv2_metadata_try_unregister_xmp_namespace
                               (const gchar *name,
                                GError **error);

Parameters

name

XMP URI name (should end in /).

[in]

error

A return location for a GError or NULL.

[allow-none]

Returns

Boolean success value.

[skip]

Since: 0.14.0


gexiv2_metadata_try_unregister_all_xmp_namespaces ()

void
gexiv2_metadata_try_unregister_all_xmp_namespaces
                               (GError **error);

Parameters

error

A return location for a GError or NULL.

[allow-none]

Since: 0.14.0


gexiv2_metadata_try_get_xmp_namespace_for_tag ()

char *
gexiv2_metadata_try_get_xmp_namespace_for_tag
                               (const char *tag,
                                GError **error);

Parameters

tag

Full tag name (e.g. "Xmp.dc.subject") or XMP namespace identifier (e.g. "dc").

[in]

error

A return location for a GError or NULL.

[allow-none]

Returns

NULL if there was no namespace registered for the tag, the URI of the namespace otherwise.

[transfer full]

Since: 0.14.0


gexiv2_metadata_get_xmp_packet ()

gchar *
gexiv2_metadata_get_xmp_packet (GExiv2Metadata *self);

gexiv2_metadata_get_xmp_packet has been deprecated since version 0.12.2 and should not be used in newly-written code.

Use gexiv2_metadata_try_get_xmp_packet() instead.

Parameters

self

An instance of GExiv2Metadata

 

Returns

The currently-encoded XMP packet (see gexiv2_metadata_generate_xmp_packet).

[transfer full][allow-none]


gexiv2_metadata_register_xmp_namespace ()

gboolean
gexiv2_metadata_register_xmp_namespace
                               (const gchar *name,
                                const gchar *prefix);

gexiv2_metadata_register_xmp_namespace has been deprecated since version 0.14.0 and should not be used in newly-written code.

Use gexiv2_metadata_try_register_xmp_namespace() instead.

Parameters

name

XMP URI name (should end in /).

[in]

prefix

XMP namespace prefix.

[in]

Returns

Boolean success value.

[skip]


gexiv2_metadata_unregister_xmp_namespace ()

gboolean
gexiv2_metadata_unregister_xmp_namespace
                               (const gchar *name);

gexiv2_metadata_unregister_xmp_namespace has been deprecated since version 0.14.0 and should not be used in newly-written code.

Use gexiv2_metadata_try_unregister_xmp_namespace() instead.

Parameters

name

XMP URI name (should end in /).

[in]

Returns

Boolean success value.

[skip]


gexiv2_metadata_unregister_all_xmp_namespaces ()

void
gexiv2_metadata_unregister_all_xmp_namespaces
                               (void);

gexiv2_metadata_unregister_all_xmp_namespaces has been deprecated since version 0.14.0 and should not be used in newly-written code.

Use gexiv2_metadata_try_unregister_all_xmp_namespaces() instead.


gexiv2_metadata_get_xmp_namespace_for_tag ()

char *
gexiv2_metadata_get_xmp_namespace_for_tag
                               (const char *tag);

gexiv2_metadata_get_xmp_namespace_for_tag has been deprecated since version 0.14.0 and should not be used in newly-written code.

Use gexiv2_metadata_try_get_xmp_namespace_for_tag() instead.

Parameters

tag

Full tag name (e.g. "Xmp.dc.subject") or XMP namespace identifier (e.g. "dc").

[in]

Returns

NULL if there was no namespace registered for the tag, the URI of the namespace otherwise.

[transfer full]

Since: 0.12.2


gexiv2_metadata_generate_xmp_packet ()

gchar *
gexiv2_metadata_generate_xmp_packet (GExiv2Metadata *self,
                                     GExiv2XmpFormatFlags xmp_format_flags,
                                     guint32 padding);

gexiv2_metadata_generate_xmp_packet has been deprecated since version 0.12.2 and should not be used in newly-written code.

Use gexiv2_metadata_try_generate_xmp_packet() instead.

Encode the XMP packet as a NULL-terminated string.

Parameters

self

An instance of GExiv2Metadata

 

xmp_format_flags

One of GExiv2XmpFormatFlags

 

padding

The padding (FIXME: Add documentation)

 

Returns

Encode the XMP packet and return as a NULL-terminated string.

[transfer full][allow-none]


gexiv2_metadata_set_xmp_tag_struct ()

gboolean
gexiv2_metadata_set_xmp_tag_struct (GExiv2Metadata *self,
                                    const gchar *tag,
                                    GExiv2StructureType type);

gexiv2_metadata_set_xmp_tag_struct has been deprecated since version 0.12.2 and should not be used in newly-written code.

Use gexiv2_metadata_try_set_xmp_tag_struct() instead.

The Exiv2 Tag Reference can be found at http://exiv2.org/metadata.html

Parameters

self

An instance of GExiv2Metadata

 

tag

Exiv2 tag name

 

type

The GExiv2StructureType specifying the type of structure

 

Returns

TRUE on success

Types and Values

enum GExiv2XmpFormatFlags

Options to control the format of the serialized XMP packet Taken from: exiv2/src/xmp.hpp

Members

GEXIV2_OMIT_PACKET_WRAPPER

Omit the XML packet wrapper.

 

GEXIV2_READ_ONLY_PACKET

Default is a writeable packet.

 

GEXIV2_USE_COMPACT_FORMAT

Use a compact form of RDF.

 

GEXIV2_INCLUDE_THUMBNAIL_PAD

Include a padding allowance for a thumbnail image.

 

GEXIV2_EXACT_PACKET_LENGTH

The padding parameter is the overall packet length.

 

GEXIV2_WRITE_ALIAS_COMMENTS

Show aliases as XML comments.

 

GEXIV2_OMIT_ALL_FORMATTING

Omit all formatting whitespace.