aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* */smbclient: protect all libsmbclient calls with a mutexMax Kellermann2014-02-067-1/+86
| | | | | libsmbclient is not thread-safe nor reentrant. We must protect all function calls with a global mutex, unfortunately.
* neighbor/smbclient: move smbclient_domain to lib/smbclient/Domain.cxxMax Kellermann2014-02-064-2/+53
|
* Makefile.am: add variable SMBCLIENT_SOURCESMax Kellermann2014-02-061-3/+6
|
* mixer/Plugin: pass AudioOutput reference to init()Max Kellermann2014-02-0618-143/+81
| | | | Passing a void pointer is unsafe.
* MixerPlugin: convert function pointers to Mixer virtual methodsMax Kellermann2014-02-0611-298/+200
|
* Mixer: delete the implicit copy constructorMax Kellermann2014-02-061-0/+2
|
* Mixer: make the constructor "explicit"Max Kellermann2014-02-061-1/+1
|
* mixer/software: use IgnoreError()Max Kellermann2014-02-061-2/+2
|
* SongUpdate: use the Storage interface, support remote filesMax Kellermann2014-02-064-19/+33
| | | | | | | 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.
* SongUpdate: make variables more localMax Kellermann2014-02-061-10/+5
|
* input/nfs: new plugin using libnfsMax Kellermann2014-02-068-0/+287
|
* doc/user: sort input pluginsMax Kellermann2014-02-061-53/+53
|
* storage/smbclient: Storage implementation using libsmbclientMax Kellermann2014-02-063-0/+220
|
* Instance: narrow "storage" to class StorageMax Kellermann2014-02-061-2/+2
|
* storage/local: OpenDirectory() returns StorageDirectoryReader*Max Kellermann2014-02-052-3/+3
|
* storage/Interface: explicitly delete copy constructorsMax Kellermann2014-02-052-2/+4
|
* storage/local: move to src/storage/plugins/Max Kellermann2014-02-054-4/+4
|
* db/update: include StorageInterface.hxx instead of LocalStorage.hxxMax Kellermann2014-02-052-2/+2
|
* storage: add abstract interfaceMax Kellermann2014-02-0511-63/+149
| | | | Prepare for the plugin interface.
* db/UpdateWalk: move LocalStorage to InstanceMax Kellermann2014-02-058-7/+21
| | | | Keep only a reference.
* db/update/Remove: initialize attribute "removed_song"Max Kellermann2014-02-051-1/+2
| | | | Fixes bogus assertion failure.
* Mixer: use reference instead of pointer for MixerPluginMax Kellermann2014-02-056-29/+21
|
* Mixer: rename struct mixer_plugin to MixerPluginMax Kellermann2014-02-0513-21/+24
|
* Main: remove unused global variable "main_thread"Max Kellermann2014-02-052-7/+0
|
* LocalStorage: new API abstracting filesystem walkMax Kellermann2014-02-0513-198/+542
| | | | | 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.
* Instance: add attribute "event_loop"Max Kellermann2014-02-054-18/+22
| | | | Replaces global variable "main_loop".
* MixerPlugin: add EventLoop& init() parameterMax Kellermann2014-02-0516-43/+51
|
* event/Loop: remove the dummy constructor argumentMax Kellermann2014-02-058-10/+8
|
* test/ShutdownHandler: make the constructor "explicit"Max Kellermann2014-02-051-1/+1
|
* db/DatabaseListener: add method OnDatabaseSongRemoved()Max Kellermann2014-02-0410-38/+49
| | | | Decouples db/update/Remove.cpp from global variables.
* db/proxy: include cleanupMax Kellermann2014-02-041-1/+0
|
* Instance: merge DatabaseModified() into OnDatabaseModified()Max Kellermann2014-02-042-18/+7
|
* db/update/Service: use DatabaseListener instead of InstanceMax Kellermann2014-02-043-6/+12
| | | | 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".
* {Message,Neighbor}Commands: use Client::partition instead of Main.hxxMax Kellermann2014-02-044-13/+17
|
* ClientMessage: undefine GetMessage on WIN32Max Kellermann2014-02-041-0/+6
|
* GlobalEvents: remove obsolete event DELETEMax Kellermann2014-02-041-3/+0
|
* Instance: add Database attributeMax Kellermann2014-02-0421-152/+106
| | | | Move from db/DatabaseGlue.cxx, eliminating global variable.
* Main: create UpdateService instance in glue_db_init_and_load()Max Kellermann2014-02-042-5/+12
|
* 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.
* StateFile: pass Database to SongLoaderMax Kellermann2014-02-041-1/+2
| | | | | Fixes loading database songs from state file (regression by commit 29072797c).
* db/update/Service: add SimpleDatabase referenceMax Kellermann2014-02-046-41/+24
| | | | 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-043-22/+0
|
* SongSticker: add Database reference parameterMax Kellermann2014-02-043-8/+5
|
* db/DatabasePlaylist: pass Database reference aroundMax Kellermann2014-02-049-27/+53
| | | | Reduce global variable usage, move to frontend code.
* db/LightSong: make "real_uri" a pointerMax Kellermann2014-02-043-3/+4
| | | | | Reduce overhead. LightSong can always point to the "real" allocated string.
* PlaylistFile: use class SongLoaderMax Kellermann2014-02-034-25/+17
|