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_nop(disorder_client
*c
) {
113 return disorder_simple(c
, 0, "nop", (char *)0);
116 int disorder_part(disorder_client
*c
, const char *track
, const char *context
, const char *part
, char **partp
) {
117 return dequote(disorder_simple(c
, partp
, "part", track
, context
, part
, (char *)0), partp
);
120 int disorder_pause(disorder_client
*c
) {
121 return disorder_simple(c
, 0, "pause", (char *)0);
124 int disorder_play(disorder_client
*c
, const char *track
, char **idp
) {
125 return dequote(disorder_simple(c
, idp
, "play", track
, (char *)0), idp
);
128 int disorder_playlist_delete(disorder_client
*c
, const char *playlist
) {
129 return disorder_simple(c
, 0, "playlist-delete", playlist
, (char *)0);
132 int disorder_playlist_get(disorder_client
*c
, const char *playlist
, char ***tracksp
, int *ntracksp
) {
133 return disorder_simple_list(c
, tracksp
, ntracksp
, "playlist-get", playlist
, (char *)0);
136 int disorder_playlist_get_share(disorder_client
*c
, const char *playlist
, char **sharep
) {
137 return dequote(disorder_simple(c
, sharep
, "playlist-get-share", playlist
, (char *)0), sharep
);
140 int disorder_playlist_lock(disorder_client
*c
, const char *playlist
) {
141 return disorder_simple(c
, 0, "playlist-lock", playlist
, (char *)0);
144 int disorder_playlist_set(disorder_client
*c
, const char *playlist
, char **tracks
, int ntracks
) {
145 return disorder_simple(c
, 0, "playlist-set", playlist
, disorder_body
, tracks
, ntracks
, (char *)0);
148 int disorder_playlist_set_share(disorder_client
*c
, const char *playlist
, const char *share
) {
149 return disorder_simple(c
, 0, "playlist-set-share", playlist
, share
, (char *)0);
152 int disorder_playlist_unlock(disorder_client
*c
) {
153 return disorder_simple(c
, 0, "playlist-unlock", (char *)0);
156 int disorder_playlists(disorder_client
*c
, char ***playlistsp
, int *nplaylistsp
) {
157 return disorder_simple_list(c
, playlistsp
, nplaylistsp
, "playlists", (char *)0);
160 int disorder_queue(disorder_client
*c
, struct queue_entry
**queuep
) {
161 return disorder_somequeue(c
, "queue", queuep
);
164 int disorder_random_disable(disorder_client
*c
) {
165 return disorder_simple(c
, 0, "random-disable", (char *)0);
168 int disorder_random_enable(disorder_client
*c
) {
169 return disorder_simple(c
, 0, "random-enable", (char *)0);
172 int disorder_random_enabled(disorder_client
*c
, int *enabledp
) {
175 if((rc
= disorder_simple(c
, &v
, "random-enabled", (char *)0)))
177 return boolean("random-enabled", v
, enabledp
);
180 int disorder_recent(disorder_client
*c
, struct queue_entry
**recentp
) {
181 return disorder_somequeue(c
, "recent", recentp
);
184 int disorder_reconfigure(disorder_client
*c
) {
185 return disorder_simple(c
, 0, "reconfigure", (char *)0);
188 int disorder_register(disorder_client
*c
, const char *username
, const char *password
, const char *email
, char **confirmationp
) {
189 return dequote(disorder_simple(c
, confirmationp
, "register", username
, password
, email
, (char *)0), confirmationp
);
192 int disorder_reminder(disorder_client
*c
, const char *username
) {
193 return disorder_simple(c
, 0, "reminder", username
, (char *)0);
196 int disorder_remove(disorder_client
*c
, const char *id
) {
197 return disorder_simple(c
, 0, "remove", id
, (char *)0);
200 int disorder_rescan(disorder_client
*c
) {
201 return disorder_simple(c
, 0, "rescan", (char *)0);
204 int disorder_resolve(disorder_client
*c
, const char *track
, char **resolvedp
) {
205 return dequote(disorder_simple(c
, resolvedp
, "resolve", track
, (char *)0), resolvedp
);
208 int disorder_resume(disorder_client
*c
) {
209 return disorder_simple(c
, 0, "resume", (char *)0);
212 int disorder_revoke(disorder_client
*c
) {
213 return disorder_simple(c
, 0, "revoke", (char *)0);
216 int disorder_scratch(disorder_client
*c
, const char *id
) {
217 return disorder_simple(c
, 0, "scratch", id
, (char *)0);
220 int disorder_schedule_del(disorder_client
*c
, const char *event
) {
221 return disorder_simple(c
, 0, "schedule-del", event
, (char *)0);
224 int disorder_schedule_list(disorder_client
*c
, char ***idsp
, int *nidsp
) {
225 return disorder_simple_list(c
, idsp
, nidsp
, "schedule-list", (char *)0);
228 int disorder_search(disorder_client
*c
, const char *terms
, char ***tracksp
, int *ntracksp
) {
229 return disorder_simple_list(c
, tracksp
, ntracksp
, "search", terms
, (char *)0);
232 int disorder_set(disorder_client
*c
, const char *track
, const char *pref
, const char *value
) {
233 return disorder_simple(c
, 0, "set", track
, pref
, value
, (char *)0);
236 int disorder_set_global(disorder_client
*c
, const char *pref
, const char *value
) {
237 return disorder_simple(c
, 0, "set-global", pref
, value
, (char *)0);
240 int disorder_shutdown(disorder_client
*c
) {
241 return disorder_simple(c
, 0, "shutdown", (char *)0);
244 int disorder_stats(disorder_client
*c
, char ***statsp
, int *nstatsp
) {
245 return disorder_simple_list(c
, statsp
, nstatsp
, "stats", (char *)0);
248 int disorder_tags(disorder_client
*c
, char ***tagsp
, int *ntagsp
) {
249 return disorder_simple_list(c
, tagsp
, ntagsp
, "tags", (char *)0);
252 int disorder_unset(disorder_client
*c
, const char *track
, const char *pref
) {
253 return disorder_simple(c
, 0, "unset", track
, pref
, (char *)0);
256 int disorder_unset_global(disorder_client
*c
, const char *pref
) {
257 return disorder_simple(c
, 0, "unset-global", pref
, (char *)0);
260 int disorder_userinfo(disorder_client
*c
, const char *username
, const char *property
, char **valuep
) {
261 return dequote(disorder_simple(c
, valuep
, "userinfo", username
, property
, (char *)0), valuep
);
264 int disorder_users(disorder_client
*c
, char ***usersp
, int *nusersp
) {
265 return disorder_simple_list(c
, usersp
, nusersp
, "users", (char *)0);
268 int disorder_version(disorder_client
*c
, char **versionp
) {
269 return dequote(disorder_simple(c
, versionp
, "version", (char *)0), versionp
);