コード例 #1
0
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);
}
コード例 #2
0
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));
}
コード例 #3
0
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);
}
コード例 #4
0
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);
}
コード例 #5
0
static gboolean
gum_script_task_is_tagged (GAsyncResult * res,
                           gpointer source_tag)
{
  return GUM_SCRIPT_TASK (res)->priv->source_tag == source_tag;
}
コード例 #6
0
static gpointer
gum_script_task_get_user_data (GAsyncResult * res)
{
  return GUM_SCRIPT_TASK (res)->priv->callback_data;
}