]> git.meshlink.io Git - catta/blobdiff - announce.h
Rename flx_* to avahi_*
[catta] / announce.h
index 0e65eae6b1668f0b4ffe79b39c704040802c7262..cd969776937b4ae225b207b0162b24b77e81dcca 100644 (file)
@@ -3,31 +3,49 @@
 
 #include <glib.h>
 
-typedef struct _flxAnnouncement flxAnnouncement;
+typedef struct _AvahiAnnouncement AvahiAnnouncement;
 
 #include "llist.h"
 #include "iface.h"
 #include "server.h"
 #include "timeeventq.h"
 
-struct _flxAnnouncement {
-    flxServer *server;
-    flxInterface *interface;
-    flxServerEntry *entry;
-    
-    flxTimeEvent *time_event;
-    guint n_announced;
+typedef enum {
+    AVAHI_PROBING,
+    AVAHI_WAITING,         /* wait for other records in group */
+    AVAHI_ANNOUNCING,
+    AVAHI_ESTABLISHED
+} AvahiAnnouncementState;
 
-    FLX_LLIST_FIELDS(flxAnnouncement, by_interface);
-    FLX_LLIST_FIELDS(flxAnnouncement, by_entry);
+struct _AvahiAnnouncement {
+    AvahiServer *server;
+    AvahiInterface *interface;
+    AvahiEntry *entry;
+
+    AvahiTimeEvent *time_event;
+
+    AvahiAnnouncementState state;
+    guint n_iteration;
+    guint sec_delay;
+
+    AVAHI_LLIST_FIELDS(AvahiAnnouncement, by_interface);
+    AVAHI_LLIST_FIELDS(AvahiAnnouncement, by_entry);
 };
 
-void flx_announce_interface(flxServer *s, flxInterface *i);
-void flx_announce_entry(flxServer *s, flxServerEntry *e);
+void avahi_announce_interface(AvahiServer *s, AvahiInterface *i);
+void avahi_announce_entry(AvahiServer *s, AvahiEntry *e);
+void avahi_announce_group(AvahiServer *s, AvahiEntryGroup *g);
+
+void avahi_entry_group_check_probed(AvahiEntryGroup *g, gboolean immediately);
+
+gboolean avahi_entry_registered(AvahiServer *s, AvahiEntry *e, AvahiInterface *i);
+gboolean avahi_entry_registering(AvahiServer *s, AvahiEntry *e, AvahiInterface *i);
+
+void avahi_goodbye_interface(AvahiServer *s, AvahiInterface *i, gboolean send);
+void avahi_goodbye_entry(AvahiServer *s, AvahiEntry *e, gboolean send);
 
-void flx_goodbye_interface(flxServer *s, flxInterface *i, gboolean send);
-void flx_goodbye_entry(flxServer *s, flxServerEntry *e, gboolean send);
+void avahi_goodbye_all(AvahiServer *s, gboolean send);
 
-void flx_goodbye_all(flxServer *s, gboolean send);
+AvahiAnnouncement *avahi_get_announcement(AvahiServer *s, AvahiEntry *e, AvahiInterface *i);
 
 #endif