X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-daemon%2Fdbus-internal.h;h=a49dae38a70c29e35468ddb449e55a6b3be300f5;hb=56b987d1cdbccbd803cf5cca9211ffbbcb2b3672;hp=49e398dd39f3f290b6358cb532ae96b29f13557b;hpb=05dc243bdf89aae26c72434ddd7c27ab9143fec1;p=catta diff --git a/avahi-daemon/dbus-internal.h b/avahi-daemon/dbus-internal.h index 49e398d..a49dae3 100644 --- a/avahi-daemon/dbus-internal.h +++ b/avahi-daemon/dbus-internal.h @@ -43,6 +43,7 @@ typedef struct ServiceTypeBrowserInfo ServiceTypeBrowserInfo; typedef struct ServiceBrowserInfo ServiceBrowserInfo; typedef struct SyncServiceResolverInfo SyncServiceResolverInfo; typedef struct AsyncServiceResolverInfo AsyncServiceResolverInfo; +typedef struct RecordBrowserInfo RecordBrowserInfo; #define CLIENTS_MAX 256 #define OBJECTS_PER_CLIENT_MAX 50 @@ -137,6 +138,15 @@ struct AsyncServiceResolverInfo { AVAHI_LLIST_FIELDS(AsyncServiceResolverInfo, async_service_resolvers); }; +struct RecordBrowserInfo { + unsigned id; + Client *client; + AvahiSRecordBrowser *record_browser; + char *path; + + AVAHI_LLIST_FIELDS(RecordBrowserInfo, record_browsers); +}; + struct Client { unsigned id; char *name; @@ -154,6 +164,7 @@ struct Client { AVAHI_LLIST_HEAD(ServiceBrowserInfo, service_browsers); AVAHI_LLIST_HEAD(SyncServiceResolverInfo, sync_service_resolvers); AVAHI_LLIST_HEAD(AsyncServiceResolverInfo, async_service_resolvers); + AVAHI_LLIST_HEAD(RecordBrowserInfo, record_browsers); }; struct Server { @@ -229,4 +240,9 @@ void avahi_dbus_async_service_resolver_callback( void* userdata); DBusHandlerResult avahi_dbus_msg_async_service_resolver_impl(DBusConnection *c, DBusMessage *m, void *userdata); + +void avahi_dbus_record_browser_free(RecordBrowserInfo *i); +DBusHandlerResult avahi_dbus_msg_record_browser_impl(DBusConnection *c, DBusMessage *m, void *userdata); +void avahi_dbus_record_browser_callback(AvahiSRecordBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, AvahiRecord *record, AvahiLookupResultFlags flags, void* userdata); + #endif