chiark / gitweb /
Fill in some missing actions
[disorder] / server / dcgi.c
index 20372822ea4f6f3d9f6cd915ff0937f5c4340e6e..c38ee6c1e383d77fd76752434670d13cde8cc09f 100644 (file)
@@ -82,134 +82,6 @@ static void expand_template(dcgi_state *ds, cgi_sink *output,
 
 /* actions ********************************************************************/
 
-static void act_disable(cgi_sink *output,
-                       dcgi_state *ds) {
-  if(ds->g->client)
-    disorder_disable(ds->g->client);
-  redirect(output->sink);
-}
-
-static void act_enable(cgi_sink *output,
-                             dcgi_state *ds) {
-  if(ds->g->client)
-    disorder_enable(ds->g->client);
-  redirect(output->sink);
-}
-
-static void act_random_disable(cgi_sink *output,
-                              dcgi_state *ds) {
-  if(ds->g->client)
-    disorder_random_disable(ds->g->client);
-  redirect(output->sink);
-}
-
-static void act_random_enable(cgi_sink *output,
-                             dcgi_state *ds) {
-  if(ds->g->client)
-    disorder_random_enable(ds->g->client);
-  redirect(output->sink);
-}
-
-static void act_remove(cgi_sink *output,
-                      dcgi_state *ds) {
-  const char *id;
-
-  if(!(id = cgi_get("id"))) fatal(0, "missing id argument");
-  if(ds->g->client)
-    disorder_remove(ds->g->client, id);
-  redirect(output->sink);
-}
-
-static void act_move(cgi_sink *output,
-                    dcgi_state *ds) {
-  const char *id, *delta;
-
-  if(!(id = cgi_get("id"))) fatal(0, "missing id argument");
-  if(!(delta = cgi_get("delta"))) fatal(0, "missing delta argument");
-  if(ds->g->client)
-    disorder_move(ds->g->client, id, atoi(delta));
-  redirect(output->sink);
-}
-
-static void act_scratch(cgi_sink *output,
-                       dcgi_state *ds) {
-  if(ds->g->client)
-    disorder_scratch(ds->g->client, cgi_get("id"));
-  redirect(output->sink);
-}
-
-static void act_play(cgi_sink *output,
-                    dcgi_state *ds) {
-  const char *track, *dir;
-  char **tracks;
-  int ntracks, n;
-  struct entry *e;
-
-  if((track = cgi_get("file"))) {
-    disorder_play(ds->g->client, track);
-  } else if((dir = cgi_get("directory"))) {
-    if(disorder_files(ds->g->client, dir, 0, &tracks, &ntracks)) ntracks = 0;
-    if(ntracks) {
-      e = xmalloc(ntracks * sizeof (struct entry));
-      for(n = 0; n < ntracks; ++n) {
-       e[n].path = tracks[n];
-       e[n].sort = trackname_transform("track", tracks[n], "sort");
-       e[n].display = trackname_transform("track", tracks[n], "display");
-      }
-      qsort(e, ntracks, sizeof (struct entry), compare_entry);
-      for(n = 0; n < ntracks; ++n)
-       disorder_play(ds->g->client, e[n].path);
-    }
-  }
-  /* XXX error handling */
-  redirect(output->sink);
-}
-
-static int clamp(int n, int min, int max) {
-  if(n < min)
-    return min;
-  if(n > max)
-    return max;
-  return n;
-}
-
-static const char *volume_url(void) {
-  char *url;
-  
-  byte_xasprintf(&url, "%s?action=volume", config->url);
-  return url;
-}
-
-static void act_volume(cgi_sink *output, dcgi_state *ds) {
-  const char *l, *r, *d, *back;
-  int nd, changed = 0;;
-
-  if((d = cgi_get("delta"))) {
-    lookups(ds, DC_VOLUME);
-    nd = clamp(atoi(d), -255, 255);
-    disorder_set_volume(ds->g->client,
-                       clamp(ds->g->volume_left + nd, 0, 255),
-                       clamp(ds->g->volume_right + nd, 0, 255));
-    changed = 1;
-  } else if((l = cgi_get("left")) && (r = cgi_get("right"))) {
-    disorder_set_volume(ds->g->client, atoi(l), atoi(r));
-    changed = 1;
-  }
-  if(changed) {
-    /* redirect back to ourselves (but without the volume-changing bits in the
-     * URL) */
-    cgi_header(output->sink, "Location",
-              (back = cgi_get("back")) ? back : volume_url());
-    header_cookie(output->sink);
-    cgi_body(output->sink);
-  } else {
-    cgi_header(output->sink, "Content-Type", "text/html");
-    header_cookie(output->sink);
-    cgi_body(output->sink);
-    expand(output, "volume", ds);
-  }
-}
-
 static void act_prefs_errors(const char *msg,
                             void attribute((unused)) *u) {
   fatal(0, "error splitting parts list: %s", msg);
@@ -288,20 +160,6 @@ static void act_prefs(cgi_sink *output, dcgi_state *ds) {
   expand(output, "prefs", ds);
 }
 
-static void act_pause(cgi_sink *output,
-                     dcgi_state *ds) {
-  if(ds->g->client)
-    disorder_pause(ds->g->client);
-  redirect(output->sink);
-}
-
-static void act_resume(cgi_sink *output,
-                      dcgi_state *ds) {
-  if(ds->g->client)
-    disorder_resume(ds->g->client);
-  redirect(output->sink);
-}
-
 static void act_login(cgi_sink *output,
                      dcgi_state *ds) {
   const char *username, *password, *back;