Poco::DNSSD::Avahi

class AvahiResponderImpl

File Information

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

Description

The DNSSDResponderImpl implementation for Avahi.

Inheritance

Direct Base Classes: Poco::DNSSD::DNSSDResponderImpl, Poco::Runnable

All Base Classes: Poco::DNSSD::DNSSDResponderImpl, Poco::Runnable

Member Summary

Member Functions: addRecord, browser, createTXTRecord, describeError, lock, onClientStateChange, onGroupStateChange, registerService, removeRecord, reregisterServices, run, setupEntryGroup, start, stop, unlock, unregisterService, updateRecord

Inherited Functions: addRecord, browser, registerService, removeRecord, run, start, stop, unregisterService, updateRecord

Nested Classes

struct RecordInfo protected

 

struct ServiceInfo protected

 

Types

RecordVec protected

typedef std::vector < RecordInfo > RecordVec;

ScopedLock

typedef Poco::ScopedLock < AvahiResponderImpl > ScopedLock;

ServiceMap protected

typedef std::map < ServiceHandle, ServiceInfo > ServiceMap;

Enumerations

Anonymous protected

START_TIMEOUT = 5000

Constructors

AvahiResponderImpl

AvahiResponderImpl(
    Poco::DNSSD::DNSSDResponder & owner
);

Creates the AvahiResponder, using the given owner.

Destructor

~AvahiResponderImpl virtual

~AvahiResponderImpl();

Destroys the AvahiResponderImpl.

Member Functions

addRecord virtual

RecordHandle addRecord(
    ServiceHandle serviceHandle,
    const Record & record
);

browser virtual

DNSSDBrowser & browser();

describeError static

static const char * describeError(
    int code
);

Returns a human-readable string describing the error.

lock

void lock();

onClientStateChange

void onClientStateChange(
    AvahiClientState state
);

onGroupStateChange

void onGroupStateChange(
    AvahiEntryGroup * avahiGroup,
    AvahiEntryGroupState state
);

registerService virtual

ServiceHandle registerService(
    const Service & service,
    int options
);

removeRecord virtual

void removeRecord(
    ServiceHandle serviceHandle,
    RecordHandle & recordHandle
);

run virtual

void run();

start virtual

void start();

stop virtual

void stop();

unlock

void unlock();

unregisterService virtual

void unregisterService(
    ServiceHandle & serviceHandle
);

updateRecord virtual

void updateRecord(
    ServiceHandle serviceHandle,
    RecordHandle recordHandle,
    const Record & record
);

createTXTRecord protected static

static AvahiStringList * createTXTRecord(
    const Service::Properties & properties
);

reregisterServices protected

void reregisterServices();

setupEntryGroup protected

void setupEntryGroup(
    AvahiEntryGroup * avahiGroup,
    const Service & service,
    const RecordVec & records,
    int options,
    bool rename
);

Securely control IoT edge devices from anywhere   Connect a Device