From 67b0ab717e469eace11ded98925b67738513e7ea Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 14 Dec 2009 22:41:29 +0100 Subject: input_stream: moved plugin list to input_registry.c --- Makefile.am | 2 ++ src/input_registry.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ src/input_registry.h | 35 +++++++++++++++++++++++++++++++++++ src/input_stream.c | 32 ++------------------------------ 4 files changed, 91 insertions(+), 30 deletions(-) create mode 100644 src/input_registry.c create mode 100644 src/input_registry.h diff --git a/Makefile.am b/Makefile.am index eaea75666..d4cf31178 100644 --- a/Makefile.am +++ b/Makefile.am @@ -92,6 +92,7 @@ mpd_headers = \ src/decoder/_flac_common.h \ src/decoder/_ogg_common.h \ src/input_plugin.h \ + src/input_registry.h \ src/input_stream.h \ src/input/file_input_plugin.h \ src/input/curl_input_plugin.h \ @@ -569,6 +570,7 @@ INPUT_LIBS = \ $(MMS_LIBS) INPUT_SRC = \ + src/input_registry.c \ src/input_stream.c \ src/input/file_input_plugin.c diff --git a/src/input_registry.c b/src/input_registry.c new file mode 100644 index 000000000..07266a856 --- /dev/null +++ b/src/input_registry.c @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2003-2009 The Music Player Daemon Project + * http://www.musicpd.org + * + * 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 + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "config.h" +#include "input_registry.h" +#include "input/file_input_plugin.h" + +#ifdef ENABLE_ARCHIVE +#include "input/archive_input_plugin.h" +#endif + +#ifdef ENABLE_CURL +#include "input/curl_input_plugin.h" +#endif + +#ifdef ENABLE_MMS +#include "input/mms_input_plugin.h" +#endif + +#include + +const struct input_plugin *const input_plugins[] = { + &input_plugin_file, +#ifdef ENABLE_ARCHIVE + &input_plugin_archive, +#endif +#ifdef ENABLE_CURL + &input_plugin_curl, +#endif +#ifdef ENABLE_MMS + &input_plugin_mms, +#endif + NULL +}; + +bool input_plugins_enabled[G_N_ELEMENTS(input_plugins) - 1]; diff --git a/src/input_registry.h b/src/input_registry.h new file mode 100644 index 000000000..0a9cd570f --- /dev/null +++ b/src/input_registry.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2003-2009 The Music Player Daemon Project + * http://www.musicpd.org + * + * 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 + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPD_INPUT_REGISTRY_H +#define MPD_INPUT_REGISTRY_H + +#include "check.h" + +#include + +/** + * NULL terminated list of all input plugins which were enabled at + * compile time. + */ +extern const struct input_plugin *const input_plugins[]; + +extern bool input_plugins_enabled[]; + +#endif diff --git a/src/input_stream.c b/src/input_stream.c index 749d51623..7df8efd7f 100644 --- a/src/input_stream.c +++ b/src/input_stream.c @@ -18,43 +18,15 @@ */ #include "config.h" +#include "input_stream.h" +#include "input_registry.h" #include "input_plugin.h" #include "conf.h" -#include "input/file_input_plugin.h" - -#ifdef ENABLE_ARCHIVE -#include "input/archive_input_plugin.h" -#endif - -#ifdef ENABLE_CURL -#include "input/curl_input_plugin.h" -#endif - -#ifdef ENABLE_MMS -#include "input/mms_input_plugin.h" -#endif - #include #include #include -static const struct input_plugin *const input_plugins[] = { - &input_plugin_file, -#ifdef ENABLE_ARCHIVE - &input_plugin_archive, -#endif -#ifdef ENABLE_CURL - &input_plugin_curl, -#endif -#ifdef ENABLE_MMS - &input_plugin_mms, -#endif - NULL -}; - -static bool input_plugins_enabled[G_N_ELEMENTS(input_plugins) - 1]; - /** * Find the "input" configuration block for the specified plugin. * -- cgit v1.2.3