static void on_download_error (GDBusConnection* connection, const gchar* sender_name, const gchar* object_path, const gchar* interface_name, const gchar* signal_name, GVariant* parameters, gpointer user_data) { Flash *flash = object_get_flash((Object*)user_data); SharedResource *lock = object_get_shared_resource((Object*)user_data); printf("ERROR: FlashBios: Download error; clearing flash lock\n"); shared_resource_set_lock(lock,false); shared_resource_set_name(lock,""); }
static void on_flash_done (GDBusConnection* connection, const gchar* sender_name, const gchar* object_path, const gchar* interface_name, const gchar* signal_name, GVariant* parameters, gpointer user_data) { Flash *flash = object_get_flash((Object*)user_data); SharedResource *lock = object_get_shared_resource((Object*)user_data); printf("Flash succeeded; unlocking flash\n"); shared_resource_set_lock(lock,false); shared_resource_set_name(lock,""); flash_set_status(flash,"Flash Done"); }
static void on_flash_progress(GDBusConnection* connection, const gchar* sender_name, const gchar* object_path, const gchar* interface_name, const gchar* signal_name, GVariant* parameters, gpointer user_data) { Flash *flash = object_get_flash((Object*)user_data); object_get_shared_resource((Object*)user_data); GVariantIter *iter = g_variant_iter_new(parameters); g_variant_iter_next_value(iter); GVariant* v_progress = g_variant_iter_next_value(iter); uint8_t progress = g_variant_get_byte(v_progress); gchar *s; s = g_strdup_printf("Flashing: %d%%",progress); flash_set_status(flash,s); g_free(s); }