struct CCL::Net::IDiscoveryHandler

Overview

Threading Policy: Browsing/Registration methods must be called from main thread only, otherwise kResultWrongThread is returned. More…

#include <inetdiscovery.h>

struct IDiscoveryHandler: public CCL::IUnknown
{
    // fields

    StringID type;
    StringID ProtocolType protocol = 0;
    const ICStringDictionary* textRecord = nullptr) = 0;

    // methods

    virtual tbool CCL_API isInstalled () = 0;
    DECLARE_STRINGID_MEMBER (kServiceResolved);
    virtual tresult CCL_API stopBrowsing (IObserver* observer) = 0;
    DECLARE_STRINGID_MEMBER (kServiceRegistered) const;

    virtual tresult CCL_API registerService (
        IServiceDescriptor* service,
        IObserver* observer
    ) = 0;

    virtual tresult CCL_API unregisterService (IServiceDescriptor* service) = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Threading Policy: Browsing/Registration methods must be called from main thread only, otherwise kResultWrongThread is returned.

All notification messages are deferred to the main thread.

Methods

virtual tbool CCL_API isInstalled () = 0

Check if DNSSD daemon is installed on client computer.

DECLARE_STRINGID_MEMBER (kServiceResolved)

< args[0]: IServiceDescriptor

Start browsing for given service type, observer will receive notification messages.

virtual tresult CCL_API stopBrowsing (IObserver* observer) = 0

Stop browsing for given observer.

DECLARE_STRINGID_MEMBER (kServiceRegistered) const

< args[0]: IServiceDescriptor

Create service with given information and optional text record.

virtual tresult CCL_API registerService (
    IServiceDescriptor* service,
    IObserver* observer
) = 0

Register service, observer will receive notification messages.

virtual tresult CCL_API unregisterService (IServiceDescriptor* service) = 0

Unregister service.