X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-client%2Finternal.h;h=b05835f722d845c4969dc1e85355d65f33c7723d;hb=cb6f8a5396aa9bc32619ddd74ead4f3ff209d200;hp=4aaca392845b5052be5ef849192aed9cb30ed913;hpb=ee4cc41fafaac0a2d76c1c791f6d43a6b6d937a7;p=catta diff --git a/avahi-client/internal.h b/avahi-client/internal.h index 4aaca39..b05835f 100644 --- a/avahi-client/internal.h +++ b/avahi-client/internal.h @@ -25,13 +25,17 @@ #include #include "client.h" -struct _AvahiClient -{ +struct AvahiClient { const AvahiPoll *poll_api; DBusConnection *bus; int error; - AvahiServerState state; + AvahiClientState state; + /* Cache for some seldom changing server data */ + char *version_string, *host_name, *host_name_fqdn, *domain_name; + uint32_t local_service_cookie; + int local_service_cookie_valid; + AvahiClientCallback callback; void *userdata; @@ -39,17 +43,21 @@ struct _AvahiClient AVAHI_LLIST_HEAD(AvahiDomainBrowser, domain_browsers); AVAHI_LLIST_HEAD(AvahiServiceBrowser, service_browsers); AVAHI_LLIST_HEAD(AvahiServiceTypeBrowser, service_type_browsers); + AVAHI_LLIST_HEAD(AvahiServiceResolver, service_resolvers); + AVAHI_LLIST_HEAD(AvahiHostNameResolver, host_name_resolvers); + AVAHI_LLIST_HEAD(AvahiAddressResolver, address_resolvers); }; -struct _AvahiEntryGroup { +struct AvahiEntryGroup { char *path; + AvahiEntryGroupState state; AvahiClient *client; AvahiEntryGroupCallback callback; void *userdata; AVAHI_LLIST_FIELDS(AvahiEntryGroup, groups); }; -struct _AvahiDomainBrowser { +struct AvahiDomainBrowser { char *path; AvahiClient *client; AvahiDomainBrowserCallback callback; @@ -57,7 +65,7 @@ struct _AvahiDomainBrowser { AVAHI_LLIST_FIELDS(AvahiDomainBrowser, domain_browsers); }; -struct _AvahiServiceBrowser { +struct AvahiServiceBrowser { char *path; AvahiClient *client; AvahiServiceBrowserCallback callback; @@ -65,7 +73,7 @@ struct _AvahiServiceBrowser { AVAHI_LLIST_FIELDS(AvahiServiceBrowser, service_browsers); }; -struct _AvahiServiceTypeBrowser { +struct AvahiServiceTypeBrowser { char *path; AvahiClient *client; AvahiServiceTypeBrowserCallback callback; @@ -73,13 +81,43 @@ struct _AvahiServiceTypeBrowser { AVAHI_LLIST_FIELDS(AvahiServiceTypeBrowser, service_type_browsers); }; +struct AvahiServiceResolver { + char *path; + AvahiClient *client; + AvahiServiceResolverCallback callback; + void *userdata; + AVAHI_LLIST_FIELDS(AvahiServiceResolver, service_resolvers); +}; + +struct AvahiHostNameResolver { + char *path; + AvahiClient *client; + AvahiHostNameResolverCallback callback; + void *userdata; + AVAHI_LLIST_FIELDS(AvahiHostNameResolver, host_name_resolvers); +}; + +struct AvahiAddressResolver { + char *path; + AvahiClient *client; + AvahiAddressResolverCallback callback; + void *userdata; + AVAHI_LLIST_FIELDS(AvahiAddressResolver, address_resolvers); +}; + int avahi_client_set_errno (AvahiClient *client, int error); +int avahi_client_set_dbus_error(AvahiClient *client, DBusError *error); -void avahi_entry_group_state_change (AvahiEntryGroup *group, int state); +void avahi_entry_group_set_state(AvahiEntryGroup *group, AvahiEntryGroupState state); DBusHandlerResult avahi_domain_browser_event (AvahiClient *client, AvahiBrowserEvent event, DBusMessage *message); - DBusHandlerResult avahi_service_type_browser_event (AvahiClient *client, AvahiBrowserEvent event, DBusMessage *message); - DBusHandlerResult avahi_service_browser_event (AvahiClient *client, AvahiBrowserEvent event, DBusMessage *message); + +DBusHandlerResult avahi_service_resolver_event (AvahiClient *client, AvahiResolverEvent event, DBusMessage *message); +DBusHandlerResult avahi_host_name_resolver_event (AvahiClient *client, AvahiResolverEvent event, DBusMessage *message); +DBusHandlerResult avahi_address_resolver_event (AvahiClient *client, AvahiResolverEvent event, DBusMessage *message); + +int avahi_client_simple_method_call(AvahiClient *client, const char *path, const char *interface, const char *method); + #endif