aboutsummaryrefslogtreecommitdiffstats
path: root/src/db (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-02-07SongUpdate: pass Storage to UpdateFileInArchive()Max Kellermann1-1/+1
2014-02-07Mapper: move map_song_detach() to db/DatabaseSong.cxxMax Kellermann5-14/+47
Use Storage::MapUTF8() internally, don't use global variables.
2014-02-06fixed leaked LocalDirectoryReader *const reader in UpdateWalk::UpdateDirectorygeneticdrift1-3/+3
2014-02-06SongUpdate: use the Storage interface, support remote filesMax Kellermann3-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.
2014-02-05db/update: include StorageInterface.hxx instead of LocalStorage.hxxMax Kellermann2-2/+2
2014-02-05storage: add abstract interfaceMax Kellermann6-25/+25
Prepare for the plugin interface.
2014-02-05db/UpdateWalk: move LocalStorage to InstanceMax Kellermann6-7/+13
Keep only a reference.
2014-02-05db/update/Remove: initialize attribute "removed_song"Max Kellermann1-1/+2
Fixes bogus assertion failure.
2014-02-05LocalStorage: new API abstracting filesystem walkMax Kellermann7-174/+211
Prepare to make this a new plugin API, for example to use a SMB share for the music_directory.
2014-02-05db/UpdateIO: add "pure" attributesMax Kellermann1-0/+4
2014-02-05db/UpdateGlue: relax assertionMax Kellermann1-2/+2
Fixes assertion failure when update gets launched during MPD startup.
2014-02-04db/DatabaseListener: add method OnDatabaseSongRemoved()Max Kellermann7-28/+21
Decouples db/update/Remove.cpp from global variables.
2014-02-04db/proxy: include cleanupMax Kellermann1-1/+0
2014-02-04db/update/Service: use DatabaseListener instead of InstanceMax Kellermann2-5/+11
Don't use the global variable "instance".
2014-02-04db/update/Service: use EventLoop::IsInside()Max Kellermann1-2/+6
Don't use the global variable "main_thread".
2014-02-04Instance: add Database attributeMax Kellermann6-120/+16
Move from db/DatabaseGlue.cxx, eliminating global variable.
2014-02-04db/update/Service: initialize "progress" and "update_task_id"Max Kellermann1-1/+3
Database update was randomly broken due to these uninitialized variables.
2014-02-04db/update/Service: add SimpleDatabase referenceMax Kellermann5-40/+22
Don't use the global variables from the DatabaseSimple library.
2014-02-04db/update/Walk: add Directory reference parameterMax Kellermann3-14/+14
Remove dependency on the DatabaseSimple library.
2014-02-04db/Simple: remove unused function db_get_directory()Max Kellermann2-21/+0
2014-02-04db/DatabasePlaylist: pass Database reference aroundMax Kellermann4-18/+12
Reduce global variable usage, move to frontend code.
2014-02-04db/LightSong: make "real_uri" a pointerMax Kellermann2-2/+3
Reduce overhead. LightSong can always point to the "real" allocated string.
2014-01-31db/update/Archive: delete archive from database on errorMax Kellermann1-0/+2
2014-01-31db/update/Editor: add locking method variantsMax Kellermann5-27/+36
2014-01-31db/update: convert runtime check to assertionMax Kellermann1-4/+1
2014-01-30update/Walk: declare std::string at assignmentMax Kellermann1-4/+2
Reduce overhead.
2014-01-30db/update: convert to OO APIMax Kellermann23-494/+468
Move global variables into the new classes. That may allow multiple update threads for multiple databases one day.
2014-01-30ExcludeList: move to db/update/Max Kellermann2-0/+163
2014-01-29InotifyUpdate: pass EventLoop to mpd_inotify_init()Max Kellermann2-6/+8
2014-01-29db/Directory: move isRootDirectory() to Uri.hxxMax Kellermann4-6/+31
Decouple command/OtherCommands.cxx from the "simple" database plugin.
2014-01-27Playlist{Info,Vector}: move to db/Max Kellermann6-3/+188
2014-01-26db/upnp: remove sleep(2) callMax Kellermann1-3/+0
This call was unnecessary. It is a bad idea anyway to block the MPD process for some arbitrary amount of time.
2014-01-26upnp: initialize the client handle only onceMax Kellermann1-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.
2014-01-26upnp/discovery: use a plain UpnpClient_Handle instead of class LibUPnPMax Kellermann1-1/+1
2014-01-26db/upnp: move generic code to lib/upnp/Max Kellermann18-1647/+10
2014-01-26db/upnp: rename variablesMax Kellermann1-21/+21
2014-01-24DespotifyUtils, Expat: move to lib/Max Kellermann2-2/+2
2014-01-24Database*: move to db/Max Kellermann96-22/+5776
2014-01-24Config*: move to config/Max Kellermann3-3/+3
2014-01-23db/upnp/Discovery: use std::list instead of std::mapMax Kellermann2-16/+33
There will only be very few items, and that does not justify the bloat of std::map.
2014-01-23db/upnp/Discovery: move code to LockAdd(), LockRemove()Max Kellermann2-9/+21
2014-01-23db/upnp/Discovery: un-inline the destructorMax Kellermann2-0/+6
2014-01-23db/upnp: un-inline a few destructorsMax Kellermann8-0/+49
Reduce bloat.
2014-01-23db/upnp: strict vpath checks for the "root" directoryMax Kellermann1-0/+20
2014-01-23db/upnp: move code to VisitObject()Max Kellermann1-22/+33
2014-01-23db/upnp: merge two PathTraitsUTF8::Build() callsMax Kellermann1-16/+4
2014-01-23db/upnp: move code to VisitItem()Max Kellermann1-61/+56
2014-01-23db/upnp: fix subdirectory paths in "listallinfo"Max Kellermann1-3/+3
Add missing server name prefix.
2014-01-23base_uriMax Kellermann1-0/+4
2014-01-23db/upnp: pass char* to visitSong()Max Kellermann1-6/+6
Don't use std::string, reduce bloat.