113 boost::asio::io_context& io_context_;
114 std::unique_ptr<dnssd::Browser> node_browser_;
115 std::unique_ptr<dnssd::Browser> session_browser_;
Baseclass for other classes which need updates on discovered nodes and sessions.
virtual void ravenna_node_removed(const dnssd::ServiceDescription &desc)
Called when a node is removed.
virtual void ravenna_node_discovered(const dnssd::ServiceDescription &desc)
Called when a node is discovered.
virtual ~Subscriber()=default
virtual void ravenna_session_discovered(const dnssd::ServiceDescription &desc)
Called when a session is discovered.
virtual void ravenna_session_removed(const dnssd::ServiceDescription &desc)
Called when a session is removed.
tl::expected< void, const char * > set_node_browsing_enabled(bool enabled)
Enables or disables browsing for nodes.
RavennaBrowser(boost::asio::io_context &io_context)
tl::expected< void, const char * > set_session_browsing_enabled(bool enabled)
Enables or disables browsing for nodes.
const dnssd::ServiceDescription * find_session(const std::string &session_name) const
Finds a node by its name.
bool subscribe(Subscriber *subscriber_to_add)
Adds a subscriber to the browser.
const dnssd::ServiceDescription * find_node(const std::string &node_name) const
Finds a node by its name.
bool unsubscribe(const Subscriber *subscriber_to_remove)
Removes a subscriber from the browser.
Super basic list of subscribers.
A struct containing data which represents a service on the network.