static void ppg_restart_task_channel_stopped (GObject *object, GAsyncResult *result, gpointer user_data) { PpgRestartTaskPrivate *priv; PkConnection *conn = (PkConnection *)object; PpgRestartTask *restart = (PpgRestartTask *)user_data; PpgTask *task = (PpgTask *)user_data; GError *error = NULL; gint channel; g_return_if_fail(PK_IS_CONNECTION(conn)); g_return_if_fail(PPG_IS_RESTART_TASK(restart)); g_return_if_fail(PPG_IS_TASK(task)); priv = restart->priv; if (!pk_connection_channel_stop_finish(conn, result, &error)) { ppg_task_fail(task, error); g_error_free(error); return; } g_object_get(priv->session, "channel", &channel, NULL); pk_connection_channel_start_async(conn, channel, NULL, ppg_restart_task_channel_started, task); }
/** * ppg_session_started: * @session: (in): A #PpgSession. * * Starts the session by starting the channel on the agent. * * Returns: None. * Side effects: None. */ void ppg_session_start (PpgSession *session) { PpgSessionPrivate *priv; g_return_if_fail(PPG_IS_SESSION(session)); g_return_if_fail(session->priv->conn != NULL); g_return_if_fail(session->priv->channel >= 0); priv = session->priv; g_message("Starting channel %d", priv->channel); pk_connection_channel_start_async(priv->conn, priv->channel, NULL, ppg_session_channel_started, session); }