Max Kellermann
870151214d
util/SplitString: convert parameter to std::string_view
2020-04-03 16:47:45 +02:00
Max Kellermann
747436b17e
db,storage: pass std::string_view to PathTraits::Build()
2020-04-03 16:25:09 +02:00
Rosen Penev
97425d56e7
remove gcc_unused
...
[[maybe_unused]] (introduced in C++17) is standard C++.
https://clang.llvm.org/docs/AttributeReference.html#maybe-unused-unused
says that this is equivalent to the GNU unused attribute.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-03-16 00:08:21 -07:00
Rosen Penev
ab9f5d2067
replace assert.h with cassert
...
The former was deprecated with C++14.
According to the C++11 and C++17 standards, both files are identical.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-03-12 15:25:38 -07:00
Rosen Penev
f00f8b002a
[clang-tidy] use nodiscard
...
Introduced in C++17. It replaces gcc's warn_unused_result.
Found with modernize-use-nodiscard.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-03-12 12:59:16 -07:00
Rosen Penev
ac50bb5d2b
[clang-tidy] remove needless std::move
...
Found with performance-move-const-arg
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-02-20 16:47:34 +01:00
Rosen Penev
452c41b71f
[clang-tidy] convert several functions to const &
...
Found with performance-unnecessary-value-param
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-02-02 13:21:27 -08:00
Max Kellermann
72ec641f0d
*: use auto
2020-02-01 14:02:43 +01:00
Max Kellermann
2817bf9e95
copyright year 2020
2020-01-18 19:23:49 +01:00
Max Kellermann
d663f81420
include cleanups (powered by iwyu)
2019-07-05 09:59:58 +02:00
Max Kellermann
1eae9339f2
db/Interface: CollectUniqueTags() allows multiple "groups"
...
Instead of passing tag and group, pass an array of tags. To support a
nested return value, return a nested std::map of std::maps. Each key
specifies the tag value, and each value may be another nesting level.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/408
2019-06-16 10:39:29 +02:00
Max Kellermann
6c28adbcd2
db/Plugin: use std::unique_ptr<> to manage Database pointers
2019-02-20 20:43:31 +01:00
Max Kellermann
4b7078297d
db/upnp: use the generic ::CollectUniqueTags() function
...
This function implements the "group" feature on top of the
Database::Visit() method.
2018-11-19 20:08:10 +01:00
Max Kellermann
ce49d99c2f
check.h: remove obsolete header
...
Since we switched from autotools to Meson in commit
94592c1406 , we don't need to include
`config.h` early to properly enable large file support. Meson passes
the required macros on the compiler command line instead of defining
them in `config.h`.
This means we can include `config.h` at any time, whenever we want to
check its macros, and there are no ordering constraints.
2018-11-19 16:33:49 +01:00
Max Kellermann
f5c9071494
*: copyright year 2018
2018-10-31 17:54:59 +01:00
Max Kellermann
66ab2de578
Merge branch 'v0.20.x'
2018-10-22 18:20:29 +02:00
Max Kellermann
db27bb76e2
db: fix broken command "list ... group"
...
Grouping in the "list" command was completely broken from the start,
unlike "count group". I have no idea what I have been thinking when I
wrote commit ae178c77bd , but it didn't
make any sense.
This commit is a rewrite of the feature.
For clients to be able to detect this feature, this commit also
increments the protocol version.
2018-10-22 13:08:24 +02:00
Max Kellermann
c7c32a3ce9
db/Print: move sort/window emulation code to class DatabaseVisitorHelper
...
That way, each plugin can decide to implement it better.
2018-09-02 17:37:02 +02:00
Max Kellermann
81b734be10
db/Interface: add "noexcept"
2018-09-02 10:20:48 +02:00
Max Kellermann
d929d0c26f
song/Filter: move each class into a separate source
2018-08-02 13:54:36 +02:00
Max Kellermann
90201e9970
DetachedSong, db/LightSong, SongFilter: move to src/song/
2018-08-02 13:51:18 +02:00
Max Kellermann
2cfccc1c34
SongFilter: make Item an interface
...
Prepare to allow more complex expressions.
2018-07-25 11:04:41 +02:00
Max Kellermann
45139f94bb
db/LightSong: pass URI to constructor
2018-07-06 16:56:12 +02:00
Max Kellermann
80cb680fca
db/LightSong: implicit initialization
2018-07-06 16:50:37 +02:00
Max Kellermann
b9ff6383a4
db/LightSong: make Tag a reference
...
This enforces the "not nullptr" rule.
2018-07-06 16:47:47 +02:00
Max Kellermann
0a4b866d8a
db/upnp: use SplitString() instead of stringToTokens()
2018-01-02 14:16:57 +01:00
Max Kellermann
1fd8d46064
lib/upnp/ClientInit: return UpnpClient_Handle
2018-01-02 12:22:44 +01:00
Max Kellermann
c8f7a859ea
lib/upnp/Discovery: use CURL instead of UpnpDownloadUrlItem()
...
We can do CURL requests asynchronously, and we don't need a
synchronous WorkQueue thread for that.
This allows parallelizing lookups and allows immediate cancellation.
2017-08-25 09:52:44 +02:00
Max Kellermann
28a2d41b85
db/DatabasePlugin: pass EventThread's EventLoop to create()
...
Allows database plugins to use the EventThread, e.g. for CURL
integration.
2017-08-24 19:53:52 +02:00
Max Kellermann
b886dfae4d
DetachedSong, db/LightSong, db/simple/Song: use std::chrono::system_clock::time_point
2017-08-18 12:22:47 +02:00
Max Kellermann
902fbb3347
db/LightDirectory: use std::chrono::system_clock::time_point
2017-08-18 12:16:43 +02:00
Max Kellermann
979f1b6c39
Merge tag 'v0.20.9'
...
release v0.20.9
2017-06-04 12:57:05 +02:00
Max Kellermann
a057b4f6d8
*: add lost of "noexcept" specifications
2017-06-04 12:46:48 +02:00
Max Kellermann
59e4f1ee0f
*: remove lots of GCC 4.8 fallback code
...
We can remove those C++11 and C++14 kludges because we require GCC 4.9
now.
2017-05-16 11:29:15 +02:00
Max Kellermann
78ca5491e6
db/Interface: GetUpdateStamp() returns std::chrono::system_clock::time_point
2017-02-11 23:02:17 +01:00
Max Kellermann
2f3f075e4f
tag/Mask: wrap in class
2017-02-08 09:04:45 +01:00
Max Kellermann
03a97d87ea
tag/Tag*: rename several source files
2017-02-08 08:49:42 +01:00
Max Kellermann
44dd9af276
lib/upnp/Util: pass single delimiter character to stringToTokens()
2017-01-23 19:34:55 +01:00
Max Kellermann
d3013d4f8c
lib/upnp/Util: remove parameter "skipinit", always true
2017-01-23 19:28:07 +01:00
Max Kellermann
fd910bd5e9
db/upnp: use "override" instead of "virtual"
2017-01-06 19:35:58 +01:00
Max Kellermann
5900253b85
update copyright year
2017-01-03 20:48:59 +01:00
Max Kellermann
fac8edd47a
db/Interface: migrate visitor methods from class Error to C++ exceptions
2016-10-29 10:42:56 +02:00
Max Kellermann
3ff728ab02
db/Visitor: remove the Error parameter
...
Implementations shall use exceptions instead.
2016-10-29 10:04:43 +02:00
Max Kellermann
dea46e8d5a
db/Plugin: migrate from class Error to C++ exceptions
2016-10-28 23:15:22 +02:00
Max Kellermann
2fd5182608
db/Interface: GetSong() throws exception on error
2016-03-19 00:19:50 +01:00
Max Kellermann
f55bdf07d3
db/Interface: Open() throws exception on error
2016-03-19 00:05:11 +01:00
Max Kellermann
45ee75055e
db/upnp: remove obsolete code comment
2016-03-18 18:48:00 +01:00
Max Kellermann
1aee89f5ea
*: include cleanup (using iwyu)
2016-03-01 22:08:13 +01:00
Max Kellermann
1d67aa7bf2
update copyright year to 2016
2016-02-26 17:54:05 +01:00
Max Kellermann
6c5bc9b4a3
lib/expat: use C++ exceptions instead of class Error
2016-02-07 12:58:20 +01:00