X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-client%2Finternal.h;h=e49dd15cb41d3e5e6bbb7ca6c214c5acabaaef69;hb=a8413a9b36426b8d9ac57ddf13779fe6b51d949c;hp=c9c9dc7497f0642cba064c691dca765c9b61d767;hpb=6b391bb81f0dce0193a722254016b26c12a17643;p=catta diff --git a/avahi-client/internal.h b/avahi-client/internal.h index c9c9dc7..e49dd15 100644 --- a/avahi-client/internal.h +++ b/avahi-client/internal.h @@ -33,6 +33,7 @@ struct AvahiClient { DBusConnection *bus; int error; AvahiClientState state; + AvahiClientFlags flags; /* Cache for some seldom changing server data */ char *version_string, *host_name, *host_name_fqdn, *domain_name; @@ -49,11 +50,13 @@ struct AvahiClient { AVAHI_LLIST_HEAD(AvahiServiceResolver, service_resolvers); AVAHI_LLIST_HEAD(AvahiHostNameResolver, host_name_resolvers); AVAHI_LLIST_HEAD(AvahiAddressResolver, address_resolvers); + AVAHI_LLIST_HEAD(AvahiRecordBrowser, record_browsers); }; struct AvahiEntryGroup { char *path; AvahiEntryGroupState state; + int state_valid; AvahiClient *client; AvahiEntryGroupCallback callback; void *userdata; @@ -61,6 +64,8 @@ struct AvahiEntryGroup { }; struct AvahiDomainBrowser { + int ref; + char *path; AvahiClient *client; AvahiDomainBrowserCallback callback; @@ -69,6 +74,10 @@ struct AvahiDomainBrowser { AvahiIfIndex interface; AvahiProtocol protocol; + + AvahiTimeout *defer_timeout; + + AvahiStringList *static_browse_domains; }; struct AvahiServiceBrowser { @@ -131,6 +140,19 @@ struct AvahiAddressResolver { AvahiProtocol protocol; }; +struct AvahiRecordBrowser { + char *path; + AvahiClient *client; + AvahiRecordBrowserCallback callback; + void *userdata; + AVAHI_LLIST_FIELDS(AvahiRecordBrowser, record_browsers); + + char *name; + uint16_t clazz, type; + AvahiIfIndex interface; + AvahiProtocol protocol; +}; + int avahi_client_set_errno (AvahiClient *client, int error); int avahi_client_set_dbus_error(AvahiClient *client, DBusError *error); @@ -139,6 +161,7 @@ void avahi_entry_group_set_state(AvahiEntryGroup *group, AvahiEntryGroupState st 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_record_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); @@ -146,4 +169,6 @@ DBusHandlerResult avahi_address_resolver_event (AvahiClient *client, AvahiResolv int avahi_client_simple_method_call(AvahiClient *client, const char *path, const char *interface, const char *method); +int avahi_client_is_connected(AvahiClient *client); + #endif