]> git.meshlink.io Git - catta/blobdiff - avahi-client/internal.h
* handle AVAHI_LOOKUP_NO_ADDRESS over DBUS correctly
[catta] / avahi-client / internal.h
index 3859d70058d29e0547494a2d25b73e0855873706..b05835f722d845c4969dc1e85355d65f33c7723d 100644 (file)
@@ -33,6 +33,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;
@@ -41,6 +43,9 @@ 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 {
@@ -76,14 +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_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