From 66c497f4637276f390f1a7afaf7fe07616da9f1a Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 20 Aug 2005 22:57:33 +0000 Subject: * Disable debug output of avahi-client * implement service resolving API in avahi-client * fix some memory corruption bugs in dbus-watch-glue * add avahi-client examples git-svn-id: file:///home/lennart/svn/public/avahi/trunk@363 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-client/client.h | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'avahi-client/client.h') diff --git a/avahi-client/client.h b/avahi-client/client.h index 056adfb..2753f1b 100644 --- a/avahi-client/client.h +++ b/avahi-client/client.h @@ -37,12 +37,24 @@ AVAHI_C_DECL_BEGIN #endif +/** A connection context */ typedef struct AvahiClient AvahiClient; + +/** An entry group object */ typedef struct AvahiEntryGroup AvahiEntryGroup; + +/** A domain browser object */ typedef struct AvahiDomainBrowser AvahiDomainBrowser; + +/** A service browser object */ typedef struct AvahiServiceBrowser AvahiServiceBrowser; + +/** A service type browser object */ typedef struct AvahiServiceTypeBrowser AvahiServiceTypeBrowser; +/** A service resolver object */ +typedef struct AvahiServiceResolver AvahiServiceResolver; + /** States of a client object, note that AvahiServerStates are also emitted */ typedef enum { AVAHI_CLIENT_S_INVALID = AVAHI_SERVER_INVALID, @@ -67,6 +79,21 @@ typedef void (*AvahiServiceBrowserCallback) (AvahiServiceBrowser *b, AvahiIfInde /** The function prototype for the callback of an AvahiServiceTypeBrowser */ typedef void (*AvahiServiceTypeBrowserCallback) (AvahiServiceTypeBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *type, const char *domain, void *userdata); +/** The function prototype for the callback of an AvahiServiceResolver */ +typedef void (*AvahiServiceResolverCallback) ( + AvahiServiceResolver *r, + AvahiIfIndex interface, + AvahiProtocol protocol, + AvahiResolverEvent event, + const char *name, + const char *type, + const char *domain, + const char *host_name, + const AvahiAddress *a, + uint16_t port, + AvahiStringList *txt, + void *userdata); + /** Creates a new client instance */ AvahiClient* avahi_client_new (const AvahiPoll *poll_api, AvahiClientCallback callback, void *userdata, int *error); @@ -197,6 +224,24 @@ const char* avahi_service_browser_get_dbus_path (AvahiServiceBrowser *); /* Cleans up and frees an AvahiServiceBrowser object */ int avahi_service_browser_free (AvahiServiceBrowser *); +/** Create a new service resolver object */ +AvahiServiceResolver * avahi_service_resolver_new( + AvahiClient *client, + AvahiIfIndex interface, + AvahiProtocol protocol, + const char *name, + const char *type, + const char *domain, + AvahiProtocol aprotocol, + AvahiServiceResolverCallback callback, + void *userdata); + +/** Free a service resolver object */ +int avahi_service_resolver_free(AvahiServiceResolver *r); + +/** Block until the resolving is complete */ +int avahi_service_resolver_block(AvahiServiceResolver *r); + #ifndef DOXYGEN_SHOULD_SKIP_THIS AVAHI_C_DECL_END #endif -- cgit