Beispiel #1
0
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);
}
Beispiel #2
0
/**
 * 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);
}