static void gum_script_task_dispose (GObject * obj) { GumScriptTask * self = GUM_SCRIPT_TASK (obj); GumScriptTaskPrivate * priv = self->priv; if (!priv->disposed) { priv->disposed = TRUE; g_main_context_unref (priv->context); priv->context = NULL; if (priv->cancellable != NULL) { g_object_unref (priv->cancellable); priv->cancellable = NULL; } if (priv->source_object != NULL) { g_object_unref (priv->source_object); priv->source_object = NULL; } } G_OBJECT_CLASS (gum_script_task_parent_class)->dispose (obj); }
static GumScript * gum_jsc_script_backend_create_finish (GumScriptBackend * backend, GAsyncResult * result, GError ** error) { return GUM_SCRIPT (gum_script_task_propagate_pointer ( GUM_SCRIPT_TASK (result), error)); }
static GObject * gum_script_task_ref_source_object (GAsyncResult * res) { GumScriptTask * self = GUM_SCRIPT_TASK (res); GumScriptTaskPrivate * priv = self->priv; if (priv->source_object == NULL) return NULL; return g_object_ref (priv->source_object); }
static void gum_script_task_finalize (GObject * obj) { GumScriptTask * self = GUM_SCRIPT_TASK (obj); GumScriptTaskPrivate * priv = self->priv; if (priv->error != NULL) g_error_free (priv->error); if (priv->result_destroy != NULL) priv->result_destroy (priv->result); if (priv->task_data_destroy != NULL) priv->task_data_destroy (priv->task_data); G_OBJECT_CLASS (gum_script_task_parent_class)->finalize (obj); }
static gboolean gum_script_task_is_tagged (GAsyncResult * res, gpointer source_tag) { return GUM_SCRIPT_TASK (res)->priv->source_tag == source_tag; }
static gpointer gum_script_task_get_user_data (GAsyncResult * res) { return GUM_SCRIPT_TASK (res)->priv->callback_data; }