Its functionality was replaced by the more sophisticated template
system ages ago.
void option_set(const char *name, const char *value);
const char *option_label(const char *key);
int option_label_exists(const char *key);
void option_set(const char *name, const char *value);
const char *option_label(const char *key);
int option_label_exists(const char *key);
-char **option_columns(const char *name, int *ncolumns);
#define DCGI_QUEUE 0x0001
#define DCGI_PLAYING 0x0002
#define DCGI_QUEUE 0x0001
#define DCGI_PLAYING 0x0002
/*
* This file is part of DisOrder.
/*
* This file is part of DisOrder.
- * Copyright (C) 2004-2008 Richard Kettlewell
+ * Copyright (C) 2004-2008, 2011 Richard Kettlewell
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include "disorder-cgi.h"
#include "disorder-cgi.h"
-struct column {
- int ncolumns;
- char **columns;
-};
-
struct read_options_state {
const char *name;
int line;
};
static hash *labels;
struct read_options_state {
const char *name;
int line;
};
static hash *labels;
static void option__readfile(const char *name);
static void option__readfile(const char *name);
option__readfile(vec[0]);
}
option__readfile(vec[0]);
}
-static void option__columns(int nvec,
- char **vec) {
- struct column c;
-
- c.ncolumns = nvec - 1;
- c.columns = &vec[1];
- hash_add(columns, vec[0], &c, HASH_INSERT_OR_REPLACE);
-}
-
/** @brief Definition of an option command */
static struct option {
/** @brief Command name */
/** @brief Definition of an option command */
static struct option {
/** @brief Command name */
/** @brief Command handler */
void (*handler)(int nvec, char **vec);
} options[] = {
/** @brief Command handler */
void (*handler)(int nvec, char **vec);
} options[] = {
- { "columns", 1, INT_MAX, option__columns },
{ "include", 1, 1, option__include },
{ "label", 2, 2, option__label },
};
{ "include", 1, 1, option__include },
{ "label", 2, 2, option__label },
};
if(!have_read_options) {
have_read_options = 1;
labels = hash_new(sizeof (char *));
if(!have_read_options) {
have_read_options = 1;
labels = hash_new(sizeof (char *));
- columns = hash_new(sizeof (struct column));
option__readfile("options");
}
}
option__readfile("options");
}
}
return !!hash_find(labels, key);
}
return !!hash_find(labels, key);
}
-/** @brief Return a column list
- * @param name Context (playing/recent/etc)
- * @param ncolumns Where to store column count or NULL
- * @return Pointer to column list
- */
-char **option_columns(const char *name, int *ncolumns) {
- struct column *c;
-
- option__init();
- c = hash_find(columns, name);
- if(c) {
- if(ncolumns)
- *ncolumns = c->ncolumns;
- return c->columns;
- } else {
- if(ncolumns)
- *ncolumns = 0;
- return 0;
- }
-}
-
/*
Local Variables:
c-basic-offset:2
/*
Local Variables:
c-basic-offset:2
-.\" Copyright (C) 2008 Richard Kettlewell
+.\" Copyright (C) 2008, 2011 Richard Kettlewell
.\"
.\" This program is free software: you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\"
.\" This program is free software: you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.SH DIRECTIVES
Valid directives are:
.TP
.SH DIRECTIVES
Valid directives are:
.TP
-.B columns \fINAME\fR \fIHEADING\fR...
-Defines the columns used in \fB@playing@\fR and \fB@recent@\fB.
-\fINAME\fR must be either \fBplaying\fR, \fBrecent\fR or \fBsearch\fR.
-\fIHEADING\fR... is a list of heading names.
-If a column is defined more than once then the last definitions is used.
-.IP
-The heading names \fBbutton\fR, \fBlength\fR, \fBwhen\fR and \fBwho\fR
-are built in.
-.TP
.B include \fIPATH\fR
Includes another file.
If \fIPATH\fR starts with a \fB/\fR then it is taken as is, otherwise
.B include \fIPATH\fR
Includes another file.
If \fIPATH\fR starts with a \fB/\fR then it is taken as is, otherwise
Labels are not individually documented here, see the shipped
\fIoptions.labels\fR file instead.
.SH "OPTION FILES"
Labels are not individually documented here, see the shipped
\fIoptions.labels\fR file instead.
.SH "OPTION FILES"
-The shipped \fIoptions\fR file includes four standard options files.
+The shipped \fIoptions\fR file includes two standard options files.
In order, they are:
.TP
.I options.labels
In order, they are:
.TP
.I options.labels
pkgdata_DATA=about.tmpl choose.tmpl playing.tmpl recent.tmpl \
prefs.tmpl help.tmpl error.tmpl \
new.tmpl login.tmpl macros.tmpl \
pkgdata_DATA=about.tmpl choose.tmpl playing.tmpl recent.tmpl \
prefs.tmpl help.tmpl error.tmpl \
new.tmpl login.tmpl macros.tmpl \
- options options.labels \
- options.columns
pkghttp_DATA=disorder.css
EXTRA_DIST=${pkgdata_DATA} $(pkghttp_DATA)
pkghttp_DATA=disorder.css
EXTRA_DIST=${pkgdata_DATA} $(pkghttp_DATA)
# default label values
include options.labels
# default label values
include options.labels
-# default columns
-include options.columns
-
# user overrides - you supply this
include options.user
# user overrides - you supply this
include options.user
+++ /dev/null
-columns playing when who artist album title length button
-columns recent when who artist album title length
-columns search artist album title