From 0c54764cf19428a0c52724a75ddf3368e3899209 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 17 Oct 2005 02:07:26 +0000 Subject: * split client.h into client.h, lookup.h and publish.h just like we did on the server side * Wrap avahi_server_update_txt() as DBUS function UpdateServiceTxt * Add client side API avahi_entry_group_update_service_txt() and friends * handle AVAHI_PUBLISH_UPDATE semantics in DBUS protocol * minor cleanups git-svn-id: file:///home/lennart/svn/public/avahi/trunk@791 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- avahi-client/client.h | 263 -------------------------------------------------- 1 file changed, 263 deletions(-) (limited to 'avahi-client/client.h') diff --git a/avahi-client/client.h b/avahi-client/client.h index bad0789..8a59ca1 100644 --- a/avahi-client/client.h +++ b/avahi-client/client.h @@ -33,16 +33,8 @@ /** \file client.h Definitions and functions for the client API over D-Bus */ -/** \example client-publish-service.c Example how to register a DNS-SD - * service using the client interface to avahi-daemon. It behaves like a network - * printer registering both an IPP and a BSD LPR service. */ - -/** \example client-browse-services.c Example how to browse for DNS-SD - * services using the client interface to avahi-daemon. */ - /** \example glib-integration.c Example of how to integrate * avahi use with GLIB/GTK applications */ - #ifndef DOXYGEN_SHOULD_SKIP_THIS AVAHI_C_DECL_BEGIN @@ -51,27 +43,6 @@ AVAHI_C_DECL_BEGIN /** 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; - -/** A service resolver object */ -typedef struct AvahiHostNameResolver AvahiHostNameResolver; - -/** An address resolver object */ -typedef struct AvahiAddressResolver AvahiAddressResolver; - /** States of a client object, a superset of AvahiServerState */ typedef enum { AVAHI_CLIENT_S_INVALID = AVAHI_SERVER_INVALID, @@ -84,57 +55,6 @@ typedef enum { /** The function prototype for the callback of an AvahiClient */ typedef void (*AvahiClientCallback) (AvahiClient *s, AvahiClientState state, void* userdata); -/** The function prototype for the callback of an AvahiEntryGroup */ -typedef void (*AvahiEntryGroupCallback) (AvahiEntryGroup *g, AvahiEntryGroupState state, void* userdata); - -/** The function prototype for the callback of an AvahiDomainBrowser */ -typedef void (*AvahiDomainBrowserCallback) (AvahiDomainBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *domain, AvahiLookupResultFlags flags, void *userdata); - -/** The function prototype for the callback of an AvahiServiceBrowser */ -typedef void (*AvahiServiceBrowserCallback) (AvahiServiceBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *name, const char *type, const char *domain, AvahiLookupResultFlags flags, void *userdata); - -/** 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, AvahiLookupResultFlags flags, 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, - AvahiLookupResultFlags flags, - void *userdata); - -/** The function prototype for the callback of an AvahiHostNameResolver */ -typedef void (*AvahiHostNameResolverCallback) ( - AvahiHostNameResolver *r, - AvahiIfIndex interface, - AvahiProtocol protocol, - AvahiResolverEvent event, - const char *name, - const AvahiAddress *a, - AvahiLookupResultFlags flags, - void *userdata); - -/** The function prototype for the callback of an AvahiAddressResolver */ -typedef void (*AvahiAddressResolverCallback) ( - AvahiAddressResolver *r, - AvahiIfIndex interface, - AvahiProtocol protocol, - AvahiResolverEvent event, - AvahiProtocol aprotocol, - const AvahiAddress *a, - const char *name, - AvahiLookupResultFlags flags, - void *userdata); - /** Creates a new client instance */ AvahiClient* avahi_client_new (const AvahiPoll *poll_api, AvahiClientCallback callback, void *userdata, int *error); @@ -159,189 +79,6 @@ AvahiClientState avahi_client_get_state(AvahiClient *client); /** Get the last error number */ int avahi_client_errno (AvahiClient*); -/** Create a new AvahiEntryGroup object */ -AvahiEntryGroup* avahi_entry_group_new (AvahiClient*, AvahiEntryGroupCallback callback, void *userdata); - -/** Clean up and free an AvahiEntryGroup object */ -int avahi_entry_group_free (AvahiEntryGroup *); - -/** Commit an AvahiEntryGroup */ -int avahi_entry_group_commit (AvahiEntryGroup*); - -/** Reset an AvahiEntryGroup */ -int avahi_entry_group_reset (AvahiEntryGroup*); - -/** Get an AvahiEntryGroup's state */ -int avahi_entry_group_get_state (AvahiEntryGroup*); - -/** Check if an AvahiEntryGroup is empty */ -int avahi_entry_group_is_empty (AvahiEntryGroup*); - -/** Get an AvahiEntryGroup's owning client instance */ -AvahiClient* avahi_entry_group_get_client (AvahiEntryGroup*); - -/** Add a service, takes a variable NULL terminated list of text records */ -int avahi_entry_group_add_service( - AvahiEntryGroup *group, - AvahiIfIndex interface, - AvahiProtocol protocol, - AvahiPublishFlags flags, - const char *name, - const char *type, - const char *domain, - const char *host, - uint16_t port, - ...) AVAHI_GCC_SENTINEL; - -/** Add a service, takes an AvahiStringList for text records */ -int avahi_entry_group_add_service_strlst( - AvahiEntryGroup *group, - AvahiIfIndex interface, - AvahiProtocol protocol, - AvahiPublishFlags flags, - const char *name, - const char *type, - const char *domain, - const char *host, - uint16_t port, - AvahiStringList *txt); - -/** Add a service, takes a NULL terminated va_list for text records */ -int avahi_entry_group_add_service_va( - AvahiEntryGroup *group, - AvahiIfIndex interface, - AvahiProtocol protocol, - AvahiPublishFlags flags, - const char *name, - const char *type, - const char *domain, - const char *host, - uint16_t port, - va_list va); - -/** Add a subtype for a service */ -int avahi_entry_group_add_service_subtype( - AvahiEntryGroup *group, - AvahiIfIndex interface, - AvahiProtocol protocol, - AvahiPublishFlags flags, - const char *name, - const char *type, - const char *domain, - const char *subtype); - -/** Browse for domains on the local network */ -AvahiDomainBrowser* avahi_domain_browser_new ( - AvahiClient *client, - AvahiIfIndex interface, - AvahiProtocol protocol, - const char *domain, - AvahiDomainBrowserType btype, - AvahiLookupFlags flags, - AvahiDomainBrowserCallback callback, - void *userdata); - -/** Get the parent client of an AvahiDomainBrowser object */ -AvahiClient* avahi_domain_browser_get_client (AvahiDomainBrowser *); - -/** Cleans up and frees an AvahiDomainBrowser object */ -int avahi_domain_browser_free (AvahiDomainBrowser *); - -/** Browse for service types on the local network */ -AvahiServiceTypeBrowser* avahi_service_type_browser_new ( - AvahiClient *client, - AvahiIfIndex interface, - AvahiProtocol protocol, - const char *domain, - AvahiLookupFlags flags, - AvahiServiceTypeBrowserCallback callback, - void *userdata); - -/** Get the parent client of an AvahiServiceTypeBrowser object */ -AvahiClient* avahi_service_type_browser_get_client (AvahiServiceTypeBrowser *); - -/** Cleans up and frees an AvahiServiceTypeBrowser object */ -int 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, - const char *type, - const char *domain, - AvahiLookupFlags flags, - AvahiServiceBrowserCallback callback, - void *userdata); - -/** Get the parent client of an AvahiServiceBrowser object */ -AvahiClient* avahi_service_browser_get_client (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, - AvahiLookupFlags flags, - AvahiServiceResolverCallback callback, - void *userdata); - -/** Get the parent client of an AvahiServiceResolver object */ -AvahiClient* avahi_service_resolver_get_client (AvahiServiceResolver *); - -/** Free a service resolver object */ -int avahi_service_resolver_free(AvahiServiceResolver *r); - -/** Create a new hostname resolver object */ -AvahiHostNameResolver * avahi_host_name_resolver_new( - AvahiClient *client, - AvahiIfIndex interface, - AvahiProtocol protocol, - const char *name, - AvahiProtocol aprotocol, - AvahiLookupFlags flags, - AvahiHostNameResolverCallback callback, - void *userdata); - -/** Get the parent client of an AvahiHostNameResolver object */ -AvahiClient* avahi_host_name_resolver_get_client (AvahiHostNameResolver *); - -/** Free a hostname resolver object */ -int avahi_host_name_resolver_free(AvahiHostNameResolver *r); - -/** Create a new address resolver object from an address string. Set aprotocol to AF_UNSPEC for protocol detection. */ -AvahiAddressResolver * avahi_address_resolver_new( - AvahiClient *client, - AvahiIfIndex interface, - AvahiProtocol protocol, - const char *address, - AvahiLookupFlags flags, - AvahiAddressResolverCallback callback, - void *userdata); - -/** Create a new address resolver object from an AvahiAddress object */ -AvahiAddressResolver* avahi_address_resolver_new_a( - AvahiClient *client, - AvahiIfIndex interface, - AvahiProtocol protocol, - const AvahiAddress *a, - AvahiLookupFlags flags, - AvahiAddressResolverCallback callback, - void *userdata); - -/** Get the parent client of an AvahiAddressResolver object */ -AvahiClient* avahi_address_resolver_get_client (AvahiAddressResolver *); - -/** Free a AvahiAddressResolver resolver object */ -int avahi_address_resolver_free(AvahiAddressResolver *r); - /** Return the local service cookie. returns AVAHI_SERVICE_COOKIE_INVALID on failure. */ uint32_t avahi_client_get_local_service_cookie(AvahiClient *client); -- cgit