aboutsummaryrefslogtreecommitdiff
path: root/src/ConfigTemplates.hxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-01-30 17:52:51 +0100
committerMax Kellermann <max@duempel.org>2013-01-30 21:36:04 +0100
commit595b6a4f6c2a6f12fb2b3c83f4053942844ffa84 (patch)
treebdfaf87414fac0359a8fd2e15911098fbe9d6348 /src/ConfigTemplates.hxx
parentdaa46477125145dd943122c8064c7271a1a9429f (diff)
ConfigFile: add enum ConfigOption
Look up top-level config options by enum (= integer), not by name string.
Diffstat (limited to 'src/ConfigTemplates.hxx')
-rw-r--r--src/ConfigTemplates.hxx75
1 files changed, 5 insertions, 70 deletions
diff --git a/src/ConfigTemplates.hxx b/src/ConfigTemplates.hxx
index 8592070c..4f546046 100644
--- a/src/ConfigTemplates.hxx
+++ b/src/ConfigTemplates.hxx
@@ -17,11 +17,10 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#include "gcc.h"
+#ifndef MPD_CONFIG_TEMPLATES_HXX
+#define MPD_CONFIG_TEMPLATES_HXX
-#include <glib.h>
-
-#include <string.h>
+#include "ConfigOption.hxx"
struct ConfigTemplate {
const char *const name;
@@ -29,70 +28,6 @@ struct ConfigTemplate {
const bool block;
};
-static constexpr struct ConfigTemplate config_templates[] = {
- { CONF_MUSIC_DIR, false, false },
- { CONF_PLAYLIST_DIR, false, false },
- { CONF_FOLLOW_INSIDE_SYMLINKS, false, false },
- { CONF_FOLLOW_OUTSIDE_SYMLINKS, false, false },
- { CONF_DB_FILE, false, false },
- { CONF_STICKER_FILE, false, false },
- { CONF_LOG_FILE, false, false },
- { CONF_PID_FILE, false, false },
- { CONF_STATE_FILE, false, false },
- { "restore_paused", false, false },
- { CONF_USER, false, false },
- { CONF_GROUP, false, false },
- { CONF_BIND_TO_ADDRESS, true, false },
- { CONF_PORT, false, false },
- { CONF_LOG_LEVEL, false, false },
- { CONF_ZEROCONF_NAME, false, false },
- { CONF_ZEROCONF_ENABLED, false, false },
- { CONF_PASSWORD, true, false },
- { CONF_DEFAULT_PERMS, false, false },
- { CONF_AUDIO_OUTPUT, true, true },
- { CONF_AUDIO_OUTPUT_FORMAT, false, false },
- { CONF_MIXER_TYPE, false, false },
- { CONF_REPLAYGAIN, false, false },
- { CONF_REPLAYGAIN_PREAMP, false, false },
- { CONF_REPLAYGAIN_MISSING_PREAMP, false, false },
- { CONF_REPLAYGAIN_LIMIT, false, false },
- { CONF_VOLUME_NORMALIZATION, false, false },
- { CONF_SAMPLERATE_CONVERTER, false, false },
- { CONF_AUDIO_BUFFER_SIZE, false, false },
- { CONF_BUFFER_BEFORE_PLAY, false, false },
- { CONF_HTTP_PROXY_HOST, false, false },
- { CONF_HTTP_PROXY_PORT, false, false },
- { CONF_HTTP_PROXY_USER, false, false },
- { CONF_HTTP_PROXY_PASSWORD, false, false },
- { CONF_CONN_TIMEOUT, false, false },
- { CONF_MAX_CONN, false, false },
- { CONF_MAX_PLAYLIST_LENGTH, false, false },
- { CONF_MAX_COMMAND_LIST_SIZE, false, false },
- { CONF_MAX_OUTPUT_BUFFER_SIZE, false, false },
- { CONF_FS_CHARSET, false, false },
- { CONF_ID3V1_ENCODING, false, false },
- { CONF_METADATA_TO_USE, false, false },
- { CONF_SAVE_ABSOLUTE_PATHS, false, false },
- { CONF_DECODER, true, true },
- { CONF_INPUT, true, true },
- { CONF_GAPLESS_MP3_PLAYBACK, false, false },
- { CONF_PLAYLIST_PLUGIN, true, true },
- { CONF_AUTO_UPDATE, false, false },
- { CONF_AUTO_UPDATE_DEPTH, false, false },
- { CONF_DESPOTIFY_USER, false, false },
- { CONF_DESPOTIFY_PASSWORD, false, false},
- { CONF_DESPOTIFY_HIGH_BITRATE, false, false },
- { "filter", true, true },
- { "database", false, true },
-};
-
-gcc_pure
-static int
-ConfigFindByName(const char *name)
-{
- for (unsigned i = 0; i < G_N_ELEMENTS(config_templates); ++i)
- if (strcmp(config_templates[i].name, name) == 0)
- return i;
+extern const ConfigTemplate config_templates[];
- return -1;
-}
+#endif