/** * pk_backend_spawn_init: **/ static void pk_backend_spawn_init (PkBackendSpawn *backend_spawn) { backend_spawn->priv = PK_BACKEND_SPAWN_GET_PRIVATE (backend_spawn); backend_spawn->priv->kill_id = 0; backend_spawn->priv->name = NULL; backend_spawn->priv->stdout_func = NULL; backend_spawn->priv->stderr_func = NULL; backend_spawn->priv->finished = FALSE; backend_spawn->priv->conf = pk_conf_new (); backend_spawn->priv->backend = pk_backend_new (); backend_spawn->priv->spawn = pk_spawn_new (); g_signal_connect (backend_spawn->priv->spawn, "exit", G_CALLBACK (pk_backend_spawn_exit_cb), backend_spawn); g_signal_connect (backend_spawn->priv->spawn, "stdout", G_CALLBACK (pk_backend_spawn_stdout_cb), backend_spawn); g_signal_connect (backend_spawn->priv->spawn, "stderr", G_CALLBACK (pk_backend_spawn_stderr_cb), backend_spawn); /* set if SIGKILL is allowed */ backend_spawn->priv->allow_sigkill = pk_conf_get_bool (backend_spawn->priv->conf, "BackendSpawnAllowSIGKILL"); g_object_set (backend_spawn->priv->spawn, "allow-sigkill", backend_spawn->priv->allow_sigkill, NULL); }
PkBackendSpawn * pk_backend_spawn_new (GKeyFile *conf) { PkBackendSpawn *backend_spawn; backend_spawn = g_object_new (PK_TYPE_BACKEND_SPAWN, NULL); backend_spawn->priv->conf = g_key_file_ref (conf); backend_spawn->priv->spawn = pk_spawn_new (backend_spawn->priv->conf); g_signal_connect (backend_spawn->priv->spawn, "exit", G_CALLBACK (pk_backend_spawn_exit_cb), backend_spawn); g_signal_connect (backend_spawn->priv->spawn, "stdout", G_CALLBACK (pk_backend_spawn_stdout_cb), backend_spawn); g_signal_connect (backend_spawn->priv->spawn, "stderr", G_CALLBACK (pk_backend_spawn_stderr_cb), backend_spawn); return PK_BACKEND_SPAWN (backend_spawn); }