libmpdclient 2.14

search.h
Go to the documentation of this file.
1 /* libmpdclient
2 (c) 2003-2017 The Music Player Daemon Project
3 This project's homepage is: http://www.musicpd.org
4
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions
7 are met:
8
9 - Redistributions of source code must retain the above copyright
10 notice, this list of conditions and the following disclaimer.
11
12 - Redistributions in binary form must reproduce the above copyright
13 notice, this list of conditions and the following disclaimer in the
14 documentation and/or other materials provided with the distribution.
15
16 - Neither the name of the Music Player Daemon nor the names of its
17 contributors may be used to endorse or promote products derived from
18 this software without specific prior written permission.
19
20 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
24 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32
41 #ifndef MPD_DB_H
42 #define MPD_DB_H
43
44 #include "connection.h"
45 #include "tag.h"
46 #include "compiler.h"
47
48 #include <stdbool.h>
49 #include <time.h>
50
56 enum mpd_operator {
62 MPD_OPERATOR_DEFAULT,
63 };
64
65 #ifdef __cplusplus
66 extern "C" {
67 #endif
68
79 bool
80 mpd_search_db_songs(struct mpd_connection *connection, bool exact);
81
91 bool
92 mpd_search_add_db_songs(struct mpd_connection *connection, bool exact);
93
104 bool
105 mpd_search_queue_songs(struct mpd_connection *connection, bool exact);
106
117 bool
118 mpd_search_db_tags(struct mpd_connection *connection, enum mpd_tag_type type);
119
129 bool mpd_count_db_songs(struct mpd_connection *connection);
130
141 bool
142 mpd_search_add_base_constraint(struct mpd_connection *connection,
143 enum mpd_operator oper,
144 const char *value);
145
154 bool
155 mpd_search_add_uri_constraint(struct mpd_connection *connection,
156 enum mpd_operator oper,
157 const char *value);
158
168 bool
169 mpd_search_add_tag_constraint(struct mpd_connection *connection,
170 enum mpd_operator oper,
171 enum mpd_tag_type type,
172 const char *value);
173
182 bool
183 mpd_search_add_any_tag_constraint(struct mpd_connection *connection,
184 enum mpd_operator oper,
185 const char *value);
186
197 bool
198 mpd_search_add_modified_since_constraint(struct mpd_connection *connection,
199 enum mpd_operator oper,
200 time_t value);
201
211 bool
212 mpd_search_add_group_tag(struct mpd_connection *connection,
213 enum mpd_tag_type type);
214
225 bool
226 mpd_search_add_sort_tag(struct mpd_connection *connection,
227 enum mpd_tag_type type, bool reserved);
228
239 bool
240 mpd_search_add_window(struct mpd_connection *connection,
241 unsigned start, unsigned end);
242
250 bool
251 mpd_search_commit(struct mpd_connection *connection);
252
260 void
261 mpd_search_cancel(struct mpd_connection *connection);
262
272 mpd_malloc
273 struct mpd_pair *
274 mpd_recv_pair_tag(struct mpd_connection *connection, enum mpd_tag_type type);
275
276 #ifdef __cplusplus
277 }
278 #endif
279
280 #endif
mpd_operator
mpd_operator
Definition: search.h:56
tag.h
mpd_search_add_tag_constraint
bool mpd_search_add_tag_constraint(struct mpd_connection *connection, enum mpd_operator oper, enum mpd_tag_type type, const char *value)
connection.h
MPD client library.
mpd_search_add_sort_tag
bool mpd_search_add_sort_tag(struct mpd_connection *connection, enum mpd_tag_type type, bool reserved)
mpd_search_add_uri_constraint
bool mpd_search_add_uri_constraint(struct mpd_connection *connection, enum mpd_operator oper, const char *value)
mpd_search_commit
bool mpd_search_commit(struct mpd_connection *connection)
mpd_tag_type
mpd_tag_type
Definition: tag.h:40
mpd_count_db_songs
bool mpd_count_db_songs(struct mpd_connection *connection)
mpd_search_db_songs
bool mpd_search_db_songs(struct mpd_connection *connection, bool exact)
compiler.h
Compiler specific definitions.
mpd_search_queue_songs
bool mpd_search_queue_songs(struct mpd_connection *connection, bool exact)
mpd_search_add_modified_since_constraint
bool mpd_search_add_modified_since_constraint(struct mpd_connection *connection, enum mpd_operator oper, time_t value)
mpd_search_cancel
void mpd_search_cancel(struct mpd_connection *connection)
mpd_search_add_window
bool mpd_search_add_window(struct mpd_connection *connection, unsigned start, unsigned end)
mpd_search_add_db_songs
bool mpd_search_add_db_songs(struct mpd_connection *connection, bool exact)
mpd_search_add_base_constraint
bool mpd_search_add_base_constraint(struct mpd_connection *connection, enum mpd_operator oper, const char *value)
mpd_recv_pair_tag
mpd_malloc struct mpd_pair * mpd_recv_pair_tag(struct mpd_connection *connection, enum mpd_tag_type type)
mpd_connection
Definition: connection.h:48
MPD_OPERATOR_DEFAULT
Definition: search.h:62
mpd_search_add_group_tag
bool mpd_search_add_group_tag(struct mpd_connection *connection, enum mpd_tag_type type)
mpd_search_add_any_tag_constraint
bool mpd_search_add_any_tag_constraint(struct mpd_connection *connection, enum mpd_operator oper, const char *value)
mpd_search_db_tags
bool mpd_search_db_tags(struct mpd_connection *connection, enum mpd_tag_type type)
mpd_pair
Definition: pair.h:41