From 85003429af53a7f0de680bb7daf34744943b30e0 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 15 Oct 2013 22:55:17 +0200 Subject: output/roar: use std::string --- src/output/RoarOutputPlugin.cxx | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'src/output/RoarOutputPlugin.cxx') diff --git a/src/output/RoarOutputPlugin.cxx b/src/output/RoarOutputPlugin.cxx index fc0abe5c0..8321fd671 100644 --- a/src/output/RoarOutputPlugin.cxx +++ b/src/output/RoarOutputPlugin.cxx @@ -29,6 +29,8 @@ #include +#include + /* libroar/services.h declares roar_service_stream::new - work around this C++ problem */ #define new _new @@ -38,10 +40,10 @@ class RoarOutput { struct audio_output base; + std::string host, name; + roar_vs_t * vss; int err; - char *host; - char *name; int role; struct roar_connection con; struct roar_audio_info info; @@ -50,13 +52,7 @@ class RoarOutput { public: RoarOutput() - :err(ROAR_ERROR_NONE), - host(nullptr), name(nullptr) {} - - ~RoarOutput() { - g_free(host); - g_free(name); - } + :err(ROAR_ERROR_NONE) {} operator audio_output *() { return &base; @@ -133,8 +129,8 @@ roar_output_set_volume(RoarOutput *roar, unsigned volume) inline void RoarOutput::Configure(const config_param ¶m) { - host = param.DupBlockString("server", nullptr); - name = param.DupBlockString("name", "MPD"); + host = param.GetBlockValue("server", ""); + name = param.GetBlockValue("name", "MPD"); const char *_role = param.GetBlockValue("role", "music"); role = _role != nullptr @@ -205,7 +201,9 @@ RoarOutput::Open(AudioFormat &audio_format, Error &error) { const ScopeLock protect(mutex); - if (roar_simple_connect(&con, host, name) < 0) { + if (roar_simple_connect(&con, + host.empty() ? nullptr : host.c_str(), + name.c_str()) < 0) { error.Set(roar_output_domain, "Failed to connect to Roar server"); return false; -- cgit v1.2.3