![]() |
![]() |
![]() |
libdmapsharing Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy |
#define TYPE_DMAP_DB #define DMAP_DB (o) #define IS_DMAP_DB (o) #define DMAP_DB_GET_INTERFACE (o) DMAPDb; DMAPDbInterface; const char * (*RecordGetValueFunc) (DMAPRecord *record); FilterDefinition; GType dmap_db_get_type (void); guint dmap_db_add (DMAPDb *db, DMAPRecord *record); DMAPRecord * dmap_db_lookup_by_id (const DMAPDb *db, guint id); void dmap_db_foreach (const DMAPDb *db, GHFunc func, gpointer data); gulong dmap_db_count (const DMAPDb *db);
#define DMAP_DB(o)
Casts a DMAPDb or derived pointer into a (DMAPDb *) pointer. Depending on the current debugging level, this function may invoke certain runtime checks to identify invalid casts.
|
Object which is subject to casting. |
#define IS_DMAP_DB(o)
Checks whether a valid GTypeInstance pointer is of type TYPE_DMAP_DB
.
|
Instance to check for being a TYPE_DMAP_DB .
|
#define DMAP_DB_GET_INTERFACE(o)
Get the insterface structure associated to a DMAPDb instance.
|
a DMAPDb instance. |
typedef struct { GTypeInterface parent; guint (*add) (DMAPDb *db, DMAPRecord *record); guint (*add_with_id) (DMAPDb *db, DMAPRecord *record, guint id); guint (*add_path) (DMAPDb *db, const gchar *path); DMAPRecord *(*lookup_by_id) (const DMAPDb *db, guint id); guint (*lookup_id_by_location) (const DMAPDb *db, const gchar *location); void (*foreach) (const DMAPDb *db, GHFunc func, gpointer data); gint64 (*count) (const DMAPDb *db); } DMAPDbInterface;
guint dmap_db_add (DMAPDb *db, DMAPRecord *record);
Add a record to the database and assign it the given ID.
|
A media database. |
|
A database record. |
Returns : |
The ID for the newly added record. See also the notes for dmap_db_add regarding reference counting. |
DMAPRecord * dmap_db_lookup_by_id (const DMAPDb *db, guint id);
|
A media database. |
|
A record ID. |
Returns : |
the database record corresponding to id . This record should
be unrefed by the calling code when no longer required.
If you are implementing a full database using this API, then you
probably want to increment the reference count before returning a record
pointer.
On the other hand, if you are implementing an adapter class
and the records are stored elsewhere, then you will probably return a
transient record. That is, once the user is done using it, the returned
record should be free'd because it is a adapter copy of the real record.
In this case, the reference count should not be incremented before
returning a record pointer.
|
void dmap_db_foreach (const DMAPDb *db, GHFunc func, gpointer data);
Apply a function to each record in a media database.
|
A media database. |
|
|
|
User data to pass to the function. |