File Information
Library: DNSSD
Package: Core
Header: Poco/DNSSD/DNSSDResponderImpl.h
Description
DNSSDResponderImpl subclasses implement the actual binding to the underlying DNSSD engine (e.g., Bonjour or Avahi).
Inheritance
Known Derived Classes: Poco::DNSSD::Bonjour::BonjourResponderImpl, Poco::DNSSD::Avahi::AvahiResponderImpl
Member Summary
Member Functions: addRecord, browser, registerService, removeRecord, start, stop, unregisterService, updateRecord
Constructors
DNSSDResponderImpl
Destructor
~DNSSDResponderImpl
virtual ~DNSSDResponderImpl();
Destroys the DNSSDResponderImpl.
Member Functions
addRecord
virtual RecordHandle addRecord(
ServiceHandle serviceHandle,
const Record & record
) = 0;
Add a record to a registered service. The name of the record will be the same as the registered service's name.
The record can later be updated or deregistered by passing the RecordHandle returned by this function to updateRecord() or removeRecord().
browser
virtual DNSSDBrowser & browser() = 0;
Returns the DNSSDBrowser, which is used to discover and resolve services and domains.
registerService
virtual ServiceHandle registerService(
const Service & service,
int options
) = 0;
Registers a service.
Service registration will be asynchronously. When the service has been registered successfully, a serviceRegistered event will be fired. Otherwise, a ServiceRegistrationFailed event will be fired.
Returns a ServiceHandle that can later be used to unregister the service, or to add DNS records to the service.
removeRecord
virtual void removeRecord(
ServiceHandle serviceHandle,
RecordHandle & recordHandle
) = 0;
Remove a registered resource record. The record must either be: a record added to a registered service via addRecord().
The RecordHandle is invalidated.
start
virtual void start() = 0;
Starts the responder.
Must be called before services can be registered or before browsing for domains and services.
stop
virtual void stop() = 0;
Stops the responder.
unregisterService
virtual void unregisterService(
ServiceHandle & serviceHandle
) = 0;
Unregisters the service specified by serviceHandle.
The ServiceHandle is invalidated.
updateRecord
virtual void updateRecord(
ServiceHandle serviceHandle,
RecordHandle recordHandle,
const Record & record
) = 0;
Update a registered resource record. The record must either be:
- the primary txt record of a service registered via registerService() (if recordHandle is a null handle), or
- a record added to a registered service via addRecord().