2
* Copyright (C) 2003-2011 The Music Player Daemon Project
3
* http://www.musicpd.org
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
15
* You should have received a copy of the GNU General Public License along
16
* with this program; if not, write to the Free Software Foundation, Inc.,
17
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
28
#define LOCATE_TAG_FILE_TYPE TAG_NUM_OF_ITEM_TYPES+10
29
#define LOCATE_TAG_ANY_TYPE TAG_NUM_OF_ITEM_TYPES+20
33
/* struct used for search, find, list queries */
36
/* what we are looking for */
41
* An array of struct locate_item objects.
43
struct locate_item_list {
44
/** number of items */
47
/** this is a variable length array */
48
struct locate_item items[1];
52
locate_parse_type(const char *str);
55
* Allocates a new struct locate_item_list, and initializes all
56
* members with zero bytes.
58
struct locate_item_list *
59
locate_item_list_new(unsigned length);
61
/* return number of items or -1 on error */
63
struct locate_item_list *
64
locate_item_list_parse(char *argv[], int argc);
67
* Duplicate the struct locate_item_list object and convert all
68
* needles with g_utf8_casefold().
71
struct locate_item_list *
72
locate_item_list_casefold(const struct locate_item_list *list);
76
locate_item_list_free(struct locate_item_list *list);
80
locate_item_free(struct locate_item *item);
84
locate_song_search(const struct song *song,
85
const struct locate_item_list *criteria);
89
locate_song_match(const struct song *song,
90
const struct locate_item_list *criteria);