aboutsummaryrefslogtreecommitdiffstats
path: root/src/db (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* DatabaseSelection: add "match" attributeMax Kellermann2012-08-081-2/+5
| | | | Let the database plugin do the match.
* db_selection: rename to DatabaseSelectionMax Kellermann2012-08-072-3/+3
|
* Database{Plugin,Visitor}: pass referencesMax Kellermann2012-08-072-8/+8
|
* DatabasePlugin: make Visit() constMax Kellermann2012-08-022-4/+4
|
* gcc.h: re-add gcc_const and gcc_pureMax Kellermann2012-08-021-5/+4
| | | | Remove GLib dependency from some headers.
* db_plugin: convert to C++Max Kellermann2012-08-013-184/+184
|
* require GLib 2.16Max Kellermann2012-07-101-1/+0
| | | | | GLib 2.16 was released more than 4 years ago. Let's remove some cruft from the glib_compat.h header, and avoid new cruft to it.
* directory: require the caller to lock the db_mutexMax Kellermann2012-02-021-2/+11
| | | | | Reduce the number of lock/unlock cycles, and make database handling safer.
* directory: replace dirvec with doubly linked listMax Kellermann2012-01-241-2/+6
| | | | | Random access is not needed, and a linked list is easier to manage: we don't need to (re-)allocate the pointer array.
* directory: simplify constructors and clarify API documentationMax Kellermann2012-01-241-2/+2
| | | | | Pass only the "name" to a directory, instead of the full (relative) path.
* db/simple: pass the correct GError pointerMax Kellermann2012-01-121-1/+1
|
* db_plugin: add method visit()Max Kellermann2011-09-131-0/+41
|
* db_plugin: add method get_song()Max Kellermann2011-09-131-0/+17
| | | | New db_get_song() implementation.
* db_plugin: introducing a plugin API for the song databaseMax Kellermann2011-09-102-0/+329
First draft, not really pluggable currently - hard-coded to use the "simple" plugin, and calls several of its internal functions. The API is very simple currently, all searches are still performed over the root "directory" object. Future changes to the API will move those search implementations into the plugin, to allow more efficient implementations, or implementations that don't have the whole tree in memory all the time.