00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00041 #ifndef MPD_DB_H
00042 #define MPD_DB_H
00043
00044 #include <mpd/connection.h>
00045 #include <mpd/tag.h>
00046 #include <mpd/compiler.h>
00047
00048 #include <stdbool.h>
00049 #include <time.h>
00050
00056 enum mpd_operator {
00062 MPD_OPERATOR_DEFAULT,
00063 };
00064
00065 #ifdef __cplusplus
00066 extern "C" {
00067 #endif
00068
00079 bool
00080 mpd_search_db_songs(struct mpd_connection *connection, bool exact);
00081
00091 bool
00092 mpd_search_add_db_songs(struct mpd_connection *connection, bool exact);
00093
00104 bool
00105 mpd_search_queue_songs(struct mpd_connection *connection, bool exact);
00106
00117 bool
00118 mpd_search_db_tags(struct mpd_connection *connection, enum mpd_tag_type type);
00119
00129 bool mpd_count_db_songs(struct mpd_connection *connection);
00130
00139 bool
00140 mpd_search_add_base_constraint(struct mpd_connection *connection,
00141 enum mpd_operator oper,
00142 const char *value);
00143
00152 bool
00153 mpd_search_add_uri_constraint(struct mpd_connection *connection,
00154 enum mpd_operator oper,
00155 const char *value);
00156
00166 bool
00167 mpd_search_add_tag_constraint(struct mpd_connection *connection,
00168 enum mpd_operator oper,
00169 enum mpd_tag_type type,
00170 const char *value);
00171
00180 bool
00181 mpd_search_add_any_tag_constraint(struct mpd_connection *connection,
00182 enum mpd_operator oper,
00183 const char *value);
00184
00193 bool
00194 mpd_search_add_modified_since_constraint(struct mpd_connection *connection,
00195 enum mpd_operator oper,
00196 time_t value);
00197
00207 bool
00208 mpd_search_add_window(struct mpd_connection *connection,
00209 unsigned start, unsigned end);
00210
00218 bool
00219 mpd_search_commit(struct mpd_connection *connection);
00220
00228 void
00229 mpd_search_cancel(struct mpd_connection *connection);
00230
00240 mpd_malloc
00241 struct mpd_pair *
00242 mpd_recv_pair_tag(struct mpd_connection *connection, enum mpd_tag_type type);
00243
00244 #ifdef __cplusplus
00245 }
00246 #endif
00247
00248 #endif