zeroconf/Glue: move code to the ZeroconfHelper constructor
This commit is contained in:
parent
2d8ecd561b
commit
5f34508aae
@ -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;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user