| libdmapsharing-3.0 Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
struct DMAPDbIface; const char * (*RecordGetValueFunc) (DMAPRecord *record); guint dmap_db_add (DMAPDb *db,DMAPRecord *record); guint dmap_db_add_with_id (DMAPDb *db,DMAPRecord *record,guint id); guint dmap_db_add_path (DMAPDb *db,const gchar *path); DMAPRecord * dmap_db_lookup_by_id (const DMAPDb *db,guint id); guint dmap_db_lookup_id_by_location (const DMAPDb *db,const gchar *location); void dmap_db_foreach (const DMAPDb *db,GHFunc func,gpointer data); gulong dmap_db_count (const DMAPDb *db); GHashTable * dmap_db_apply_filter (DMAPDb *db,GSList *filter_def);
struct DMAPDbIface {
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);
};
guint dmap_db_add (DMAPDb *db,DMAPRecord *record);
Add a record to the database.
|
A media database. |
|
A database record. |
Returns : |
The ID for the newly added record. A reference to the record will be retained by the database (if required; an adapter-type implementation may not want to retain a reference as the record data may be placed elsewhere). In all cases, the record should be unrefed by the calling code. |
guint dmap_db_add_with_id (DMAPDb *db,DMAPRecord *record,guint id);
Add a record to the database and assign it the given ID.
|
A media database. |
|
A database record. |
|
A database record ID. |
Returns : |
The ID for the newly added record. See also the notes for dmap_db_add regarding reference counting. |
guint dmap_db_add_path (DMAPDb *db,const gchar *path);
Create a record and add it to the database.
|
A media database. |
|
A path to an appropriate media file. |
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. |
guint dmap_db_lookup_id_by_location (const DMAPDb *db,const gchar *location);
|
A media database. |
|
A record location. |
Returns : |
the database id for the record corresponding to path or 0 if
such a record does not exist. |
void dmap_db_foreach (const DMAPDb *db,GHFunc func,gpointer data);
Apply a function to each record in a media database.
|
A media database. |
|
The function to apply to each record in the database. |
|
User data to pass to the function. |
gulong dmap_db_count (const DMAPDb *db);
|
A media database. |
Returns : |
the number of records in the database. |