Method

RBRhythmDBentry_request_extra_metadata

Declaration [src]

GValue*
rhythmdb_entry_request_extra_metadata (
  RhythmDB* db,
  RhythmDBEntry* entry,
  const gchar* property_name
)

Description [src]

Emits a request for extra metadata for the entry. The property_name argument is emitted as the ::detail part of the “entry_extra_metadata_request” signal. It should be a namespaced RDF predicate e.g. from Dublin Core, MusicBrainz, or internal to Rhythmbox (namespace “rb:”). Suitable predicates would be those that are expensive to acquire or only apply to a limited range of entries. Handlers capable of providing a particular predicate may ensure they only see appropriate requests by supplying an appropriate ::detail part when connecting to the signal. Upon a handler returning a non-NULL value, emission will be stopped and the value returned to the caller; if no handlers return a non-NULL value, the caller will receive NULL. Priority is determined by signal connection order, with G_CONNECT_AFTER providing a second, lower rank of priority. A handler returning a value should do so in a GValue allocated on the heap; the accumulator will take ownership. The caller should unset and free the GValue if non-NULL when finished with it.

Parameters

entry

Type: RhythmDBEntry

A RhythmDBEntry.

The data is owned by the caller of the method.
property_name

Type: const gchar*

The metadata predicate.

The data is owned by the caller of the method.
The value is a NUL terminated UTF-8 string.

Return value

Type: GValue

An allocated, initialised, set GValue, or NULL.

The caller of the method takes ownership of the returned data, and is responsible for freeing it.