Commit | Line | Data |
---|---|---|
7788b7c7 RK |
1 | /* |
2 | * This file is part of DisOrder. | |
3 | * Copyright (C) 2010 Richard Kettlewell | |
4 | * | |
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. | |
9 | * | |
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. | |
14 | * | |
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/>. | |
17 | */ | |
18 | ||
19 | int disorder_adopt(disorder_client *c, const char *id) { | |
20 | return disorder_simple(c, 0, "adopt", id, (char *)0); | |
21 | } | |
22 | ||
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); | |
25 | } | |
26 | ||
3680ef53 RK |
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); | |
29 | } | |
30 | ||
7788b7c7 RK |
31 | int disorder_confirm(disorder_client *c, const char *confirmation) { |
32 | char *u; | |
33 | int rc; | |
34 | if((rc = disorder_simple(c, &u, "confirm", confirmation ))) | |
35 | return rc; | |
36 | c->user = u; | |
37 | return 0; | |
38 | } | |
39 | ||
40 | int disorder_cookie(disorder_client *c, const char *cookie) { | |
41 | char *u; | |
42 | int rc; | |
43 | if((rc = disorder_simple(c, &u, "cookie", cookie ))) | |
44 | return rc; | |
45 | c->user = u; | |
46 | return 0; | |
47 | } | |
48 | ||
49 | int disorder_deluser(disorder_client *c, const char *user) { | |
50 | return disorder_simple(c, 0, "deluser", user, (char *)0); | |
51 | } | |
52 | ||
3680ef53 RK |
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); | |
55 | } | |
56 | ||
7788b7c7 RK |
57 | int disorder_disable(disorder_client *c) { |
58 | return disorder_simple(c, 0, "disable", (char *)0); | |
59 | } | |
60 | ||
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); | |
63 | } | |
64 | ||
65 | int disorder_enable(disorder_client *c) { | |
66 | return disorder_simple(c, 0, "enable", (char *)0); | |
67 | } | |
68 | ||
69 | int disorder_enabled(disorder_client *c, int *enabledp) { | |
70 | char *v; | |
71 | int rc; | |
72 | if((rc = disorder_simple(c, &v, "enabled", (char *)0))) | |
73 | return rc; | |
74 | return boolean("enabled", v, enabledp); | |
75 | } | |
76 | ||
77 | int disorder_exists(disorder_client *c, const char *track, int *existsp) { | |
78 | char *v; | |
79 | int rc; | |
80 | if((rc = disorder_simple(c, &v, "exists", track, (char *)0))) | |
81 | return rc; | |
82 | return boolean("exists", v, existsp); | |
83 | } | |
84 | ||
3680ef53 RK |
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); | |
87 | } | |
88 | ||
7788b7c7 RK |
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); | |
91 | } | |
92 | ||
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); | |
95 | } | |
96 | ||
711a4497 RK |
97 | int disorder_length(disorder_client *c, const char *track, long *lengthp) { |
98 | char *v; | |
99 | int rc; | |
100 | ||
101 | if((rc = disorder_simple(c, &v, "length", track, (char *)0))) | |
102 | return rc; | |
103 | *lengthp = atol(v); | |
104 | xfree(v); | |
105 | return 0; | |
106 | } | |
107 | ||
7788b7c7 RK |
108 | int disorder_make_cookie(disorder_client *c, char **cookiep) { |
109 | return dequote(disorder_simple(c, cookiep, "make-cookie", (char *)0), cookiep); | |
110 | } | |
111 | ||
112 | int disorder_nop(disorder_client *c) { | |
113 | return disorder_simple(c, 0, "nop", (char *)0); | |
114 | } | |
115 | ||
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); | |
118 | } | |
119 | ||
120 | int disorder_pause(disorder_client *c) { | |
121 | return disorder_simple(c, 0, "pause", (char *)0); | |
122 | } | |
123 | ||
00861dcb RK |
124 | int disorder_play(disorder_client *c, const char *track, char **idp) { |
125 | return dequote(disorder_simple(c, idp, "play", track, (char *)0), idp); | |
126 | } | |
127 | ||
7788b7c7 RK |
128 | int disorder_playlist_delete(disorder_client *c, const char *playlist) { |
129 | return disorder_simple(c, 0, "playlist-delete", playlist, (char *)0); | |
130 | } | |
131 | ||
3680ef53 RK |
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); | |
7788b7c7 RK |
134 | } |
135 | ||
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); | |
138 | } | |
139 | ||
3680ef53 RK |
140 | int disorder_playlist_lock(disorder_client *c, const char *playlist) { |
141 | return disorder_simple(c, 0, "playlist-lock", playlist, (char *)0); | |
142 | } | |
143 | ||
08af2413 RK |
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); | |
146 | } | |
147 | ||
7788b7c7 RK |
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); | |
150 | } | |
151 | ||
152 | int disorder_playlist_unlock(disorder_client *c) { | |
153 | return disorder_simple(c, 0, "playlist-unlock", (char *)0); | |
154 | } | |
155 | ||
3680ef53 RK |
156 | int disorder_playlists(disorder_client *c, char ***playlistsp, int *nplaylistsp) { |
157 | return disorder_simple_list(c, playlistsp, nplaylistsp, "playlists", (char *)0); | |
158 | } | |
159 | ||
08af2413 RK |
160 | int disorder_queue(disorder_client *c, struct queue_entry **queuep) { |
161 | return disorder_somequeue(c, "queue", queuep); | |
162 | } | |
163 | ||
7788b7c7 RK |
164 | int disorder_random_disable(disorder_client *c) { |
165 | return disorder_simple(c, 0, "random-disable", (char *)0); | |
166 | } | |
167 | ||
168 | int disorder_random_enable(disorder_client *c) { | |
169 | return disorder_simple(c, 0, "random-enable", (char *)0); | |
170 | } | |
171 | ||
172 | int disorder_random_enabled(disorder_client *c, int *enabledp) { | |
173 | char *v; | |
174 | int rc; | |
175 | if((rc = disorder_simple(c, &v, "random-enabled", (char *)0))) | |
176 | return rc; | |
177 | return boolean("random-enabled", v, enabledp); | |
178 | } | |
179 | ||
08af2413 RK |
180 | int disorder_recent(disorder_client *c, struct queue_entry **recentp) { |
181 | return disorder_somequeue(c, "recent", recentp); | |
182 | } | |
183 | ||
7788b7c7 RK |
184 | int disorder_reconfigure(disorder_client *c) { |
185 | return disorder_simple(c, 0, "reconfigure", (char *)0); | |
186 | } | |
187 | ||
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); | |
190 | } | |
191 | ||
192 | int disorder_reminder(disorder_client *c, const char *username) { | |
193 | return disorder_simple(c, 0, "reminder", username, (char *)0); | |
194 | } | |
195 | ||
196 | int disorder_remove(disorder_client *c, const char *id) { | |
197 | return disorder_simple(c, 0, "remove", id, (char *)0); | |
198 | } | |
199 | ||
200 | int disorder_rescan(disorder_client *c) { | |
201 | return disorder_simple(c, 0, "rescan", (char *)0); | |
202 | } | |
203 | ||
204 | int disorder_resolve(disorder_client *c, const char *track, char **resolvedp) { | |
205 | return dequote(disorder_simple(c, resolvedp, "resolve", track, (char *)0), resolvedp); | |
206 | } | |
207 | ||
208 | int disorder_resume(disorder_client *c) { | |
209 | return disorder_simple(c, 0, "resume", (char *)0); | |
210 | } | |
211 | ||
212 | int disorder_revoke(disorder_client *c) { | |
213 | return disorder_simple(c, 0, "revoke", (char *)0); | |
214 | } | |
215 | ||
216 | int disorder_scratch(disorder_client *c, const char *id) { | |
217 | return disorder_simple(c, 0, "scratch", id, (char *)0); | |
218 | } | |
219 | ||
220 | int disorder_schedule_del(disorder_client *c, const char *event) { | |
221 | return disorder_simple(c, 0, "schedule-del", event, (char *)0); | |
222 | } | |
223 | ||
3680ef53 RK |
224 | int disorder_schedule_list(disorder_client *c, char ***idsp, int *nidsp) { |
225 | return disorder_simple_list(c, idsp, nidsp, "schedule-list", (char *)0); | |
226 | } | |
227 | ||
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); | |
230 | } | |
231 | ||
7788b7c7 RK |
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); | |
234 | } | |
235 | ||
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); | |
238 | } | |
239 | ||
eea34c08 RK |
240 | int disorder_shutdown(disorder_client *c) { |
241 | return disorder_simple(c, 0, "shutdown", (char *)0); | |
242 | } | |
243 | ||
3680ef53 RK |
244 | int disorder_stats(disorder_client *c, char ***statsp, int *nstatsp) { |
245 | return disorder_simple_list(c, statsp, nstatsp, "stats", (char *)0); | |
246 | } | |
247 | ||
248 | int disorder_tags(disorder_client *c, char ***tagsp, int *ntagsp) { | |
249 | return disorder_simple_list(c, tagsp, ntagsp, "tags", (char *)0); | |
250 | } | |
251 | ||
7788b7c7 RK |
252 | int disorder_unset(disorder_client *c, const char *track, const char *pref) { |
253 | return disorder_simple(c, 0, "unset", track, pref, (char *)0); | |
254 | } | |
255 | ||
256 | int disorder_unset_global(disorder_client *c, const char *pref) { | |
257 | return disorder_simple(c, 0, "unset-global", pref, (char *)0); | |
258 | } | |
259 | ||
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); | |
262 | } | |
263 | ||
3680ef53 RK |
264 | int disorder_users(disorder_client *c, char ***usersp, int *nusersp) { |
265 | return disorder_simple_list(c, usersp, nusersp, "users", (char *)0); | |
266 | } | |
267 | ||
7788b7c7 RK |
268 | int disorder_version(disorder_client *c, char **versionp) { |
269 | return dequote(disorder_simple(c, versionp, "version", (char *)0), versionp); | |
270 | } | |
271 |