export proper xml FINALLY..
[systembsd.git] / src / interfaces / hostnamed / hostnamed.c
index 42137cde94e27b8418da12ab4fa3bfb85343c648..231bc4e2cd854def7e2f29c652d4ecfc622cbc37 100644 (file)
@@ -11,8 +11,6 @@ static void handle_method_call(GDBusConnection *conn,
                                                           GDBusMethodInvocation *invc,
                                                           gpointer usrdat) {
 
-       //if(g_strcmp0(method_name, "Introspect"
-
        GVariant *xml_ret_gvar;
        GString  *xml_ret;
        
@@ -71,17 +69,18 @@ static const GDBusInterfaceVTable interface_vtable =
 static void on_bus_acquired(GDBusConnection *conn,
                                                        const gchar *name,
                                                        gpointer user_data) {
-       g_print("got bus, name: %s\n", name);
-       
-       guint reg_id;
-
-       reg_id = g_dbus_connection_register_object(conn,
-                                                                                          "/org/freedesktop/hostname1",
-                                                                                          spect_data->interfaces[0], 
-                                                                                          &interface_vtable,
-                                                                                          NULL,
-                                                                                          NULL,
-                                                                                          NULL);
+
+       GError *err;
+
+       g_print("got bus, name: %s\n", name);   
+
+       //GDBusObjectSkeleton *hostnamed_dbobj = g_dbus_object_skeleton_new("/org/freedesktop/hostname1");
+
+       g_dbus_connection_register_object(conn,
+                                                                         "/org/freedesktop/hostname1",
+                                                                         spect_data->interfaces[0],
+                                                                         &interface_vtable,
+                                                                         NULL, NULL, NULL);
 }
 
 static void on_name_acquired(GDBusConnection *conn,
@@ -104,10 +103,16 @@ static void on_name_lost(GDBusConnection *conn,
 GError * hostnamed_init() {
 
        guint bus_descriptor;
-       GError *err = NULL;     
+       GError *err = NULL;
+       gchar **hostnamed_ispect_xml = g_malloc(3000);
+       gchar  *hostnamed_joined_xml = g_malloc(3000);
+
+       g_file_get_contents("conf/hostnamed-ispect.xml", hostnamed_ispect_xml, NULL, err);
+       hostnamed_joined_xml = g_strjoinv("\n", hostnamed_ispect_xml);
+       spect_data = g_dbus_node_info_new_for_xml(hostnamed_joined_xml, NULL);
        
        bus_descriptor = g_bus_own_name(G_BUS_TYPE_SYSTEM,
-                                       (gchar *)"org.freedesktop.hostname1",
+                                       "org.freedesktop.hostname1",
                                                    G_BUS_NAME_OWNER_FLAGS_NONE,
                                                    on_bus_acquired,
                                                    on_name_acquired,