Commit 5f34508a authored by Max Kellermann's avatar Max Kellermann

zeroconf/Glue: move code to the ZeroconfHelper constructor

parent 2d8ecd56
......@@ -84,13 +84,5 @@ ZeroconfInit(const ConfigData &config, [[maybe_unused]] EventLoop &loop)
}
}
#ifdef HAVE_AVAHI
return std::make_unique<ZeroconfHelper>(AvahiInit(loop, serviceName,
listen_port));
#endif
#ifdef HAVE_BONJOUR
return std::make_unique<ZeroconfHelper>(BonjourInit(loop, serviceName,
listen_port));
#endif
return std::make_unique<ZeroconfHelper>(loop, serviceName, listen_port);
}
......@@ -21,10 +21,16 @@
#ifdef HAVE_AVAHI
#include "avahi/Helper.hxx"
#define CreateHelper AvahiInit
#endif
#ifdef HAVE_BONJOUR
#include "Bonjour.hxx"
#define CreateHelper BonjourInit
#endif
ZeroconfHelper::ZeroconfHelper(EventLoop &event_loop, const char *name,
unsigned port)
:helper(CreateHelper(event_loop, name, port)) {}
ZeroconfHelper::~ZeroconfHelper() noexcept = default;
......@@ -24,6 +24,7 @@
#include <memory>
class EventLoop;
class AvahiHelper;
class BonjourHelper;
......@@ -37,9 +38,8 @@ class ZeroconfHelper final {
#endif
public:
template<typename T>
ZeroconfHelper(T &&_helper) noexcept
:helper(std::forward<T>(_helper)) {}
ZeroconfHelper(EventLoop &event_loop, const char *name,
unsigned port);
~ZeroconfHelper() noexcept;
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment