aboutsummaryrefslogtreecommitdiffstats
path: root/src/db (follow)
Commit message (Collapse)AuthorAgeFilesLines
* SongUpdate: use the Storage interface, support remote filesMax Kellermann2014-02-063-5/+7
| | | | | | | This commit finally allows the database update to scan remote files, e.g. using the smbclient storage plugin. However, it is not yet possible to configure that, therefore the feature is not accessible yet.
* db/update: include StorageInterface.hxx instead of LocalStorage.hxxMax Kellermann2014-02-052-2/+2
|
* 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
|