aboutsummaryrefslogtreecommitdiffstats
path: root/src/SongFilter.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/SongFilter.hxx')
-rw-r--r--src/SongFilter.hxx18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/SongFilter.hxx b/src/SongFilter.hxx
index 8c46ed5f3..ca7d7bd90 100644
--- a/src/SongFilter.hxx
+++ b/src/SongFilter.hxx
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2003-2013 The Music Player Daemon Project
+ * Copyright (C) 2003-2014 The Music Player Daemon Project
* http://www.musicpd.org
*
* This program is free software; you can redistribute it and/or modify
@@ -35,9 +35,12 @@
#define LOCATE_TAG_FILE_TYPE TAG_NUM_OF_ITEM_TYPES+10
#define LOCATE_TAG_ANY_TYPE TAG_NUM_OF_ITEM_TYPES+20
+template<typename T> struct ConstBuffer;
struct Tag;
struct TagItem;
struct Song;
+struct LightSong;
+class DetachedSong;
class SongFilter {
public:
@@ -79,7 +82,10 @@ public:
bool Match(const Tag &tag) const;
gcc_pure
- bool Match(const Song &song) const;
+ bool Match(const DetachedSong &song) const;
+
+ gcc_pure
+ bool Match(const LightSong &song) const;
};
private:
@@ -96,14 +102,16 @@ public:
gcc_nonnull(2,3)
bool Parse(const char *tag, const char *value, bool fold_case=false);
- gcc_nonnull(3)
- bool Parse(unsigned argc, char *argv[], bool fold_case=false);
+ bool Parse(ConstBuffer<const char *> args, bool fold_case=false);
gcc_pure
bool Match(const Tag &tag) const;
gcc_pure
- bool Match(const Song &song) const;
+ bool Match(const DetachedSong &song) const;
+
+ gcc_pure
+ bool Match(const LightSong &song) const;
const std::list<Item> &GetItems() const {
return items;