aboutsummaryrefslogtreecommitdiffstats
path: root/src/db/SimpleDatabasePlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-10-30*: update copyright year to 2013Max Kellermann1-1/+1
2013-10-29DatabaseSelection: use std::stringMax Kellermann1-2/+2
2013-10-20TagType: rename enum tag_type to TagTypeMax Kellermann1-1/+1
2013-10-19*: use references instead of pointersMax Kellermann1-2/+2
2013-10-19*: use nullptr instead of NULLMax Kellermann1-8/+8
2013-10-17fs/Path: rename to AllocatedPathMax Kellermann1-1/+1
The new class Path only holds a string pointer without being responsible for allocation/deallocation. The FileSystem.hxx library accepts Path arguments instead of AllocatedPath, to avoid forcing callers to allocate another string object.
2013-10-15Client, ...: remove unnecessary glib.h includeMax Kellermann1-2/+0
2013-10-02Log: new logging library APIMax Kellermann1-4/+5
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-10-02filesystem/Path: use std::stringMax Kellermann1-2/+1
2013-10-02Listen, ...: add missing includesMax Kellermann1-0/+2
2013-09-05conf.h: remove obsolete headerMax Kellermann1-1/+1
Use only ConfigData.hxx in plugin sources to reduce header dependencies.
2013-09-04util/Error: new error passing libraryMax Kellermann1-70/+53
Replaces GLib's GError.
2013-08-10db_error: convert to C++Max Kellermann1-1/+1
2013-08-07ConfigPath: return a Path objectMax Kellermann1-12/+3
Migrate all callers to use Path directly, instead of doing the conversion in each caller.
2013-08-04*: use gcc.h macros instead of GLibMax Kellermann1-2/+2
2013-08-04DatabasePlugin: pass config_param referenceMax Kellermann1-3/+3
2013-07-28song: convert header to C++Max Kellermann1-4/+4
2013-02-02SimpleDatabasePlugin: use file system API, log in UTF-8Denis Krjuchkov1-25/+23
2013-01-28Path::FromUTF8() returns nulled instance on error, add error handling where ↵Denis Krjuchkov1-0/+6
required
2013-01-18Path: new class "Path" wraps filesystem path stringsMax Kellermann1-2/+3
2013-01-07decoder_api.h, ...: add "extern C"Max Kellermann1-3/+0
2013-01-03TextFile: convert to a classMax Kellermann1-7/+4
2013-01-03Directory: rename struct directory to DirectoryMax Kellermann1-4/+4
2013-01-02Directory: turn functions to methodsMax Kellermann1-12/+10
2013-01-02Directory: make the header C++ onlyMax Kellermann1-2/+1
2013-01-02db_lock: convert to C++Max Kellermann1-2/+2
2013-01-02db_save, state_file: convert to C++Max Kellermann1-1/+1
2012-09-05db/SimpleDatabasePlugin: fix memory leak in Visit()Max Kellermann1-7/+11
When visiting a song, GetSong() was called, but this object was never returned by calling ReturnSong(). This patch locks the database only once in Visit() and passes the original song object to the visitor, avoiding the copy.
2012-09-05db_lock: add C++ helper class ScopeDatabaseLockMax Kellermann1-11/+6
2012-08-29SongFilter: convert to a C++ classMax Kellermann1-1/+1
2012-08-29DatabaseSelection: add method Match()Max Kellermann1-2/+1
2012-08-29locate: rename to SongFilter.cxxMax Kellermann1-1/+1
2012-08-16DatabasePlugin: add method ReturnSong()Max Kellermann1-0/+20
Allow the plugin to allocate the GetSong() return value.
2012-08-15DatabasePlugin: add method GetStats()Max Kellermann1-0/+7
Optimize the ProxyDatabase by invoking "stats" on the peer, instead of visiting all songs.
2012-08-15DatabasePlugin: add method VisitUniqueTags()Max Kellermann1-0/+11
Optimize the ProxyDatabase by invoking "list" on the peer, instead of visiting all songs.
2012-08-15db_visitor: delete obsolete headerMax Kellermann1-1/+0
2012-08-08DatabaseSelection: add "match" attributeMax Kellermann1-2/+5
Let the database plugin do the match.
2012-08-07db_selection: rename to DatabaseSelectionMax Kellermann1-2/+2
2012-08-07Database{Plugin,Visitor}: pass referencesMax Kellermann1-7/+7
2012-08-02DatabasePlugin: make Visit() constMax Kellermann1-2/+2
2012-08-01db_plugin: convert to C++Max Kellermann1-142/+100
2012-07-10require GLib 2.16Max Kellermann1-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.
2012-02-02directory: require the caller to lock the db_mutexMax Kellermann1-2/+11
Reduce the number of lock/unlock cycles, and make database handling safer.
2012-01-24directory: replace dirvec with doubly linked listMax Kellermann1-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.
2012-01-24directory: simplify constructors and clarify API documentationMax Kellermann1-2/+2
Pass only the "name" to a directory, instead of the full (relative) path.
2012-01-12db/simple: pass the correct GError pointerMax Kellermann1-1/+1
2011-09-13db_plugin: add method visit()Max Kellermann1-0/+41
2011-09-13db_plugin: add method get_song()Max Kellermann1-0/+17
New db_get_song() implementation.
2011-09-10db_plugin: introducing a plugin API for the song databaseMax Kellermann1-0/+287
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.