X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-daemon%2Fdbus-internal.h;h=11c1094abf65c1e7055ad4f4bf8cccb71457a10e;hb=f6dff945b503abc070952682a46920a27edc9093;hp=49e398dd39f3f290b6358cb532ae96b29f13557b;hpb=05dc243bdf89aae26c72434ddd7c27ab9143fec1;p=catta diff --git a/avahi-daemon/dbus-internal.h b/avahi-daemon/dbus-internal.h index 49e398d..11c1094 100644 --- a/avahi-daemon/dbus-internal.h +++ b/avahi-daemon/dbus-internal.h @@ -43,9 +43,10 @@ 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 +#define OBJECTS_PER_CLIENT_MAX 250 #define ENTRIES_PER_ENTRY_GROUP_MAX 20 struct EntryGroupInfo { @@ -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,13 +164,18 @@ 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 { + const AvahiPoll *poll_api; DBusConnection *bus; AVAHI_LLIST_HEAD(Client, clients); int n_clients; unsigned current_id; + + AvahiTimeout *reconnect_timeout; + int reconnect; }; extern Server *server; @@ -229,4 +244,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