]> git.meshlink.io Git - catta/blobdiff - avahi-client/internal.h
* Add avahi-client examples to doxygen
[catta] / avahi-client / internal.h
index 722da2d4c23a41f6adf1948275c6c95c3a52c7ac..17881220d7c2f3eaed6fbe18ef305793831e9aac 100644 (file)
 ***/
 
 #include <dbus/dbus.h>
+#include "client.h"
 
-struct _AvahiClient
-{
+struct AvahiClient {
+    const AvahiPoll *poll_api;
     DBusConnection *bus;
     int error;
+    AvahiClientState state;
+
+    /* Cache for some seldom changing server data */
+    char *version_string, *host_name, *host_name_fqdn, *domain_name;
+    
     AvahiClientCallback callback;
-    void *user_data;
+    void *userdata;
+    
     AVAHI_LLIST_HEAD(AvahiEntryGroup, groups);
     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);
 };
 
-struct _AvahiEntryGroup {
+struct AvahiEntryGroup {
     char *path;
+    AvahiEntryGroupState state;
     AvahiClient *client;
     AvahiEntryGroupCallback callback;
-    void *user_data;
+    void *userdata;
     AVAHI_LLIST_FIELDS(AvahiEntryGroup, groups);
 };
 
-struct _AvahiDomainBrowser {
+struct AvahiDomainBrowser {
     char *path;
     AvahiClient *client;
     AvahiDomainBrowserCallback callback;
-    void *user_data;
+    void *userdata;
     AVAHI_LLIST_FIELDS(AvahiDomainBrowser, domain_browsers);
 };
 
-struct _AvahiServiceBrowser {
+struct AvahiServiceBrowser {
     char *path;
     AvahiClient *client;
     AvahiServiceBrowserCallback callback;
-    void *user_data;
+    void *userdata;
     AVAHI_LLIST_FIELDS(AvahiServiceBrowser, service_browsers);
 };
 
-struct _AvahiServiceTypeBrowser {
+struct AvahiServiceTypeBrowser {
     char *path;
     AvahiClient *client;
     AvahiServiceTypeBrowserCallback callback;
-    void *user_data;
+    void *userdata;
     AVAHI_LLIST_FIELDS(AvahiServiceTypeBrowser, service_type_browsers);
 };
 
+struct AvahiServiceResolver {
+    DBusPendingCall *call;
+    AvahiClient *client;
+    AvahiServiceResolverCallback callback;
+    void *userdata;
+    AVAHI_LLIST_FIELDS(AvahiServiceResolver, service_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);
+
 #endif