X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=main.c;h=34135c53c7df3fab907b024c9033d67dfd373cad;hb=7dce450bdc23ea306a61e00f914481e29ebcb176;hp=47f3cd76226df63b233a510a85e67d9b685e4f2a;hpb=ad1f9d3725a300f10eca071c6fe2f2c583f51436;p=catta diff --git a/main.c b/main.c index 47f3cd7..34135c5 100644 --- a/main.c +++ b/main.c @@ -1,57 +1,74 @@ #include #include #include +#include -#include "flx.h" -#include "server.h" +#include "Avahi.h" static gboolean quit_timeout(gpointer data) { g_main_loop_quit(data); return FALSE; } -static gboolean send_timeout(gpointer data) { - flxServer *flx = data; - flxKey *k; +static gboolean dump_timeout(gpointer data) { + AvahiServer *Avahi = data; + avahi_server_dump(Avahi, stdout); + return TRUE; +} - /* k = flx_key_new("cocaine.local.", FLX_DNS_CLASS_IN, FLX_DNS_TYPE_A); */ -/* flx_server_post_query(flx, 0, AF_UNSPEC, k); */ -/* flx_key_unref(k); */ +static void subscription(AvahiSubscription *s, AvahiRecord *r, gint interface, guchar protocol, AvahiSubscriptionEvent event, gpointer userdata) { + gchar *t; + + g_assert(s); + g_assert(r); + g_assert(interface > 0); + g_assert(protocol != AF_UNSPEC); -/* k = flx_key_new("ecstasy.local.", FLX_DNS_CLASS_IN, FLX_DNS_TYPE_A); */ -/* flx_server_post_query(flx, 0, AF_INET, k); */ -/* flx_key_unref(k); */ + g_message("SUBSCRIPTION: record [%s] on %i.%i is %s", t = avahi_record_to_string(r), interface, protocol, + event == AVAHI_SUBSCRIPTION_NEW ? "new" : (event == AVAHI_SUBSCRIPTION_CHANGE ? "changed" : "removed")); - return FALSE; + g_free(t); } -static gboolean dump_timeout(gpointer data) { - flxServer *flx = data; - flx_server_dump(flx, stdout); - return TRUE; +static void entry_group_callback(AvahiServer *s, AvahiEntryGroup *g, AvahiEntryGroupState state, gpointer userdata) { + g_message("entry group state: %i", state); } int main(int argc, char *argv[]) { - flxServer *flx; + AvahiServer *Avahi; gchar *r; GMainLoop *loop = NULL; + AvahiSubscription *s; + AvahiKey *k; + AvahiEntryGroup *g; - flx = flx_server_new(NULL); + Avahi = avahi_server_new(NULL); - flx_server_add_text(flx, 0, 0, AF_UNSPEC, FALSE, NULL, "hallo"); +/* g = avahi_entry_group_new(Avahi, entry_group_callback, NULL); */ + +/* avahi_server_add_text(Avahi, g, 0, AF_UNSPEC, AVAHI_ENTRY_UNIQUE, NULL, "hallo", NULL); */ +/* avahi_server_add_service(Avahi, g, 0, AF_UNSPEC, "_http._tcp", "gurke", NULL, NULL, 80, "foo", NULL); */ + +/* avahi_entry_group_commit(g); */ + + avahi_server_dump(Avahi, stdout); + + +/* k = avahi_key_new("ecstasy.local.", AVAHI_DNS_CLASS_IN, AVAHI_DNS_TYPE_ANY); */ +/* s = avahi_subscription_new(Avahi, k, 0, AF_UNSPEC, subscription, NULL); */ +/* avahi_key_unref(k); */ loop = g_main_loop_new(NULL, FALSE); - g_timeout_add(1000*60, quit_timeout, loop); - g_timeout_add(1000, send_timeout, flx); - g_timeout_add(1000*10, dump_timeout, flx); + /* g_timeout_add(1000*20, dump_timeout, Avahi); */ +/* g_timeout_add(1000*30, quit_timeout, loop); */ g_main_loop_run(loop); - g_main_loop_unref(loop); - - flx_server_free(flx); +/* avahi_subscription_free(s); */ + /* avahi_entry_group_free(g); */ + avahi_server_free(Avahi); return 0; }