aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-08-04 13:47:48 +0200
committerMax Kellermann <max@duempel.org>2013-08-04 14:07:50 +0200
commitbf6ed643e01687ed21b3a21cb3f77a1042e22c15 (patch)
treeddd74a2f850d4469517ebbda07779ac45ed3ebb8 /src
parenta0beb5fa26e2b66d01a3b21534b848930929a333 (diff)
downloadmpd-bf6ed643e01687ed21b3a21cb3f77a1042e22c15.tar.gz
mpd-bf6ed643e01687ed21b3a21cb3f77a1042e22c15.tar.xz
mpd-bf6ed643e01687ed21b3a21cb3f77a1042e22c15.zip
InputPlugin: pass config_param reference
Diffstat (limited to 'src')
-rw-r--r--src/InputInit.cxx19
-rw-r--r--src/InputPlugin.hxx2
-rw-r--r--src/input/CurlInputPlugin.cxx11
-rw-r--r--src/input/FfmpegInputPlugin.cxx2
4 files changed, 18 insertions, 16 deletions
diff --git a/src/InputInit.cxx b/src/InputInit.cxx
index 64cdfc7af..f6e40a6f9 100644
--- a/src/InputInit.cxx
+++ b/src/InputInit.cxx
@@ -44,8 +44,7 @@ input_plugin_config(const char *plugin_name, GError **error_r)
const struct config_param *param = NULL;
while ((param = config_get_next_param(CONF_INPUT, param)) != NULL) {
- const char *name =
- config_get_block_string(param, "plugin", NULL);
+ const char *name = param->GetBlockValue("plugin");
if (name == NULL) {
g_set_error(error_r, input_quark(), 0,
"input configuration without 'plugin' name in line %d",
@@ -63,6 +62,8 @@ input_plugin_config(const char *plugin_name, GError **error_r)
bool
input_stream_global_init(GError **error_r)
{
+ const config_param empty;
+
GError *error = NULL;
for (unsigned i = 0; input_plugins[i] != NULL; ++i) {
@@ -74,16 +75,18 @@ input_stream_global_init(GError **error_r)
const struct config_param *param =
input_plugin_config(plugin->name, &error);
- if (param == NULL && error != NULL) {
- g_propagate_error(error_r, error);
- return false;
- }
+ if (param == nullptr) {
+ if (error != nullptr) {
+ g_propagate_error(error_r, error);
+ return false;
+ }
- if (!config_get_block_bool(param, "enabled", true))
+ param = &empty;
+ } else if (!param->GetBlockValue("enabled", true))
/* the plugin is disabled in mpd.conf */
continue;
- if (plugin->init == NULL || plugin->init(param, &error))
+ if (plugin->init == NULL || plugin->init(*param, &error))
input_plugins_enabled[i] = true;
else {
g_propagate_prefixed_error(error_r, error,
diff --git a/src/InputPlugin.hxx b/src/InputPlugin.hxx
index a5cf912da..a1eb16339 100644
--- a/src/InputPlugin.hxx
+++ b/src/InputPlugin.hxx
@@ -39,7 +39,7 @@ struct input_plugin {
* @return true on success, false if the plugin should be
* disabled
*/
- bool (*init)(const struct config_param *param, GError **error_r);
+ bool (*init)(const config_param &param, GError **error_r);
/**
* Global deinitialization. Called once before MPD shuts
diff --git a/src/input/CurlInputPlugin.cxx b/src/input/CurlInputPlugin.cxx
index 33bacffc5..5e9cbf1d8 100644
--- a/src/input/CurlInputPlugin.cxx
+++ b/src/input/CurlInputPlugin.cxx
@@ -614,7 +614,7 @@ CurlSockets::DispatchSockets()
*/
static bool
-input_curl_init(const struct config_param *param,
+input_curl_init(const config_param &param,
G_GNUC_UNUSED GError **error_r)
{
CURLcode code = curl_global_init(CURL_GLOBAL_ALL);
@@ -627,11 +627,10 @@ input_curl_init(const struct config_param *param,
http_200_aliases = curl_slist_append(http_200_aliases, "ICY 200 OK");
- proxy = config_get_block_string(param, "proxy", NULL);
- proxy_port = config_get_block_unsigned(param, "proxy_port", 0);
- proxy_user = config_get_block_string(param, "proxy_user", NULL);
- proxy_password = config_get_block_string(param, "proxy_password",
- NULL);
+ proxy = param.GetBlockValue("proxy");
+ proxy_port = param.GetBlockValue("proxy_port", 0u);
+ proxy_user = param.GetBlockValue("proxy_user");
+ proxy_password = param.GetBlockValue("proxy_password");
if (proxy == NULL) {
/* deprecated proxy configuration */
diff --git a/src/input/FfmpegInputPlugin.cxx b/src/input/FfmpegInputPlugin.cxx
index 1660f177d..3dad28730 100644
--- a/src/input/FfmpegInputPlugin.cxx
+++ b/src/input/FfmpegInputPlugin.cxx
@@ -76,7 +76,7 @@ input_ffmpeg_supported(void)
}
static bool
-input_ffmpeg_init(G_GNUC_UNUSED const struct config_param *param,
+input_ffmpeg_init(gcc_unused const config_param &param,
G_GNUC_UNUSED GError **error_r)
{
av_register_all();