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.
Instance methods
rhythmdb_entry_type_fetch_metadata
Fetches metadata for a URI (not an entry yet, at this point) from a cache, if possible.
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: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.