X-Git-Url: https://uglyman.kremlin.cc/gitweb/gitweb.cgi?a=blobdiff_plain;f=src%2Fmodules%2Fhostnamed%2Fhostnamed.c;h=e01742c67173a1c803c1eb5b0de5e9d07b1b1be6;hb=eee2a3f2d0a1037b53fa6bebf76c473073fd7b8a;hp=ee2532426682c63ea52f4db228b24e861983715c;hpb=496f5d6622e32869916d421720c179ef3acbeb04;p=systembsd.git diff --git a/src/modules/hostnamed/hostnamed.c b/src/modules/hostnamed/hostnamed.c index ee25324..e01742c 100644 --- a/src/modules/hostnamed/hostnamed.c +++ b/src/modules/hostnamed/hostnamed.c @@ -1,2 +1,143 @@ -#include +/* #include */ +#include + +/* testing, for now */ +static GDBusNodeInfo *spect_data = NULL; +static const gchar spect_xml[] = + "" + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + ""; + +static void handle_method_call() {} +static GVariant * handle_get_property() {return NULL;} +static gboolean handle_set_property() {return FALSE;} + +/* TODO: what's this guy do */ +static const GDBusInterfaceVTable interface_vtable = +{ + handle_method_call, + handle_get_property, + handle_set_property +}; + + + +static void on_bus_acquired(GDBusConnection *conn, const gchar *name, gpointer user_data) { + g_print("got bus, name: %s\n", name); + + spect_data = g_dbus_node_info_new_for_xml(spect_xml, NULL); + guint reg_id; + + reg_id = g_dbus_connection_register_object (conn, + "/org/freedesktop/hostname1", + spect_data->interfaces[0], + &interface_vtable, + NULL, + NULL, + NULL ); + g_assert(reg_id > 0); +} + +static void on_name_acquired(GDBusConnection *conn, const gchar *name, gpointer user_data) { + g_print("got name %s\n", name); +} + +static void on_name_lost(GDBusConnection *conn, const gchar *name, gpointer user_data) { + g_print("lost name %s\n", name); +} + +void hostnamed_init() { + + guint bus_descriptor; + GError *err = NULL; + + bus_descriptor = g_bus_own_name(G_BUS_TYPE_SESSION, + (gchar *)"org.freedesktop.hostname1", + G_BUS_NAME_OWNER_FLAGS_NONE, + on_bus_acquired, + on_name_acquired, + on_name_lost, + NULL, + NULL); +} +