diff options
author | Max Kellermann <max@duempel.org> | 2013-01-30 17:52:51 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-01-30 21:36:04 +0100 |
commit | 595b6a4f6c2a6f12fb2b3c83f4053942844ffa84 (patch) | |
tree | bdfaf87414fac0359a8fd2e15911098fbe9d6348 /src/ConfigTemplates.hxx | |
parent | daa46477125145dd943122c8064c7271a1a9429f (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.hxx | 75 |
1 files changed, 5 insertions, 70 deletions
diff --git a/src/ConfigTemplates.hxx b/src/ConfigTemplates.hxx index 8592070cd..4f5460460 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 |