예제 #1
0
static void
ppg_edit_channel_task_try_finish (PpgEditChannelTask *task)
{
	PpgEditChannelTaskPrivate *priv = task->priv;

	if (priv->target_done && priv->args_done && priv->dir_done && priv->env_done) {
		ppg_task_finish(PPG_TASK(task));
	}
}
예제 #2
0
static void
ppg_restart_task_channel_started (GObject      *object,
                                  GAsyncResult *result,
                                  gpointer      user_data)
{
	PkConnection *conn = (PkConnection *)object;
	PpgTask *task = (PpgTask *)user_data;
	GError *error = NULL;

	g_return_if_fail(PK_IS_CONNECTION(conn));
	g_return_if_fail(PPG_IS_TASK(task));

	if (!pk_connection_channel_start_finish(conn, result, &error)) {
		ppg_task_finish_with_error(task, error);
		g_error_free(error);
		return;
	}

	ppg_task_finish(task);
}
예제 #3
0
static void
ppg_restart_task_channel_started (GObject      *object,
                                  GAsyncResult *result,
                                  gpointer      user_data)
{
	PkConnection *conn = (PkConnection *)object;
	PpgTask *task = (PpgTask *)user_data;
	GError *error = NULL;
	GTimeVal tv = { 0 };

	g_return_if_fail(PK_IS_CONNECTION(conn));
	g_return_if_fail(PPG_IS_TASK(task));

	if (!pk_connection_channel_start_finish(conn, result, &tv, &error)) {
		/*
		 * TODO: Notify session of new start time?
		 */
		ppg_task_fail(task, error);
		g_error_free(error);
		return;
	}

	ppg_task_finish(task);
}
예제 #4
0
/**
 * ppg_task_render_run:
 * @task: (in): A #PpgTaskRender.
 *
 * Render the task by allowing attached signals to process the request.
 *
 * Returns: None.
 * Side effects: None.
 */
static void
ppg_task_render_run (PpgTask *task)
{
	g_signal_emit(task, signals[RENDER], 0);
	ppg_task_finish(task);
}