Poco::DNSSD::Avahi

class AvahiBrowserImpl

File Information

Library: DNSSD/Avahi
Package: Implementation
Header: Poco/DNSSD/Avahi/AvahiBrowserImpl.h

Description

The DNSSDBrowser implementation for Avahi.

Inheritance

Direct Base Classes: Poco::DNSSD::DNSSDBrowser

All Base Classes: Poco::DNSSD::DNSSDBrowser

Member Summary

Member Functions: browse, cancel, enumerateBrowseDomains, enumerateRegistrationDomains, escape, onBrowseReply, onEnumerateBrowseDomainsReply, onEnumerateRegistrationDomainsReply, onQueryRecordReply, onResolveReply, parseTXTRecord, queryRecord, resolve, resolveHost

Inherited Functions: browse, cancel, enumerateBrowseDomains, enumerateRegistrationDomains, queryRecord, resolve, resolveHost

Enumerations

HandleTypes protected

DOMAIN_BROWSER_HANDLE

SERVICE_BROWSER_HANDLE

SERVICE_RESOLVER_HANDLE

RECORD_BROWSER_HANDLE

Constructors

AvahiBrowserImpl

AvahiBrowserImpl(
    AvahiResponderImpl & responder
);

Creates the AvahiBrowserImpl.

Destructor

~AvahiBrowserImpl virtual

~AvahiBrowserImpl();

Destroys the AvahiBrowserImpl.

Member Functions

browse virtual

BrowseHandle browse(
    const std::string & regType,
    const std::string & domain,
    int options,
    Poco::Int32 networkInterface
);

cancel virtual

void cancel(
    BrowseHandle & browseHandle
);

enumerateBrowseDomains virtual

BrowseHandle enumerateBrowseDomains(
    Poco::Int32 networkInterface
);

enumerateRegistrationDomains virtual

BrowseHandle enumerateRegistrationDomains(
    Poco::Int32 networkInterface
);

onBrowseReply

void onBrowseReply(
    AvahiServiceBrowser * browser,
    AvahiIfIndex interface,
    AvahiProtocol protocol,
    AvahiBrowserEvent event,
    const char * name,
    const char * type,
    const char * domain,
    AvahiLookupResultFlags flags
);

onEnumerateBrowseDomainsReply

void onEnumerateBrowseDomainsReply(
    AvahiDomainBrowser * browser,
    AvahiIfIndex interface,
    AvahiProtocol protocol,
    AvahiBrowserEvent event,
    const char * domain,
    AvahiLookupResultFlags flags,
    bool isDefault
);

onEnumerateRegistrationDomainsReply

void onEnumerateRegistrationDomainsReply(
    AvahiDomainBrowser * browser,
    AvahiIfIndex interface,
    AvahiProtocol protocol,
    AvahiBrowserEvent event,
    const char * domain,
    AvahiLookupResultFlags flags,
    bool isDefault
);

onQueryRecordReply

void onQueryRecordReply(
    AvahiRecordBrowser * browser,
    AvahiIfIndex interface,
    AvahiProtocol protocol,
    AvahiBrowserEvent event,
    const char * name,
    uint16_t clazz,
    uint16_t type,
    const void * data,
    std::size_t size,
    AvahiLookupResultFlags flags
);

onResolveReply

void onResolveReply(
    AvahiServiceResolver * resolver,
    AvahiIfIndex interface,
    AvahiProtocol protocol,
    AvahiResolverEvent event,
    const char * name,
    const char * type,
    const char * domain,
    const char * host,
    const AvahiAddress * a,
    uint16_t port,
    AvahiStringList * txt,
    AvahiLookupResultFlags flags
);

queryRecord virtual

BrowseHandle queryRecord(
    const std::string & name,
    Poco::UInt16 type,
    Poco::UInt16 clazz,
    int options,
    Poco::Int32 networkInterface
);

resolve virtual

BrowseHandle resolve(
    const Service & service,
    int options
);

resolveHost virtual

BrowseHandle resolveHost(
    const std::string & host,
    int options,
    Poco::Int32 networkInterface
);

escape protected static

static void escape(
    const char * str,
    std::string & escaped
);

parseTXTRecord protected static

static void parseTXTRecord(
    AvahiStringList * strList,
    Service::Properties & properties
);

Securely control IoT edge devices from anywhere   Connect a Device