static void on_bus_acquired (GDBusConnection *connection, const gchar *name, gpointer user_data) { ObjectSkeleton *object; //g_print ("Acquired a message bus connection: %s\n",name); cmdline *cmd = user_data; if (cmd->argc < 2) { g_print("No objects created. Put object name(s) on command line\n"); return; } manager = g_dbus_object_manager_server_new (dbus_object_path); int i=0; for (i=1;i<cmd->argc;i++) { gchar *s; s = g_strdup_printf ("%s/%s",dbus_object_path,cmd->argv[i]); object = object_skeleton_new (s); g_free (s); ControlHost* control_host = control_host_skeleton_new (); object_skeleton_set_control_host (object, control_host); g_object_unref (control_host); Control* control = control_skeleton_new (); object_skeleton_set_control (object, control); g_object_unref (control); //define method callbacks here g_signal_connect (control_host, "handle-boot", G_CALLBACK (on_boot), object); /* user_data */ g_signal_connect (control, "handle-init", G_CALLBACK (on_init), NULL); /* user_data */ /* Export the object (@manager takes its own reference to @object) */ g_dbus_object_manager_server_export (manager, G_DBUS_OBJECT_SKELETON (object)); g_object_unref (object); } /* Export all objects */ g_dbus_object_manager_server_set_connection (manager, connection); gpio_init(connection,&fsi_data); gpio_init(connection,&fsi_clk); gpio_init(connection,&fsi_enable); gpio_init(connection,&cronus_sel); }
static void on_bus_acquired(GDBusConnection *connection, const gchar *name, gpointer user_data) { ObjectSkeleton *object; //g_print ("Acquired a message bus connection: %s\n",name); manager = g_dbus_object_manager_server_new(dbus_object_path); gchar *s; s = g_strdup_printf("%s/%s",dbus_object_path,instance_name); object = object_skeleton_new(s); g_free(s); ControlHost* control_host = control_host_skeleton_new(); object_skeleton_set_control_host(object, control_host); g_object_unref(control_host); Control* control = control_skeleton_new(); object_skeleton_set_control(object, control); g_object_unref(control); //define method callbacks here g_signal_connect(control_host, "handle-boot", G_CALLBACK(on_boot), object); /* user_data */ g_signal_connect(control, "handle-init", G_CALLBACK(on_init), NULL); /* user_data */ control_host_set_debug_mode(control_host,0); control_host_set_flash_side(control_host,"primary"); /* Export the object (@manager takes its own reference to @object) */ g_dbus_object_manager_server_set_connection(manager, connection); g_dbus_object_manager_server_export(manager, G_DBUS_OBJECT_SKELETON(object)); g_object_unref(object); gpio_init(connection,&fsi_data); gpio_init(connection,&fsi_clk); gpio_init(connection,&fsi_enable); gpio_init(connection,&cronus_sel); gpio_init(connection,&Throttle); gpio_init(connection,&idbtn); }