libmpdclient  2.19
search.h
Go to the documentation of this file.
1 /* libmpdclient
2  (c) 2003-2019 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 
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 
106 bool
108  const char *playlist_name);
109 
120 bool
121 mpd_search_queue_songs(struct mpd_connection *connection, bool exact);
122 
133 bool
134 mpd_search_db_tags(struct mpd_connection *connection, enum mpd_tag_type type);
135 
145 bool mpd_count_db_songs(struct mpd_connection *connection);
146 
157 bool
159  enum mpd_operator oper,
160  const char *value);
161 
170 bool
172  enum mpd_operator oper,
173  const char *value);
174 
184 bool
186  enum mpd_operator oper,
187  enum mpd_tag_type type,
188  const char *value);
189 
198 bool
200  enum mpd_operator oper,
201  const char *value);
202 
213 bool
215  enum mpd_operator oper,
216  time_t value);
217 
228 bool
229 mpd_search_add_expression(struct mpd_connection *connection,
230  const char *expression);
231 
241 bool
242 mpd_search_add_group_tag(struct mpd_connection *connection,
243  enum mpd_tag_type type);
244 
256 bool
257 mpd_search_add_sort_name(struct mpd_connection *connection,
258  const char *name, bool descending);
259 
271 bool
272 mpd_search_add_sort_tag(struct mpd_connection *connection,
273  enum mpd_tag_type type, bool descending);
274 
285 bool
286 mpd_search_add_window(struct mpd_connection *connection,
287  unsigned start, unsigned end);
288 
296 bool
297 mpd_search_commit(struct mpd_connection *connection);
298 
306 void
307 mpd_search_cancel(struct mpd_connection *connection);
308 
318 mpd_malloc
319 struct mpd_pair *
320 mpd_recv_pair_tag(struct mpd_connection *connection, enum mpd_tag_type type);
321 
322 #ifdef __cplusplus
323 }
324 #endif
325 
326 #endif
mpd_operator
Definition: search.h:56
bool mpd_search_add_sort_name(struct mpd_connection *connection, const char *name, bool descending)
bool mpd_search_add_tag_constraint(struct mpd_connection *connection, enum mpd_operator oper, enum mpd_tag_type type, const char *value)
MPD client library.
bool mpd_search_add_uri_constraint(struct mpd_connection *connection, enum mpd_operator oper, const char *value)
bool mpd_search_commit(struct mpd_connection *connection)
mpd_tag_type
Definition: tag.h:45
bool mpd_count_db_songs(struct mpd_connection *connection)
bool mpd_search_add_sort_tag(struct mpd_connection *connection, enum mpd_tag_type type, bool descending)
bool mpd_search_db_songs(struct mpd_connection *connection, bool exact)
bool mpd_search_queue_songs(struct mpd_connection *connection, bool exact)
bool mpd_search_add_modified_since_constraint(struct mpd_connection *connection, enum mpd_operator oper, time_t value)
struct mpd_pair * mpd_recv_pair_tag(struct mpd_connection *connection, enum mpd_tag_type type)
void mpd_search_cancel(struct mpd_connection *connection)
bool mpd_search_add_window(struct mpd_connection *connection, unsigned start, unsigned end)
bool mpd_search_add_expression(struct mpd_connection *connection, const char *expression)
bool mpd_search_add_db_songs(struct mpd_connection *connection, bool exact)
bool mpd_search_add_base_constraint(struct mpd_connection *connection, enum mpd_operator oper, const char *value)
bool mpd_search_add_db_songs_to_playlist(struct mpd_connection *connection, const char *playlist_name)
bool mpd_search_add_group_tag(struct mpd_connection *connection, enum mpd_tag_type type)
bool mpd_search_add_any_tag_constraint(struct mpd_connection *connection, enum mpd_operator oper, const char *value)
bool mpd_search_db_tags(struct mpd_connection *connection, enum mpd_tag_type type)
Definition: pair.h:41