summaryrefslogtreecommitdiffstats
path: root/avahi-core/browse.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2005-06-03 19:02:12 +0000
committerLennart Poettering <lennart@poettering.net>2005-06-03 19:02:12 +0000
commit259ef1fd00e7e415dfb11bf26747355e5cd851f7 (patch)
treea35c7d17d59475650fba01108958d6bae58369da /avahi-core/browse.c
parent8d361c07a55685f6eee5209b30f46c392549ba42 (diff)
* improve avahi-discover GUI
* if a new interface becomes available, reissue all queries git-svn-id: file:///home/lennart/svn/public/avahi/trunk@94 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
Diffstat (limited to 'avahi-core/browse.c')
-rw-r--r--avahi-core/browse.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/avahi-core/browse.c b/avahi-core/browse.c
index c959831..45e8bce 100644
--- a/avahi-core/browse.c
+++ b/avahi-core/browse.c
@@ -41,7 +41,7 @@ struct AvahiRecordBrowser {
AvahiRecordBrowserCallback callback;
gpointer userdata;
- AVAHI_LLIST_FIELDS(AvahiRecordBrowser, resolver);
+ AVAHI_LLIST_FIELDS(AvahiRecordBrowser, browser);
AVAHI_LLIST_FIELDS(AvahiRecordBrowser, by_key);
};
@@ -128,7 +128,7 @@ AvahiRecordBrowser *avahi_record_browser_new(AvahiServer *server, gint interface
avahi_elapse_time(&tv, b->sec_delay*1000, 0);
b->time_event = avahi_time_event_queue_add(server->time_event_queue, &tv, elapse, b);
- AVAHI_LLIST_PREPEND(AvahiRecordBrowser, resolver, server->record_browsers, b);
+ AVAHI_LLIST_PREPEND(AvahiRecordBrowser, browser, server->record_browsers, b);
/* Add the new entry to the record_browser hash table */
t = g_hash_table_lookup(server->record_browser_hashtable, key);
@@ -159,7 +159,7 @@ void avahi_record_browser_destroy(AvahiRecordBrowser *b) {
g_assert(b);
- AVAHI_LLIST_REMOVE(AvahiRecordBrowser, resolver, b->server->record_browsers, b);
+ AVAHI_LLIST_REMOVE(AvahiRecordBrowser, browser, b->server->record_browsers, b);
t = g_hash_table_lookup(b->server->record_browser_hashtable, b->key);
AVAHI_LLIST_REMOVE(AvahiRecordBrowser, by_key, t, b);
@@ -182,7 +182,7 @@ void avahi_browser_cleanup(AvahiServer *server) {
g_assert(server);
for (b = server->record_browsers; b; b = n) {
- n = b->resolver_next;
+ n = b->browser_next;
if (b->dead)
avahi_record_browser_destroy(b);
@@ -213,3 +213,14 @@ gboolean avahi_is_subscribed(AvahiServer *server, AvahiInterface *i, AvahiKey *k
return FALSE;
}
+
+void avahi_browser_new_interface(AvahiServer*s, AvahiInterface *i) {
+ AvahiRecordBrowser *b;
+
+ g_assert(s);
+ g_assert(i);
+
+ for (b = s->record_browsers; b; b = b->browser_next)
+ if (avahi_interface_match(i, b->interface, b->protocol))
+ avahi_interface_post_query(i, b->key, FALSE);
+}