X-Git-Url: https://uglyman.kremlin.cc/gitweb/gitweb.cgi?p=systembsd.git;a=blobdiff_plain;f=src%2Fmodules%2Fhostnamed%2Fhostnamed.c;h=e01742c67173a1c803c1eb5b0de5e9d07b1b1be6;hp=f3632f64a44db573d9e3bef07eec4e44f0ce7837;hb=387173cba1f381beb144043ed0b6b4074084d318;hpb=ea207ed3d155cde4001063c981f7a263c47daf64 diff --git a/src/modules/hostnamed/hostnamed.c b/src/modules/hostnamed/hostnamed.c index f3632f6..e01742c 100644 --- a/src/modules/hostnamed/hostnamed.c +++ b/src/modules/hostnamed/hostnamed.c @@ -1,29 +1,136 @@ /* #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; - /* g_print("at %p, data @ %p\n", (void*)conn, user_data); */ + 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); - - /* g_print("at %p, data @ %p\n", (void*)conn, user_data); */ } static void on_name_lost(GDBusConnection *conn, const gchar *name, gpointer user_data) { g_print("lost name %s\n", name); - - /* g_print("at %p, data @ %p\n", (void*)conn, user_data); */ } void hostnamed_init() { + guint bus_descriptor; GError *err = NULL; - bus_descriptor = g_bus_own_name(G_BUS_TYPE_SYSTEM, + bus_descriptor = g_bus_own_name(G_BUS_TYPE_SESSION, (gchar *)"org.freedesktop.hostname1", G_BUS_NAME_OWNER_FLAGS_NONE, on_bus_acquired, @@ -33,3 +140,4 @@ void hostnamed_init() { NULL); } +