Max Kellermann
c880099deb
util/StringCompare: add StringIsEmpty()
2015-11-06 09:37:07 +01:00
Anthony DeRossi
6b6c7b0920
update: apply .mpdignore matches to subdirectories
...
Wildcard matches are directly applied to all filenames in
subdirectories without any attempt at matching relative paths.
This change is based on the following feature request:
http://bugs.musicpd.org/view.php?id=3729
2015-09-30 21:50:34 +02:00
Max Kellermann
2d06a8e880
storage/FileInfo: rename to StorageFileInfo
2015-02-28 23:00:26 +01:00
Max Kellermann
557bee61d5
Merge branch 'v0.19.x'
2015-01-29 22:55:18 +01:00
Max Kellermann
3adca3c2fa
db/update/Walk: use std::unique_ptr instead of std::auto_ptr
...
std::auto_ptr is deprecated, and std::unique_ptr is much better
anyway.
2015-01-29 08:37:23 +01:00
Max Kellermann
1c3f5517fa
config/Option: convert to strictly-typed enum
2015-01-21 23:30:00 +01:00
Max Kellermann
712ed555e6
Copyright year 2015
2015-01-01 19:48:13 +01:00
Max Kellermann
fefb35c782
Directory: eliminate attribute "have_stat"
...
Check for 0 in "device" and "inode" instead.
2014-06-16 19:46:35 +02:00
Max Kellermann
3ca0a39a35
db/simple: use class boost::intrusive::list
...
Remove the C list_head library and use type-safe C++ instead.
2014-06-16 18:39:16 +02:00
Max Kellermann
e9a85aa4e4
db/simple: mount points
...
A SimpleDatabase instance can now "mount" other Database instances at
certain locations. This is used to use a new SimpleDatabase instance
for each storage mount (issued with the "mount" protocol command).
Each such instance has its own database file, stored in the directory
that is specified with the "cache_directory" option.
2014-02-27 20:49:13 +01:00
Max Kellermann
3f9ad8e104
db/update/Service: allocate UpdateWalk dynamically
2014-02-27 18:04:24 +01:00
Max Kellermann
681e012fb5
db/update: cancel the update on shutdown
2014-02-27 16:58:35 +01:00
Max Kellermann
4d73e4d605
db/simple: create dedicated directory
2014-02-26 09:17:41 +01:00
Max Kellermann
2182209a8a
db/update/Walk: disable FindAncestorLoop() if device/inode==0
2014-02-09 10:47:29 +01:00
Max Kellermann
e29a8b3a9c
db/update/Walk: document FindAncestorLoop()
2014-02-09 10:46:39 +01:00
Max Kellermann
ace3f37af4
db/update/Walk: rename find_inode_ancestor() to FindAncestorLoop()
2014-02-09 10:46:39 +01:00
Max Kellermann
ffd16b55a6
StoragePlugin: add method MapToRelativeUTF8()
...
Replaces map_to_relative_path() from Mapper.cxx.
2014-02-07 19:09:28 +01:00
geneticdrift
0f1f509be7
fixed leaked LocalDirectoryReader *const reader in UpdateWalk::UpdateDirectory
2014-02-06 23:08:24 +01:00
Max Kellermann
0ba1b73395
storage: add abstract interface
...
Prepare for the plugin interface.
2014-02-05 18:53:51 +01:00
Max Kellermann
4c995eb498
db/UpdateWalk: move LocalStorage to Instance
...
Keep only a reference.
2014-02-05 17:58:13 +01:00
Max Kellermann
9ae7f186bc
LocalStorage: new API abstracting filesystem walk
...
Prepare to make this a new plugin API, for example to use a SMB share
for the music_directory.
2014-02-05 10:04:03 +01:00
Max Kellermann
ff665b37cb
db/DatabaseListener: add method OnDatabaseSongRemoved()
...
Decouples db/update/Remove.cpp from global variables.
2014-02-04 19:53:37 +01:00
Max Kellermann
f25ef8d682
db/update/Walk: add Directory reference parameter
...
Remove dependency on the DatabaseSimple library.
2014-02-04 09:05:32 +01:00
Max Kellermann
26970579b8
db/update/Editor: add locking method variants
2014-01-31 22:17:49 +01:00
Max Kellermann
a631200cca
update/Walk: declare std::string at assignment
...
Reduce overhead.
2014-01-30 22:19:56 +01:00
Max Kellermann
c6725884bc
db/update: convert to OO API
...
Move global variables into the new classes. That may allow multiple
update threads for multiple databases one day.
2014-01-30 18:47:05 +01:00