Class

RBRhythmDBEntryType

Description [src]

class RB.RhythmDBEntryType : GObject.Object
{
  priv: RhythmDBEntryTypePrivate*
}

This is the base class for database entry type classes, which provide some aspects of the behaviour of database entry types. There are different entry types for songs, radio streams, podcast feeds and episodes, and so on.

Plugins written in Python or Vala can create new entry types by subclassing and overriding any methods required. Plugins written in C can create a new instance of the RhythmDBEntryType base class and use its function pointer members rather than subclassing.

Ancestors

Instance methods

rhythmdb_entry_type_fetch_metadata

Fetches metadata for a URI (not an entry yet, at this point) from a cache, if possible.

rhythmdb_entry_type_get_name

Returns the name of the entry type.

rhythmdb_entry_type_purge_metadata_cache
No description available.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

RB.RhythmDBEntryType:cache-name

Metadata cache name. For entry types created by a plugin, should match the plugin name. If this is set, the entry type must also implement the uri_to_cache_key method.

RB.RhythmDBEntryType:category

The RhythmDBEntryCategory that this entry type fits into.

RB.RhythmDBEntryType:db

The RhythmDB instance.

RB.RhythmDBEntryType:name

Entry type name. This must be unique.

RB.RhythmDBEntryType:save-to-disk

If TRUE, entries of this type should be written to the on-disk database.

RB.RhythmDBEntryType:type-data-size

The size of the type-specific data structure to allocate for each entry of this type.

Signals

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct RBRhythmDBEntryTypeClass {
  GObjectClass parent_class;
  void (* entry_created) (
    RhythmDBEntryType* etype,
    RhythmDBEntry* entry
  );
  void (* destroy_entry) (
    RhythmDBEntryType* etype,
    RhythmDBEntry* entry
  );
  char* (* get_playback_uri) (
    RhythmDBEntryType* etype,
    RhythmDBEntry* entry
  );
  void (* update_availability) (
    RhythmDBEntryType* etype,
    RhythmDBEntry* entry,
    RhythmDBEntryAvailability avail
  );
  gboolean (* can_sync_metadata) (
    RhythmDBEntryType* etype,
    RhythmDBEntry* entry
  );
  void (* sync_metadata) (
    RhythmDBEntryType* etype,
    RhythmDBEntry* entry,
    GSList* changes,
    GError** error
  );
  char* (* uri_to_cache_key) (
    RhythmDBEntryType* etype,
    const char* uri
  );
  char* (* cache_key_to_uri) (
    RhythmDBEntryType* etype,
    const char* key
  );
  RBExtDBKey* (* create_ext_db_key) (
    RhythmDBEntryType* etype,
    RhythmDBEntry* entry,
    RhythmDBPropType prop
  );
  
}

No description available.

Class members
parent_class: GObjectClass

No description available.

entry_created: void (* entry_created) ( RhythmDBEntryType* etype, RhythmDBEntry* entry )

No description available.

destroy_entry: void (* destroy_entry) ( RhythmDBEntryType* etype, RhythmDBEntry* entry )

No description available.

get_playback_uri: char* (* get_playback_uri) ( RhythmDBEntryType* etype, RhythmDBEntry* entry )

No description available.

update_availability: void (* update_availability) ( RhythmDBEntryType* etype, RhythmDBEntry* entry, RhythmDBEntryAvailability avail )

No description available.

can_sync_metadata: gboolean (* can_sync_metadata) ( RhythmDBEntryType* etype, RhythmDBEntry* entry )

No description available.

sync_metadata: void (* sync_metadata) ( RhythmDBEntryType* etype, RhythmDBEntry* entry, GSList* changes, GError** error )

No description available.

uri_to_cache_key: char* (* uri_to_cache_key) ( RhythmDBEntryType* etype, const char* uri )

No description available.

cache_key_to_uri: char* (* cache_key_to_uri) ( RhythmDBEntryType* etype, const char* key )

No description available.

create_ext_db_key: RBExtDBKey* (* create_ext_db_key) ( RhythmDBEntryType* etype, RhythmDBEntry* entry, RhythmDBPropType prop )

No description available.

Virtual methods