X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-client%2Finternal.h;h=c9c9dc7497f0642cba064c691dca765c9b61d767;hb=3e9a76c55eb47b34aa1cbc2a16983da5c33bbf2f;hp=f5401fc63b191315aee8723aff5c953278469053;hpb=4743c6236a42978862fa6cf3fa95e40c04fcbd5e;p=catta diff --git a/avahi-client/internal.h b/avahi-client/internal.h index f5401fc..c9c9dc7 100644 --- a/avahi-client/internal.h +++ b/avahi-client/internal.h @@ -23,7 +23,10 @@ ***/ #include + #include "client.h" +#include "lookup.h" +#include "publish.h" struct AvahiClient { const AvahiPoll *poll_api; @@ -33,6 +36,8 @@ struct AvahiClient { /* 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; @@ -61,6 +66,9 @@ struct AvahiDomainBrowser { AvahiDomainBrowserCallback callback; void *userdata; AVAHI_LLIST_FIELDS(AvahiDomainBrowser, domain_browsers); + + AvahiIfIndex interface; + AvahiProtocol protocol; }; struct AvahiServiceBrowser { @@ -69,6 +77,10 @@ struct AvahiServiceBrowser { AvahiServiceBrowserCallback callback; void *userdata; AVAHI_LLIST_FIELDS(AvahiServiceBrowser, service_browsers); + + char *type, *domain; + AvahiIfIndex interface; + AvahiProtocol protocol; }; struct AvahiServiceTypeBrowser { @@ -77,32 +89,46 @@ struct AvahiServiceTypeBrowser { AvahiServiceTypeBrowserCallback callback; void *userdata; AVAHI_LLIST_FIELDS(AvahiServiceTypeBrowser, service_type_browsers); + + char *domain; + AvahiIfIndex interface; + AvahiProtocol protocol; }; struct AvahiServiceResolver { - DBusPendingCall *call; + char *path; AvahiClient *client; AvahiServiceResolverCallback callback; void *userdata; AVAHI_LLIST_FIELDS(AvahiServiceResolver, service_resolvers); + + char *name, *type, *domain; + AvahiIfIndex interface; + AvahiProtocol protocol; }; struct AvahiHostNameResolver { char *path; - DBusPendingCall *call; AvahiClient *client; AvahiHostNameResolverCallback callback; void *userdata; AVAHI_LLIST_FIELDS(AvahiHostNameResolver, host_name_resolvers); + + char *host_name; + AvahiIfIndex interface; + AvahiProtocol protocol; }; struct AvahiAddressResolver { char *path; - DBusPendingCall *call; AvahiClient *client; AvahiAddressResolverCallback callback; void *userdata; AVAHI_LLIST_FIELDS(AvahiAddressResolver, address_resolvers); + + AvahiAddress address; + AvahiIfIndex interface; + AvahiProtocol protocol; }; int avahi_client_set_errno (AvahiClient *client, int error); @@ -111,9 +137,13 @@ int avahi_client_set_dbus_error(AvahiClient *client, DBusError *error); 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