2 * This file is part of DisOrder.
3 * Copyright (C) 2010 Richard Kettlewell
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 3 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
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 int disorder_adopt(disorder_client
*c
, const char *id
) {
20 return disorder_simple(c
, 0, "adopt", id
, (char *)0);
23 int disorder_adduser(disorder_client
*c
, const char *user
, const char *password
, const char *rights
) {
24 return disorder_simple(c
, 0, "adduser", user
, password
, rights
, (char *)0);
27 int disorder_allfiles(disorder_client
*c
, const char *dir
, const char *re
, char ***filesp
, int *nfilesp
) {
28 return disorder_simple_list(c
, filesp
, nfilesp
, "allfiles", dir
, re
, (char *)0);
31 int disorder_confirm(disorder_client
*c
, const char *confirmation
) {
34 if((rc
= disorder_simple(c
, &u
, "confirm", confirmation
)))
40 int disorder_cookie(disorder_client
*c
, const char *cookie
) {
43 if((rc
= disorder_simple(c
, &u
, "cookie", cookie
)))
49 int disorder_deluser(disorder_client
*c
, const char *user
) {
50 return disorder_simple(c
, 0, "deluser", user
, (char *)0);
53 int disorder_dirs(disorder_client
*c
, const char *dir
, const char *re
, char ***filesp
, int *nfilesp
) {
54 return disorder_simple_list(c
, filesp
, nfilesp
, "dirs", dir
, re
, (char *)0);
57 int disorder_disable(disorder_client
*c
) {
58 return disorder_simple(c
, 0, "disable", (char *)0);
61 int disorder_edituser(disorder_client
*c
, const char *username
, const char *property
, const char *value
) {
62 return disorder_simple(c
, 0, "edituser", username
, property
, value
, (char *)0);
65 int disorder_enable(disorder_client
*c
) {
66 return disorder_simple(c
, 0, "enable", (char *)0);
69 int disorder_enabled(disorder_client
*c
, int *enabledp
) {
72 if((rc
= disorder_simple(c
, &v
, "enabled", (char *)0)))
74 return boolean("enabled", v
, enabledp
);
77 int disorder_exists(disorder_client
*c
, const char *track
, int *existsp
) {
80 if((rc
= disorder_simple(c
, &v
, "exists", track
, (char *)0)))
82 return boolean("exists", v
, existsp
);
85 int disorder_files(disorder_client
*c
, const char *dir
, const char *re
, char ***filesp
, int *nfilesp
) {
86 return disorder_simple_list(c
, filesp
, nfilesp
, "files", dir
, re
, (char *)0);
89 int disorder_get(disorder_client
*c
, const char *track
, const char *pref
, char **valuep
) {
90 return dequote(disorder_simple(c
, valuep
, "get", track
, pref
, (char *)0), valuep
);
93 int disorder_get_global(disorder_client
*c
, const char *pref
, char **valuep
) {
94 return dequote(disorder_simple(c
, valuep
, "get-global", pref
, (char *)0), valuep
);
97 int disorder_length(disorder_client
*c
, const char *track
, long *lengthp
) {
101 if((rc
= disorder_simple(c
, &v
, "length", track
, (char *)0)))
108 int disorder_make_cookie(disorder_client
*c
, char **cookiep
) {
109 return dequote(disorder_simple(c
, cookiep
, "make-cookie", (char *)0), cookiep
);
112 int disorder_move(disorder_client
*c
, const char *track
, long delta
) {
114 byte_snprintf(buf_delta
, sizeof buf_delta
, "%ld", delta
);
115 return disorder_simple(c
, 0, "move", track
, buf_delta
, (char *)0);
118 int disorder_moveafter(disorder_client
*c
, const char *target
, char **ids
, int nids
) {
119 return disorder_simple(c
, 0, "moveafter", target
, disorder_list
, ids
, nids
, (char *)0);
122 int disorder_nop(disorder_client
*c
) {
123 return disorder_simple(c
, 0, "nop", (char *)0);
126 int disorder_part(disorder_client
*c
, const char *track
, const char *context
, const char *part
, char **partp
) {
127 return dequote(disorder_simple(c
, partp
, "part", track
, context
, part
, (char *)0), partp
);
130 int disorder_pause(disorder_client
*c
) {
131 return disorder_simple(c
, 0, "pause", (char *)0);
134 int disorder_play(disorder_client
*c
, const char *track
, char **idp
) {
135 return dequote(disorder_simple(c
, idp
, "play", track
, (char *)0), idp
);
138 int disorder_playafter(disorder_client
*c
, const char *target
, char **tracks
, int ntracks
) {
139 return disorder_simple(c
, 0, "playafter", target
, disorder_list
, tracks
, ntracks
, (char *)0);
142 int disorder_playing(disorder_client
*c
, struct queue_entry
**playingp
) {
143 return onequeue(c
, "playing", playingp
);
146 int disorder_playlist_delete(disorder_client
*c
, const char *playlist
) {
147 return disorder_simple(c
, 0, "playlist-delete", playlist
, (char *)0);
150 int disorder_playlist_get(disorder_client
*c
, const char *playlist
, char ***tracksp
, int *ntracksp
) {
151 return disorder_simple_list(c
, tracksp
, ntracksp
, "playlist-get", playlist
, (char *)0);
154 int disorder_playlist_get_share(disorder_client
*c
, const char *playlist
, char **sharep
) {
155 return dequote(disorder_simple(c
, sharep
, "playlist-get-share", playlist
, (char *)0), sharep
);
158 int disorder_playlist_lock(disorder_client
*c
, const char *playlist
) {
159 return disorder_simple(c
, 0, "playlist-lock", playlist
, (char *)0);
162 int disorder_playlist_set(disorder_client
*c
, const char *playlist
, char **tracks
, int ntracks
) {
163 return disorder_simple(c
, 0, "playlist-set", playlist
, disorder_body
, tracks
, ntracks
, (char *)0);
166 int disorder_playlist_set_share(disorder_client
*c
, const char *playlist
, const char *share
) {
167 return disorder_simple(c
, 0, "playlist-set-share", playlist
, share
, (char *)0);
170 int disorder_playlist_unlock(disorder_client
*c
) {
171 return disorder_simple(c
, 0, "playlist-unlock", (char *)0);
174 int disorder_playlists(disorder_client
*c
, char ***playlistsp
, int *nplaylistsp
) {
175 return disorder_simple_list(c
, playlistsp
, nplaylistsp
, "playlists", (char *)0);
178 int disorder_queue(disorder_client
*c
, struct queue_entry
**queuep
) {
179 return somequeue(c
, "queue", queuep
);
182 int disorder_random_disable(disorder_client
*c
) {
183 return disorder_simple(c
, 0, "random-disable", (char *)0);
186 int disorder_random_enable(disorder_client
*c
) {
187 return disorder_simple(c
, 0, "random-enable", (char *)0);
190 int disorder_random_enabled(disorder_client
*c
, int *enabledp
) {
193 if((rc
= disorder_simple(c
, &v
, "random-enabled", (char *)0)))
195 return boolean("random-enabled", v
, enabledp
);
198 int disorder_recent(disorder_client
*c
, struct queue_entry
**recentp
) {
199 return somequeue(c
, "recent", recentp
);
202 int disorder_reconfigure(disorder_client
*c
) {
203 return disorder_simple(c
, 0, "reconfigure", (char *)0);
206 int disorder_register(disorder_client
*c
, const char *username
, const char *password
, const char *email
, char **confirmationp
) {
207 return dequote(disorder_simple(c
, confirmationp
, "register", username
, password
, email
, (char *)0), confirmationp
);
210 int disorder_reminder(disorder_client
*c
, const char *username
) {
211 return disorder_simple(c
, 0, "reminder", username
, (char *)0);
214 int disorder_remove(disorder_client
*c
, const char *id
) {
215 return disorder_simple(c
, 0, "remove", id
, (char *)0);
218 int disorder_rescan(disorder_client
*c
) {
219 return disorder_simple(c
, 0, "rescan", (char *)0);
222 int disorder_resolve(disorder_client
*c
, const char *track
, char **resolvedp
) {
223 return dequote(disorder_simple(c
, resolvedp
, "resolve", track
, (char *)0), resolvedp
);
226 int disorder_resume(disorder_client
*c
) {
227 return disorder_simple(c
, 0, "resume", (char *)0);
230 int disorder_revoke(disorder_client
*c
) {
231 return disorder_simple(c
, 0, "revoke", (char *)0);
234 int disorder_scratch(disorder_client
*c
, const char *id
) {
235 return disorder_simple(c
, 0, "scratch", id
, (char *)0);
238 int disorder_schedule_del(disorder_client
*c
, const char *event
) {
239 return disorder_simple(c
, 0, "schedule-del", event
, (char *)0);
242 int disorder_schedule_list(disorder_client
*c
, char ***idsp
, int *nidsp
) {
243 return disorder_simple_list(c
, idsp
, nidsp
, "schedule-list", (char *)0);
246 int disorder_search(disorder_client
*c
, const char *terms
, char ***tracksp
, int *ntracksp
) {
247 return disorder_simple_list(c
, tracksp
, ntracksp
, "search", terms
, (char *)0);
250 int disorder_set(disorder_client
*c
, const char *track
, const char *pref
, const char *value
) {
251 return disorder_simple(c
, 0, "set", track
, pref
, value
, (char *)0);
254 int disorder_set_global(disorder_client
*c
, const char *pref
, const char *value
) {
255 return disorder_simple(c
, 0, "set-global", pref
, value
, (char *)0);
258 int disorder_shutdown(disorder_client
*c
) {
259 return disorder_simple(c
, 0, "shutdown", (char *)0);
262 int disorder_stats(disorder_client
*c
, char ***statsp
, int *nstatsp
) {
263 return disorder_simple_list(c
, statsp
, nstatsp
, "stats", (char *)0);
266 int disorder_tags(disorder_client
*c
, char ***tagsp
, int *ntagsp
) {
267 return disorder_simple_list(c
, tagsp
, ntagsp
, "tags", (char *)0);
270 int disorder_unset(disorder_client
*c
, const char *track
, const char *pref
) {
271 return disorder_simple(c
, 0, "unset", track
, pref
, (char *)0);
274 int disorder_unset_global(disorder_client
*c
, const char *pref
) {
275 return disorder_simple(c
, 0, "unset-global", pref
, (char *)0);
278 int disorder_userinfo(disorder_client
*c
, const char *username
, const char *property
, char **valuep
) {
279 return dequote(disorder_simple(c
, valuep
, "userinfo", username
, property
, (char *)0), valuep
);
282 int disorder_users(disorder_client
*c
, char ***usersp
, int *nusersp
) {
283 return disorder_simple_list(c
, usersp
, nusersp
, "users", (char *)0);
286 int disorder_version(disorder_client
*c
, char **versionp
) {
287 return dequote(disorder_simple(c
, versionp
, "version", (char *)0), versionp
);