aboutsummaryrefslogtreecommitdiffstats
path: root/src/db (follow)
Commit message (Collapse)AuthorAgeFilesLines
* storage: add abstract interfaceMax Kellermann2014-02-056-25/+25
| | | | Prepare for the plugin interface.
* db/UpdateWalk: move LocalStorage to InstanceMax Kellermann2014-02-056-7/+13
| | | | Keep only a reference.
* db/update/Remove: initialize attribute "removed_song"Max Kellermann2014-02-051-1/+2
| | | | Fixes bogus assertion failure.
* LocalStorage: new API abstracting filesystem walkMax Kellermann2014-02-057-174/+211
| | | | | Prepare to make this a new plugin API, for example to use a SMB share for the music_directory.
* db/UpdateIO: add "pure" attributesMax Kellermann2014-02-051-0/+4
|
* db/UpdateGlue: relax assertionMax Kellermann2014-02-051-2/+2
| | | | Fixes assertion failure when update gets launched during MPD startup.
* db/DatabaseListener: add method OnDatabaseSongRemoved()Max Kellermann2014-02-047-28/+21
| | | | Decouples db/update/Remove.cpp from global variables.
* db/proxy: include cleanupMax Kellermann2014-02-041-1/+0
|
* db/update/Service: use DatabaseListener instead of InstanceMax Kellermann2014-02-042-5/+11
| | | | Don't use the global variable "instance".
* db/update/Service: use EventLoop::IsInside()Max Kellermann2014-02-041-2/+6
| | | | Don't use the global variable "main_thread".
* Instance: add Database attributeMax Kellermann2014-02-046-120/+16
| | | | Move from db/DatabaseGlue.cxx, eliminating global variable.
* db/update/Service: initialize "progress" and "update_task_id"Max Kellermann2014-02-041-1/+3
| | | | | Database update was randomly broken due to these uninitialized variables.
* db/update/Service: add SimpleDatabase referenceMax Kellermann2014-02-045-40/+22
| | | | Don't use the global variables from the DatabaseSimple library.
* db/update/Walk: add Directory reference parameterMax Kellermann2014-02-043-14/+14
| | | | Remove dependency on the DatabaseSimple library.
* db/Simple: remove unused function db_get_directory()Max Kellermann2014-02-042-21/+0
|
* db/DatabasePlaylist: pass Database reference aroundMax Kellermann2014-02-044-18/+12
| | | | Reduce global variable usage, move to frontend code.
* db/LightSong: make "real_uri" a pointerMax Kellermann2014-02-042-2/+3
| | | | | Reduce overhead. LightSong can always point to the "real" allocated string.
* db/update/Archive: delete archive from database on errorMax Kellermann2014-01-311-0/+2
|
* db/update/Editor: add locking method variantsMax Kellermann2014-01-315-27/+36
|
* db/update: convert runtime check to assertionMax Kellermann2014-01-311-4/+1
|
* update/Walk: declare std::string at assignmentMax Kellermann2014-01-301-4/+2
| | | | Reduce overhead.
* db/update: convert to OO APIMax Kellermann2014-01-3023-494/+468
| | | | | Move global variables into the new classes. That may allow multiple update threads for multiple databases one day.
* ExcludeList: move to db/update/Max Kellermann2014-01-302-0/+163
|
* InotifyUpdate: pass EventLoop to mpd_inotify_init()Max Kellermann2014-01-292-6/+8
|
* db/Directory: move isRootDirectory() to Uri.hxxMax Kellermann2014-01-294-6/+31
| | | | Decouple command/OtherCommands.cxx from the "simple" database plugin.
* Playlist{Info,Vector}: move to db/Max Kellermann2014-01-276-3/+188
|
* db/upnp: remove sleep(2) callMax Kellermann2014-01-261-3/+0
| | | | | This call was unnecessary. It is a bad idea anyway to block the MPD process for some arbitrary amount of time.
* upnp: initialize the client handle only onceMax Kellermann2014-01-261-16/+10
| | | | | | Eliminate class LibUPnP and move the code to ClientInit.cxx. Its initialization function can be called multiple times, but UpnpRegisterClient() is called at most once.
* upnp/discovery: use a plain UpnpClient_Handle instead of class LibUPnPMax Kellermann2014-01-261-1/+1
|
* db/upnp: move generic code to lib/upnp/Max Kellermann2014-01-2618-1647/+10
|
* db/upnp: rename variablesMax Kellermann2014-01-261-21/+21
|
* DespotifyUtils, Expat: move to lib/Max Kellermann2014-01-242-2/+2
|
* Database*: move to db/Max Kellermann2014-01-2496-22/+5776
|
* Config*: move to config/Max Kellermann2014-01-243-3/+3
|
* db/upnp/Discovery: use std::list instead of std::mapMax Kellermann2014-01-232-16/+33
| | | | | There will only be very few items, and that does not justify the bloat of std::map.
* db/upnp/Discovery: move code to LockAdd(), LockRemove()Max Kellermann2014-01-232-9/+21
|
* db/upnp/Discovery: un-inline the destructorMax Kellermann2014-01-232-0/+6
|
* db/upnp: un-inline a few destructorsMax Kellermann2014-01-238-0/+49
| | | | Reduce bloat.
* db/upnp: strict vpath checks for the "root" directoryMax Kellermann2014-01-231-0/+20
|
* db/upnp: move code to VisitObject()Max Kellermann2014-01-231-22/+33
|
* db/upnp: merge two PathTraitsUTF8::Build() callsMax Kellermann2014-01-231-16/+4
|
* db/upnp: move code to VisitItem()Max Kellermann2014-01-231-61/+56
|
* db/upnp: fix subdirectory paths in "listallinfo"Max Kellermann2014-01-231-3/+3
| | | | Add missing server name prefix.
* base_uriMax Kellermann2014-01-231-0/+4
|
* db/upnp: pass char* to visitSong()Max Kellermann2014-01-231-6/+6
| | | | Don't use std::string, reduce bloat.
* db/upnp: call VisitDirectory on servers, even in recursive modeMax Kellermann2014-01-221-14/+10
|
* db/upnp: make several methods "const"Max Kellermann2014-01-223-22/+22
|
* db/upnp: inline Configure()Max Kellermann2014-01-221-1/+1
|
* db/upnp: don't duplicate song data for VisitSongMax Kellermann2014-01-221-2/+9
| | | | Not necessary because we control the LightSong's life cycle.
* db/upnp: emplace/move in csvToStrings()Max Kellermann2014-01-221-2/+2
|