Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | db/update/Walk: disable FindAncestorLoop() if device/inode==0 | Max Kellermann | 2014-02-09 | 1 | -0/+5 | |
| | | ||||||
* | | db/update/Walk: document FindAncestorLoop() | Max Kellermann | 2014-02-09 | 1 | -0/+6 | |
| | | ||||||
* | | db/update/Walk: rename find_inode_ancestor() to FindAncestorLoop() | Max Kellermann | 2014-02-09 | 1 | -4/+4 | |
| | | ||||||
* | | ArchivePlugin: pass Path to open() | Max Kellermann | 2014-02-08 | 1 | -1/+1 | |
| | | ||||||
* | | ArchivePlugin: rename struct archive_plugin to ArchivePlugin | Max Kellermann | 2014-02-08 | 2 | -5/+4 | |
| | | ||||||
* | | InotifyUpdate: use class Storage instead of Mapper.cxx | Max Kellermann | 2014-02-07 | 2 | -4/+7 | |
| | | ||||||
* | | InotifyUpdate: use the root name instead of mapper_get_music_directory_fs() | Max Kellermann | 2014-02-07 | 1 | -1/+1 | |
| | | | | | | | | | | The root WatchDirectory instance already contains the music directory, and we don't need to fetch it again. | |||||
* | | InotifyUpdate: move functions into the WatchDirectory class | Max Kellermann | 2014-02-07 | 1 | -13/+18 | |
| | | ||||||
* | | InotifyUpdate: remove unnecessary #ifdefs | Max Kellermann | 2014-02-07 | 1 | -18/+0 | |
| | | ||||||
* | | StoragePlugin: add method MapToRelativeUTF8() | Max Kellermann | 2014-02-07 | 1 | -3/+8 | |
| | | | | | | | | Replaces map_to_relative_path() from Mapper.cxx. | |||||
* | | DecoderPlugin: pass Path instance to file_decode() and scan_file() | Max Kellermann | 2014-02-07 | 1 | -2/+2 | |
| | | ||||||
* | | SongUpdate: pass Storage to UpdateFileInArchive() | Max Kellermann | 2014-02-07 | 1 | -1/+1 | |
| | | ||||||
* | | Mapper: move map_song_detach() to db/DatabaseSong.cxx | Max Kellermann | 2014-02-07 | 5 | -14/+47 | |
| | | | | | | | | Use Storage::MapUTF8() internally, don't use global variables. | |||||
* | | fixed leaked LocalDirectoryReader *const reader in UpdateWalk::UpdateDirectory | geneticdrift | 2014-02-06 | 1 | -3/+3 | |
| | | ||||||
* | | SongUpdate: use the Storage interface, support remote files | Max Kellermann | 2014-02-06 | 3 | -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.hxx | Max Kellermann | 2014-02-05 | 2 | -2/+2 | |
| | | ||||||
* | | storage: add abstract interface | Max Kellermann | 2014-02-05 | 6 | -25/+25 | |
| | | | | | | | | Prepare for the plugin interface. | |||||
* | | db/UpdateWalk: move LocalStorage to Instance | Max Kellermann | 2014-02-05 | 6 | -7/+13 | |
| | | | | | | | | Keep only a reference. | |||||
* | | db/update/Remove: initialize attribute "removed_song" | Max Kellermann | 2014-02-05 | 1 | -1/+2 | |
| | | | | | | | | Fixes bogus assertion failure. | |||||
* | | LocalStorage: new API abstracting filesystem walk | Max Kellermann | 2014-02-05 | 7 | -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" attributes | Max Kellermann | 2014-02-05 | 1 | -0/+4 | |
| | | ||||||
* | | db/UpdateGlue: relax assertion | Max Kellermann | 2014-02-05 | 1 | -2/+2 | |
| | | | | | | | | Fixes assertion failure when update gets launched during MPD startup. | |||||
* | | db/DatabaseListener: add method OnDatabaseSongRemoved() | Max Kellermann | 2014-02-04 | 7 | -28/+21 | |
| | | | | | | | | Decouples db/update/Remove.cpp from global variables. | |||||
* | | db/proxy: include cleanup | Max Kellermann | 2014-02-04 | 1 | -1/+0 | |
| | | ||||||
* | | db/update/Service: use DatabaseListener instead of Instance | Max Kellermann | 2014-02-04 | 2 | -5/+11 | |
| | | | | | | | | Don't use the global variable "instance". | |||||
* | | db/update/Service: use EventLoop::IsInside() | Max Kellermann | 2014-02-04 | 1 | -2/+6 | |
| | | | | | | | | Don't use the global variable "main_thread". | |||||
* | | Instance: add Database attribute | Max Kellermann | 2014-02-04 | 6 | -120/+16 | |
| | | | | | | | | Move from db/DatabaseGlue.cxx, eliminating global variable. | |||||
* | | db/update/Service: initialize "progress" and "update_task_id" | Max Kellermann | 2014-02-04 | 1 | -1/+3 | |
| | | | | | | | | | | Database update was randomly broken due to these uninitialized variables. | |||||
* | | db/update/Service: add SimpleDatabase reference | Max Kellermann | 2014-02-04 | 5 | -40/+22 | |
| | | | | | | | | Don't use the global variables from the DatabaseSimple library. | |||||
* | | db/update/Walk: add Directory reference parameter | Max Kellermann | 2014-02-04 | 3 | -14/+14 | |
| | | | | | | | | Remove dependency on the DatabaseSimple library. | |||||
* | | db/Simple: remove unused function db_get_directory() | Max Kellermann | 2014-02-04 | 2 | -21/+0 | |
| | | ||||||
* | | db/DatabasePlaylist: pass Database reference around | Max Kellermann | 2014-02-04 | 4 | -18/+12 | |
| | | | | | | | | Reduce global variable usage, move to frontend code. | |||||
* | | db/LightSong: make "real_uri" a pointer | Max Kellermann | 2014-02-04 | 2 | -2/+3 | |
| | | | | | | | | | | Reduce overhead. LightSong can always point to the "real" allocated string. | |||||
* | | db/update/Archive: delete archive from database on error | Max Kellermann | 2014-01-31 | 1 | -0/+2 | |
| | | ||||||
* | | db/update/Editor: add locking method variants | Max Kellermann | 2014-01-31 | 5 | -27/+36 | |
| | | ||||||
* | | db/update: convert runtime check to assertion | Max Kellermann | 2014-01-31 | 1 | -4/+1 | |
| | | ||||||
* | | update/Walk: declare std::string at assignment | Max Kellermann | 2014-01-30 | 1 | -4/+2 | |
| | | | | | | | | Reduce overhead. | |||||
* | | db/update: convert to OO API | Max Kellermann | 2014-01-30 | 23 | -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 Kellermann | 2014-01-30 | 2 | -0/+163 | |
| | | ||||||
* | | InotifyUpdate: pass EventLoop to mpd_inotify_init() | Max Kellermann | 2014-01-29 | 2 | -6/+8 | |
| | | ||||||
* | | db/Directory: move isRootDirectory() to Uri.hxx | Max Kellermann | 2014-01-29 | 4 | -6/+31 | |
| | | | | | | | | Decouple command/OtherCommands.cxx from the "simple" database plugin. | |||||
* | | Playlist{Info,Vector}: move to db/ | Max Kellermann | 2014-01-27 | 6 | -3/+188 | |
| | | ||||||
* | | db/upnp: remove sleep(2) call | Max Kellermann | 2014-01-26 | 1 | -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 once | Max Kellermann | 2014-01-26 | 1 | -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 LibUPnP | Max Kellermann | 2014-01-26 | 1 | -1/+1 | |
| | | ||||||
* | | db/upnp: move generic code to lib/upnp/ | Max Kellermann | 2014-01-26 | 18 | -1647/+10 | |
| | | ||||||
* | | db/upnp: rename variables | Max Kellermann | 2014-01-26 | 1 | -21/+21 | |
| | | ||||||
* | | DespotifyUtils, Expat: move to lib/ | Max Kellermann | 2014-01-24 | 2 | -2/+2 | |
| | | ||||||
* | | Database*: move to db/ | Max Kellermann | 2014-01-24 | 96 | -22/+5776 | |
| | | ||||||
* | | Config*: move to config/ | Max Kellermann | 2014-01-24 | 3 | -3/+3 | |
| | |