]> git.meshlink.io Git - catta/blobdiff - avahi-client/client.h
* Implement free functions for the various browsers in the C api
[catta] / avahi-client / client.h
index f3716ebc049de21bc095dbe8a8df243ecf1d3f66..824f1e905cf32b1e7d11107e5cc06089b202a1b7 100644 (file)
@@ -41,6 +41,8 @@ typedef struct _AvahiEntryGroup AvahiEntryGroup;
 
 typedef struct _AvahiDomainBrowser AvahiDomainBrowser;
 
+typedef struct _AvahiServiceBrowser AvahiServiceBrowser;
+
 typedef struct _AvahiServiceTypeBrowser AvahiServiceTypeBrowser;
 
 /** States of a client object, note that AvahiServerStates are also emitted */
@@ -58,6 +60,9 @@ typedef void (*AvahiEntryGroupCallback) (AvahiEntryGroup *g, AvahiEntryGroupStat
 /** The function prototype for the callback of an AvahiDomainBrowser */
 typedef void (*AvahiDomainBrowserCallback) (AvahiDomainBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, char *domain, void *user_data);
 
+/** The function prototype for the callback of an AvahiServiceBrowser */
+typedef void (*AvahiServiceBrowserCallback) (AvahiServiceBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, char *name, char *type, char *domain, void *user_data);
+
 /** The function prototype for the callback of an AvahiServiceTypeBrowser */
 typedef void (*AvahiServiceTypeBrowserCallback) (AvahiServiceTypeBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, char *type, char *domain, void *user_data);
 
@@ -112,9 +117,6 @@ avahi_entry_group_add_service (AvahiEntryGroup *group,
 /** Get the D-Bus path of an AvahiEntryGroup object, for debugging purposes only. */
 char* avahi_entry_group_path (AvahiEntryGroup *);
 
-/** Get the D-Bus path of an AvahiDomainBrowser object, for debugging purposes only. */
-char* avahi_domain_browser_path (AvahiDomainBrowser *);
-
 /** Browse for domains on the local network */
 AvahiDomainBrowser* avahi_domain_browser_new (AvahiClient *client,
                                               AvahiIfIndex interface,
@@ -124,8 +126,11 @@ AvahiDomainBrowser* avahi_domain_browser_new (AvahiClient *client,
                                               AvahiDomainBrowserCallback callback,
                                               void *user_data);
 
-/** Get the D-Bus path of an AvahiServiceTypeBrowser object, for debugging purposes only. */
-char* avahi_service_type_browser_path (AvahiServiceTypeBrowser *);
+/** Get the D-Bus path of an AvahiDomainBrowser object, for debugging purposes only. */
+char* avahi_domain_browser_path (AvahiDomainBrowser *);
+
+/** Cleans up and frees an AvahiDomainBrowser object */
+void avahi_domain_browser_free (AvahiDomainBrowser *);
 
 /** Browse for service types on the local network */
 AvahiServiceTypeBrowser* avahi_service_type_browser_new (
@@ -136,6 +141,27 @@ AvahiServiceTypeBrowser* avahi_service_type_browser_new (
                 AvahiServiceTypeBrowserCallback callback,
                 void *user_data);
 
+/** Get the D-Bus path of an AvahiServiceTypeBrowser object, for debugging purposes only. */
+char* avahi_service_type_browser_path (AvahiServiceTypeBrowser *);
+
+/** Cleans up and frees an AvahiServiceTypeBrowser object */
+void avahi_service_type_browser_free (AvahiServiceTypeBrowser *);
+
+/** Browse for services of a type on the local network */
+AvahiServiceBrowser* avahi_service_browser_new (
+                AvahiClient *client,
+                AvahiIfIndex interface,
+                AvahiProtocol protocol,
+                char *type,
+                char *domain,
+                AvahiServiceBrowserCallback callback,
+                void *user_data);
+
+/** Get the D-Bus path of an AvahiServiceBrowser object, for debugging purposes only. */
+char* avahi_service_browser_path (AvahiServiceBrowser *);
+
+/* Cleans up and frees an AvahiServiceBrowser object */
+void avahi_service_browser_free (AvahiServiceBrowser *);
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 AVAHI_C_DECL_END