PluginUnavailable: backport class PluginUnconfigured from master
Stop bothering people about the Tidal/Qobuz plugins.
This commit is contained in:
parent
e7c5a42821
commit
5ece9685c2
@ -27,9 +27,20 @@
|
||||
* that this plugin is unavailable. It will be disabled, and MPD can
|
||||
* continue initialization.
|
||||
*/
|
||||
class PluginUnavailable final : public std::runtime_error {
|
||||
class PluginUnavailable : public std::runtime_error {
|
||||
public:
|
||||
using std::runtime_error::runtime_error;
|
||||
};
|
||||
|
||||
/**
|
||||
* Like #PluginUnavailable, but denotes that the plugin is not
|
||||
* available because it was not explicitly enabled in the
|
||||
* configuration. The message may describe the necessary steps to
|
||||
* enable it.
|
||||
*/
|
||||
class PluginUnconfigured : public PluginUnavailable {
|
||||
public:
|
||||
using PluginUnavailable::PluginUnavailable;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -58,6 +58,11 @@ input_stream_global_init(const ConfigData &config, EventLoop &event_loop)
|
||||
if (plugin->init != nullptr)
|
||||
plugin->init(event_loop, *block);
|
||||
input_plugins_enabled[i] = true;
|
||||
} catch (const PluginUnconfigured &e) {
|
||||
LogFormat(LogLevel::INFO, e,
|
||||
"Input plugin '%s' is not configured",
|
||||
plugin->name);
|
||||
continue;
|
||||
} catch (const PluginUnavailable &e) {
|
||||
FormatError(e,
|
||||
"Input plugin '%s' is unavailable",
|
||||
|
@ -133,11 +133,11 @@ InitQobuzInput(EventLoop &event_loop, const ConfigBlock &block)
|
||||
|
||||
const char *app_id = block.GetBlockValue("app_id");
|
||||
if (app_id == nullptr)
|
||||
throw PluginUnavailable("No Qobuz app_id configured");
|
||||
throw PluginUnconfigured("No Qobuz app_id configured");
|
||||
|
||||
const char *app_secret = block.GetBlockValue("app_secret");
|
||||
if (app_secret == nullptr)
|
||||
throw PluginUnavailable("No Qobuz app_secret configured");
|
||||
throw PluginUnconfigured("No Qobuz app_secret configured");
|
||||
|
||||
const char *device_manufacturer_id = block.GetBlockValue("device_manufacturer_id",
|
||||
"df691fdc-fa36-11e7-9718-635337d7df8f");
|
||||
@ -145,11 +145,11 @@ InitQobuzInput(EventLoop &event_loop, const ConfigBlock &block)
|
||||
const char *username = block.GetBlockValue("username");
|
||||
const char *email = block.GetBlockValue("email");
|
||||
if (username == nullptr && email == nullptr)
|
||||
throw PluginUnavailable("No Qobuz username configured");
|
||||
throw PluginUnconfigured("No Qobuz username configured");
|
||||
|
||||
const char *password = block.GetBlockValue("password");
|
||||
if (password == nullptr)
|
||||
throw PluginUnavailable("No Qobuz password configured");
|
||||
throw PluginUnconfigured("No Qobuz password configured");
|
||||
|
||||
const char *format_id = block.GetBlockValue("format_id", "5");
|
||||
|
||||
|
@ -170,15 +170,15 @@ InitTidalInput(EventLoop &event_loop, const ConfigBlock &block)
|
||||
|
||||
const char *token = block.GetBlockValue("token");
|
||||
if (token == nullptr)
|
||||
throw PluginUnavailable("No Tidal application token configured");
|
||||
throw PluginUnconfigured("No Tidal application token configured");
|
||||
|
||||
const char *username = block.GetBlockValue("username");
|
||||
if (username == nullptr)
|
||||
throw PluginUnavailable("No Tidal username configured");
|
||||
throw PluginUnconfigured("No Tidal username configured");
|
||||
|
||||
const char *password = block.GetBlockValue("password");
|
||||
if (password == nullptr)
|
||||
throw PluginUnavailable("No Tidal password configured");
|
||||
throw PluginUnconfigured("No Tidal password configured");
|
||||
|
||||
FormatWarning(tidal_domain, "The Tidal input plugin is deprecated because Tidal has changed the protocol and doesn't share documentation");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user