/* transaction_interface_daemon.c generated by valac 0.56.18-dirty, the Vala compiler
 * generated from transaction_interface_daemon.vala, do not modify */

/*
 *  pamac-vala
 *
 *  Copyright (C) 2018-2023 Guillaume Benoit <guillaume@manjaro.org>
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a get of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <glib-object.h>
#include <gio/gio.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include "pamac.h"
#include <float.h>
#include <math.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif

#define PAMAC_TYPE_TRANSACTION_INTERFACE (pamac_transaction_interface_get_type ())
#define PAMAC_TRANSACTION_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE, PamacTransactionInterface))
#define PAMAC_IS_TRANSACTION_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE))
#define PAMAC_TRANSACTION_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE, PamacTransactionInterfaceIface))

typedef struct _PamacTransactionInterface PamacTransactionInterface;
typedef struct _PamacTransactionInterfaceIface PamacTransactionInterfaceIface;

#define PAMAC_TYPE_TRANSACTION_INTERFACE_DAEMON (pamac_transaction_interface_daemon_get_type ())
#define PAMAC_TRANSACTION_INTERFACE_DAEMON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE_DAEMON, PamacTransactionInterfaceDaemon))
#define PAMAC_TRANSACTION_INTERFACE_DAEMON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_TRANSACTION_INTERFACE_DAEMON, PamacTransactionInterfaceDaemonClass))
#define PAMAC_IS_TRANSACTION_INTERFACE_DAEMON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE_DAEMON))
#define PAMAC_IS_TRANSACTION_INTERFACE_DAEMON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_TRANSACTION_INTERFACE_DAEMON))
#define PAMAC_TRANSACTION_INTERFACE_DAEMON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE_DAEMON, PamacTransactionInterfaceDaemonClass))

typedef struct _PamacTransactionInterfaceDaemon PamacTransactionInterfaceDaemon;
typedef struct _PamacTransactionInterfaceDaemonClass PamacTransactionInterfaceDaemonClass;
typedef struct _PamacTransactionInterfaceDaemonPrivate PamacTransactionInterfaceDaemonPrivate;

#define PAMAC_TYPE_DAEMON (pamac_daemon_get_type ())
#define PAMAC_DAEMON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_DAEMON, PamacDaemon))
#define PAMAC_IS_DAEMON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_DAEMON))
#define PAMAC_DAEMON_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PAMAC_TYPE_DAEMON, PamacDaemonIface))

typedef struct _PamacDaemon PamacDaemon;
typedef struct _PamacDaemonIface PamacDaemonIface;

#define PAMAC_TYPE_DAEMON_PROXY (pamac_daemon_proxy_get_type ())
enum  {
	PAMAC_TRANSACTION_INTERFACE_DAEMON_0_PROPERTY,
	PAMAC_TRANSACTION_INTERFACE_DAEMON_NUM_PROPERTIES
};
static GParamSpec* pamac_transaction_interface_daemon_properties[PAMAC_TRANSACTION_INTERFACE_DAEMON_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _PamacTransactionInterfaceDaemonGetAuthorizationData PamacTransactionInterfaceDaemonGetAuthorizationData;
typedef struct _PamacTransactionInterfaceDaemonGenerateMirrorsListData PamacTransactionInterfaceDaemonGenerateMirrorsListData;
#define _g_ptr_array_unref0(var) ((var == NULL) ? NULL : (var = (g_ptr_array_unref (var), NULL)))
typedef struct _PamacTransactionInterfaceDaemonCleanCacheData PamacTransactionInterfaceDaemonCleanCacheData;
typedef struct _PamacTransactionInterfaceDaemonCleanBuildFilesData PamacTransactionInterfaceDaemonCleanBuildFilesData;
typedef struct _PamacTransactionInterfaceDaemonSetPkgreasonData PamacTransactionInterfaceDaemonSetPkgreasonData;
typedef struct _PamacTransactionInterfaceDaemonDownloadUpdatesData PamacTransactionInterfaceDaemonDownloadUpdatesData;
typedef struct _PamacTransactionInterfaceDaemonDownloadPkgsData PamacTransactionInterfaceDaemonDownloadPkgsData;
typedef struct _PamacTransactionInterfaceDaemonTransRefreshData PamacTransactionInterfaceDaemonTransRefreshData;
typedef struct _PamacTransactionInterfaceDaemonTransRefreshFilesData PamacTransactionInterfaceDaemonTransRefreshFilesData;
typedef struct _PamacTransactionInterfaceDaemonTransRefreshAurData PamacTransactionInterfaceDaemonTransRefreshAurData;
typedef struct _PamacTransactionInterfaceDaemonTransRunData PamacTransactionInterfaceDaemonTransRunData;
typedef struct _PamacTransactionInterfaceDaemonSnapTransRunData PamacTransactionInterfaceDaemonSnapTransRunData;
typedef struct _PamacTransactionInterfaceDaemonSnapSwitchChannelData PamacTransactionInterfaceDaemonSnapSwitchChannelData;
typedef struct _PamacTransactionInterfaceDaemonFlatpakTransRunData PamacTransactionInterfaceDaemonFlatpakTransRunData;

struct _PamacTransactionInterfaceIface {
	GTypeInterface parent_iface;
	void (*get_authorization) (PamacTransactionInterface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*get_authorization_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*remove_authorization) (PamacTransactionInterface* self, GError** error);
	void (*generate_mirrors_list) (PamacTransactionInterface* self, const gchar* country, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*generate_mirrors_list_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*clean_cache) (PamacTransactionInterface* self, GPtrArray* filenames, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*clean_cache_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*clean_build_files) (PamacTransactionInterface* self, const gchar* aur_build_dir, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*clean_build_files_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*set_pkgreason) (PamacTransactionInterface* self, const gchar* pkgname, guint reason, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*set_pkgreason_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*download_updates) (PamacTransactionInterface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*download_updates_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*download_pkgs) (PamacTransactionInterface* self, GPtrArray* urls, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gchar** (*download_pkgs_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, gint* result_length1, GError** error);
	void (*trans_refresh) (PamacTransactionInterface* self, gboolean force, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*trans_refresh_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*trans_refresh_files) (PamacTransactionInterface* self, gboolean force, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*trans_refresh_files_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*trans_refresh_aur) (PamacTransactionInterface* self, gboolean force, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*trans_refresh_aur_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*trans_run) (PamacTransactionInterface* self, gboolean sysupgrade, gboolean enable_downgrade, gboolean simple_install, gboolean keep_built_pkgs, gint trans_flags, GPtrArray* to_install, GPtrArray* to_remove, GPtrArray* to_load_local, GPtrArray* to_load_remote, GPtrArray* to_install_as_dep, GPtrArray* ignorepkgs, GPtrArray* overwrite_files, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*trans_run_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*trans_cancel) (PamacTransactionInterface* self, GError** error);
	void (*quit_daemon) (PamacTransactionInterface* self, GError** error);
	void (*snap_trans_run) (PamacTransactionInterface* self, GPtrArray* to_install, GPtrArray* to_remove, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*snap_trans_run_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*snap_switch_channel) (PamacTransactionInterface* self, const gchar* snap_name, const gchar* channel, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*snap_switch_channel_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*flatpak_trans_run) (PamacTransactionInterface* self, GPtrArray* to_install, GPtrArray* to_remove, GPtrArray* to_upgrade, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*flatpak_trans_run_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
};

struct _PamacTransactionInterfaceDaemon {
	GObject parent_instance;
	PamacTransactionInterfaceDaemonPrivate * priv;
};

struct _PamacTransactionInterfaceDaemonClass {
	GObjectClass parent_class;
};

struct _PamacDaemonIface {
	GTypeInterface parent_iface;
	gchar* (*get_sender) (PamacDaemon* self, GError** error);
	gchar* (*get_lockfile) (PamacDaemon* self, GError** error);
	void (*set_environment_variables) (PamacDaemon* self, GHashTable* variables, GError** error);
	void (*start_get_authorization) (PamacDaemon* self, GError** error);
	void (*remove_authorization) (PamacDaemon* self, GError** error);
	void (*start_write_alpm_config) (PamacDaemon* self, GHashTable* new_alpm_conf, GError** error);
	void (*start_write_pamac_config) (PamacDaemon* self, GHashTable* new_pamac_conf, GError** error);
	void (*start_generate_mirrors_list) (PamacDaemon* self, const gchar* country, GError** error);
	void (*start_clean_cache) (PamacDaemon* self, gchar** filenames, gint filenames_length1, GError** error);
	void (*start_clean_build_files) (PamacDaemon* self, const gchar* aur_build_dir, GError** error);
	void (*start_set_pkgreason) (PamacDaemon* self, const gchar* pkgname, guint reason, GError** error);
	void (*start_download_updates) (PamacDaemon* self, GError** error);
	void (*start_download_pkgs) (PamacDaemon* self, gchar** urls, gint urls_length1, GError** error);
	void (*start_trans_refresh) (PamacDaemon* self, gboolean force, GError** error);
	void (*start_trans_refresh_files) (PamacDaemon* self, gboolean force, GError** error);
	void (*start_trans_refresh_aur) (PamacDaemon* self, gboolean force, GError** error);
	void (*start_trans_run) (PamacDaemon* self, gboolean sysupgrade, gboolean enable_downgrade, gboolean simple_install, gboolean keep_built_pkgs, gint trans_flags, gchar** to_install, gint to_install_length1, gchar** to_remove, gint to_remove_length1, gchar** to_load_local, gint to_load_local_length1, gchar** to_load_remote, gint to_load_remote_length1, gchar** to_install_as_dep, gint to_install_as_dep_length1, gchar** ignorepkgs, gint ignorepkgs_length1, gchar** overwrite_files, gint overwrite_files_length1, GError** error);
	void (*trans_cancel) (PamacDaemon* self, GError** error);
	void (*quit) (PamacDaemon* self, GError** error);
	void (*start_snap_trans_run) (PamacDaemon* self, gchar** to_install, gint to_install_length1, gchar** to_remove, gint to_remove_length1, GError** error);
	void (*start_snap_switch_channel) (PamacDaemon* self, const gchar* snap_name, const gchar* channel, GError** error);
	void (*start_flatpak_trans_run) (PamacDaemon* self, gchar** to_install, gint to_install_length1, gchar** to_remove, gint to_remove_length1, gchar** to_upgrade, gint to_upgrade_length1, GError** error);
};

struct _PamacTransactionInterfaceDaemonPrivate {
	PamacDaemon* system_daemon;
	gchar* sender;
	GSourceFunc generate_mirrors_list_callback;
	gpointer generate_mirrors_list_callback_target;
	GDestroyNotify generate_mirrors_list_callback_target_destroy_notify;
	gboolean download_updates_success;
	GSourceFunc download_updates_callback;
	gpointer download_updates_callback_target;
	GDestroyNotify download_updates_callback_target_destroy_notify;
	GSourceFunc get_authorization_callback;
	gpointer get_authorization_callback_target;
	GDestroyNotify get_authorization_callback_target_destroy_notify;
	gboolean get_authorization_authorized;
	gchar** download_paths;
	gint download_paths_length1;
	gint _download_paths_size_;
	GSourceFunc download_pkgs_callback;
	gpointer download_pkgs_callback_target;
	GDestroyNotify download_pkgs_callback_target_destroy_notify;
	GSourceFunc clean_cache_callback;
	gpointer clean_cache_callback_target;
	GDestroyNotify clean_cache_callback_target_destroy_notify;
	gboolean clean_cache_success;
	GSourceFunc clean_build_files_callback;
	gpointer clean_build_files_callback_target;
	GDestroyNotify clean_build_files_callback_target_destroy_notify;
	gboolean clean_build_files_success;
	GSourceFunc set_pkgreason_callback;
	gpointer set_pkgreason_callback_target;
	GDestroyNotify set_pkgreason_callback_target_destroy_notify;
	gboolean set_pkgreason_success;
	GSourceFunc trans_refresh_callback;
	gpointer trans_refresh_callback_target;
	GDestroyNotify trans_refresh_callback_target_destroy_notify;
	gboolean trans_refresh_success;
	GSourceFunc trans_refresh_files_callback;
	gpointer trans_refresh_files_callback_target;
	GDestroyNotify trans_refresh_files_callback_target_destroy_notify;
	gboolean trans_refresh_files_success;
	GSourceFunc trans_refresh_aur_callback;
	gpointer trans_refresh_aur_callback_target;
	GDestroyNotify trans_refresh_aur_callback_target_destroy_notify;
	gboolean trans_refresh_aur_success;
	GSourceFunc trans_run_callback;
	gpointer trans_run_callback_target;
	GDestroyNotify trans_run_callback_target_destroy_notify;
	gboolean trans_run_success;
	GSourceFunc snap_trans_run_callback;
	gpointer snap_trans_run_callback_target;
	GDestroyNotify snap_trans_run_callback_target_destroy_notify;
	gboolean snap_trans_run_success;
	GSourceFunc snap_switch_channel_callback;
	gpointer snap_switch_channel_callback_target;
	GDestroyNotify snap_switch_channel_callback_target_destroy_notify;
	gboolean snap_switch_channel_success;
	GSourceFunc flatpak_trans_run_callback;
	gpointer flatpak_trans_run_callback_target;
	GDestroyNotify flatpak_trans_run_callback_target_destroy_notify;
	gboolean flatpak_trans_run_success;
};

struct _PamacTransactionInterfaceDaemonGetAuthorizationData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransactionInterfaceDaemon* self;
	gboolean result;
	PamacDaemon* _tmp0_;
	GError* e;
	GError* _tmp1_;
	GError* _tmp2_;
	GError* _inner_error0_;
};

struct _PamacTransactionInterfaceDaemonGenerateMirrorsListData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransactionInterfaceDaemon* self;
	gchar* country;
	PamacDaemon* _tmp0_;
	GError* e;
	GError* _tmp1_;
	GError* _tmp2_;
	GError* _inner_error0_;
};

struct _PamacTransactionInterfaceDaemonCleanCacheData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransactionInterfaceDaemon* self;
	GPtrArray* filenames;
	gboolean result;
	PamacDaemon* _tmp0_;
	gpointer* _tmp1_;
	gint _tmp1__length1;
	GError* e;
	GError* _tmp2_;
	GError* _tmp3_;
	GError* _inner_error0_;
};

struct _PamacTransactionInterfaceDaemonCleanBuildFilesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransactionInterfaceDaemon* self;
	gchar* aur_build_dir;
	gboolean result;
	PamacDaemon* _tmp0_;
	GError* e;
	GError* _tmp1_;
	GError* _tmp2_;
	GError* _inner_error0_;
};

struct _PamacTransactionInterfaceDaemonSetPkgreasonData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransactionInterfaceDaemon* self;
	gchar* pkgname;
	guint reason;
	gboolean result;
	PamacDaemon* _tmp0_;
	GError* e;
	GError* _tmp1_;
	GError* _tmp2_;
	GError* _inner_error0_;
};

struct _PamacTransactionInterfaceDaemonDownloadUpdatesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransactionInterfaceDaemon* self;
	gboolean result;
	PamacDaemon* _tmp0_;
	GError* e;
	GError* _tmp1_;
	GError* _tmp2_;
	GError* _inner_error0_;
};

struct _PamacTransactionInterfaceDaemonDownloadPkgsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransactionInterfaceDaemon* self;
	GPtrArray* urls;
	gchar** result;
	gint result_length1;
	PamacDaemon* _tmp0_;
	gpointer* _tmp1_;
	gint _tmp1__length1;
	gchar** _tmp2_;
	gint _tmp2__length1;
	gchar** _tmp3_;
	gint _tmp3__length1;
	gchar** _tmp4_;
	gint _tmp4__length1;
	GError* e;
	GError* _tmp5_;
	GError* _tmp6_;
	GError* _inner_error0_;
};

struct _PamacTransactionInterfaceDaemonTransRefreshData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransactionInterfaceDaemon* self;
	gboolean force;
	gboolean result;
	PamacDaemon* _tmp0_;
	GError* e;
	GError* _tmp1_;
	GError* _tmp2_;
	GError* _inner_error0_;
};

struct _PamacTransactionInterfaceDaemonTransRefreshFilesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransactionInterfaceDaemon* self;
	gboolean force;
	gboolean result;
	PamacDaemon* _tmp0_;
	GError* e;
	GError* _tmp1_;
	GError* _tmp2_;
	GError* _inner_error0_;
};

struct _PamacTransactionInterfaceDaemonTransRefreshAurData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransactionInterfaceDaemon* self;
	gboolean force;
	gboolean result;
	PamacDaemon* _tmp0_;
	GError* e;
	GError* _tmp1_;
	GError* _tmp2_;
	GError* _inner_error0_;
};

struct _PamacTransactionInterfaceDaemonTransRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransactionInterfaceDaemon* self;
	gboolean sysupgrade;
	gboolean enable_downgrade;
	gboolean simple_install;
	gboolean keep_built_pkgs;
	gint trans_flags;
	GPtrArray* to_install;
	GPtrArray* to_remove;
	GPtrArray* to_load_local;
	GPtrArray* to_load_remote;
	GPtrArray* to_install_as_dep;
	GPtrArray* ignorepkgs;
	GPtrArray* overwrite_files;
	gboolean result;
	PamacDaemon* _tmp0_;
	gpointer* _tmp1_;
	gint _tmp1__length1;
	gpointer* _tmp2_;
	gint _tmp2__length1;
	gpointer* _tmp3_;
	gint _tmp3__length1;
	gpointer* _tmp4_;
	gint _tmp4__length1;
	gpointer* _tmp5_;
	gint _tmp5__length1;
	gpointer* _tmp6_;
	gint _tmp6__length1;
	gpointer* _tmp7_;
	gint _tmp7__length1;
	GError* e;
	GError* _tmp8_;
	GError* _tmp9_;
	GError* _inner_error0_;
};

struct _PamacTransactionInterfaceDaemonSnapTransRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransactionInterfaceDaemon* self;
	GPtrArray* to_install;
	GPtrArray* to_remove;
	gboolean result;
	PamacDaemon* _tmp0_;
	gpointer* _tmp1_;
	gint _tmp1__length1;
	gpointer* _tmp2_;
	gint _tmp2__length1;
	GError* e;
	GError* _tmp3_;
	GError* _tmp4_;
	GError* _inner_error0_;
};

struct _PamacTransactionInterfaceDaemonSnapSwitchChannelData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransactionInterfaceDaemon* self;
	gchar* snap_name;
	gchar* channel;
	gboolean result;
	PamacDaemon* _tmp0_;
	GError* e;
	GError* _tmp1_;
	GError* _tmp2_;
	GError* _inner_error0_;
};

struct _PamacTransactionInterfaceDaemonFlatpakTransRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransactionInterfaceDaemon* self;
	GPtrArray* to_install;
	GPtrArray* to_remove;
	GPtrArray* to_upgrade;
	gboolean result;
	PamacDaemon* _tmp0_;
	gpointer* _tmp1_;
	gint _tmp1__length1;
	gpointer* _tmp2_;
	gint _tmp2__length1;
	gpointer* _tmp3_;
	gint _tmp3__length1;
	GError* e;
	GError* _tmp4_;
	GError* _tmp5_;
	GError* _inner_error0_;
};

static gint PamacTransactionInterfaceDaemon_private_offset;
static gpointer pamac_transaction_interface_daemon_parent_class = NULL;
static PamacTransactionInterfaceIface * pamac_transaction_interface_daemon_pamac_transaction_interface_parent_iface = NULL;

VALA_EXTERN GType pamac_transaction_interface_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType pamac_transaction_interface_daemon_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType pamac_daemon_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint pamac_daemon_register_object (void* object,
                                    GDBusConnection* connection,
                                    const gchar* path,
                                    GError** error);
VALA_EXTERN GType pamac_daemon_get_type (void) G_GNUC_CONST ;
VALA_EXTERN PamacTransactionInterfaceDaemon* pamac_transaction_interface_daemon_new (PamacConfig* config);
VALA_EXTERN PamacTransactionInterfaceDaemon* pamac_transaction_interface_daemon_construct (GType object_type,
                                                                               PamacConfig* config);
static void pamac_transaction_interface_daemon_connecting_system_daemon (PamacTransactionInterfaceDaemon* self,
                                                                  PamacConfig* config,
                                                                  GError** error);
static void pamac_transaction_interface_daemon_connecting_dbus_signals (PamacTransactionInterfaceDaemon* self);
VALA_EXTERN gchar* pamac_daemon_get_sender (PamacDaemon* self,
                                GError** error);
static void pamac_transaction_interface_daemon_real_get_authorization_data_free (gpointer _data);
static void pamac_transaction_interface_daemon_real_get_authorization (PamacTransactionInterface* base,
                                                                GAsyncReadyCallback _callback_,
                                                                gpointer _user_data_);
static gboolean pamac_transaction_interface_daemon_real_get_authorization_co (PamacTransactionInterfaceDaemonGetAuthorizationData* _data_);
VALA_EXTERN void pamac_transaction_interface_get_authorization (PamacTransactionInterface* self,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_get_authorization_finish (PamacTransactionInterface* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
static gboolean _pamac_transaction_interface_daemon_real_get_authorization_co_gsource_func (gpointer self);
VALA_EXTERN void pamac_daemon_start_get_authorization (PamacDaemon* self,
                                           GError** error);
static void pamac_transaction_interface_daemon_on_get_authorization_finished (PamacTransactionInterfaceDaemon* self,
                                                                       const gchar* sender,
                                                                       gboolean authorized);
static void pamac_transaction_interface_daemon_real_remove_authorization (PamacTransactionInterface* base,
                                                                   GError** error);
VALA_EXTERN void pamac_daemon_remove_authorization (PamacDaemon* self,
                                        GError** error);
static void pamac_transaction_interface_daemon_real_generate_mirrors_list_data_free (gpointer _data);
static void pamac_transaction_interface_daemon_real_generate_mirrors_list (PamacTransactionInterface* base,
                                                                    const gchar* country,
                                                                    GAsyncReadyCallback _callback_,
                                                                    gpointer _user_data_);
static gboolean pamac_transaction_interface_daemon_real_generate_mirrors_list_co (PamacTransactionInterfaceDaemonGenerateMirrorsListData* _data_);
VALA_EXTERN void pamac_transaction_interface_generate_mirrors_list (PamacTransactionInterface* self,
                                                        const gchar* country,
                                                        GAsyncReadyCallback _callback_,
                                                        gpointer _user_data_);
VALA_EXTERN void pamac_transaction_interface_generate_mirrors_list_finish (PamacTransactionInterface* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
static gboolean _pamac_transaction_interface_daemon_real_generate_mirrors_list_co_gsource_func (gpointer self);
VALA_EXTERN void pamac_daemon_start_generate_mirrors_list (PamacDaemon* self,
                                               const gchar* country,
                                               GError** error);
static void pamac_transaction_interface_daemon_on_generate_mirrors_list_finished (PamacTransactionInterfaceDaemon* self,
                                                                           const gchar* sender);
static void pamac_transaction_interface_daemon_on_generate_mirrors_list_data (PamacTransactionInterfaceDaemon* self,
                                                                       const gchar* sender,
                                                                       const gchar* line);
static void pamac_transaction_interface_daemon_real_clean_cache_data_free (gpointer _data);
static void pamac_transaction_interface_daemon_real_clean_cache (PamacTransactionInterface* base,
                                                          GPtrArray* filenames,
                                                          GAsyncReadyCallback _callback_,
                                                          gpointer _user_data_);
static gboolean pamac_transaction_interface_daemon_real_clean_cache_co (PamacTransactionInterfaceDaemonCleanCacheData* _data_);
VALA_EXTERN void pamac_transaction_interface_clean_cache (PamacTransactionInterface* self,
                                              GPtrArray* filenames,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_clean_cache_finish (PamacTransactionInterface* self,
                                                         GAsyncResult* _res_,
                                                         GError** error);
static gboolean _pamac_transaction_interface_daemon_real_clean_cache_co_gsource_func (gpointer self);
VALA_EXTERN void pamac_daemon_start_clean_cache (PamacDaemon* self,
                                     gchar** filenames,
                                     gint filenames_length1,
                                     GError** error);
static void pamac_transaction_interface_daemon_on_clean_cache_finished (PamacTransactionInterfaceDaemon* self,
                                                                 const gchar* sender,
                                                                 gboolean success);
static void pamac_transaction_interface_daemon_real_clean_build_files_data_free (gpointer _data);
static void pamac_transaction_interface_daemon_real_clean_build_files (PamacTransactionInterface* base,
                                                                const gchar* aur_build_dir,
                                                                GAsyncReadyCallback _callback_,
                                                                gpointer _user_data_);
static gboolean pamac_transaction_interface_daemon_real_clean_build_files_co (PamacTransactionInterfaceDaemonCleanBuildFilesData* _data_);
VALA_EXTERN void pamac_transaction_interface_clean_build_files (PamacTransactionInterface* self,
                                                    const gchar* aur_build_dir,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_clean_build_files_finish (PamacTransactionInterface* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
static gboolean _pamac_transaction_interface_daemon_real_clean_build_files_co_gsource_func (gpointer self);
VALA_EXTERN void pamac_daemon_start_clean_build_files (PamacDaemon* self,
                                           const gchar* aur_build_dir,
                                           GError** error);
static void pamac_transaction_interface_daemon_on_clean_clean_build_files_finished (PamacTransactionInterfaceDaemon* self,
                                                                             const gchar* sender,
                                                                             gboolean success);
static void pamac_transaction_interface_daemon_real_set_pkgreason_data_free (gpointer _data);
static void pamac_transaction_interface_daemon_real_set_pkgreason (PamacTransactionInterface* base,
                                                            const gchar* pkgname,
                                                            guint reason,
                                                            GAsyncReadyCallback _callback_,
                                                            gpointer _user_data_);
static gboolean pamac_transaction_interface_daemon_real_set_pkgreason_co (PamacTransactionInterfaceDaemonSetPkgreasonData* _data_);
VALA_EXTERN void pamac_transaction_interface_set_pkgreason (PamacTransactionInterface* self,
                                                const gchar* pkgname,
                                                guint reason,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_set_pkgreason_finish (PamacTransactionInterface* self,
                                                           GAsyncResult* _res_,
                                                           GError** error);
static gboolean _pamac_transaction_interface_daemon_real_set_pkgreason_co_gsource_func (gpointer self);
VALA_EXTERN void pamac_daemon_start_set_pkgreason (PamacDaemon* self,
                                       const gchar* pkgname,
                                       guint reason,
                                       GError** error);
static void pamac_transaction_interface_daemon_on_set_pkgreason_finished (PamacTransactionInterfaceDaemon* self,
                                                                   const gchar* sender,
                                                                   gboolean success);
static void pamac_transaction_interface_daemon_real_download_updates_data_free (gpointer _data);
static void pamac_transaction_interface_daemon_real_download_updates (PamacTransactionInterface* base,
                                                               GAsyncReadyCallback _callback_,
                                                               gpointer _user_data_);
static gboolean pamac_transaction_interface_daemon_real_download_updates_co (PamacTransactionInterfaceDaemonDownloadUpdatesData* _data_);
VALA_EXTERN void pamac_transaction_interface_download_updates (PamacTransactionInterface* self,
                                                   GAsyncReadyCallback _callback_,
                                                   gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_download_updates_finish (PamacTransactionInterface* self,
                                                              GAsyncResult* _res_,
                                                              GError** error);
static gboolean _pamac_transaction_interface_daemon_real_download_updates_co_gsource_func (gpointer self);
VALA_EXTERN void pamac_daemon_start_download_updates (PamacDaemon* self,
                                          GError** error);
static void pamac_transaction_interface_daemon_on_download_updates_finished (PamacTransactionInterfaceDaemon* self,
                                                                      const gchar* sender,
                                                                      gboolean success);
static void pamac_transaction_interface_daemon_real_download_pkgs_data_free (gpointer _data);
static void pamac_transaction_interface_daemon_real_download_pkgs (PamacTransactionInterface* base,
                                                            GPtrArray* urls,
                                                            GAsyncReadyCallback _callback_,
                                                            gpointer _user_data_);
static gboolean pamac_transaction_interface_daemon_real_download_pkgs_co (PamacTransactionInterfaceDaemonDownloadPkgsData* _data_);
VALA_EXTERN void pamac_transaction_interface_download_pkgs (PamacTransactionInterface* self,
                                                GPtrArray* urls,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN gchar** pamac_transaction_interface_download_pkgs_finish (PamacTransactionInterface* self,
                                                          GAsyncResult* _res_,
                                                          gint* result_length1,
                                                          GError** error);
static gboolean _pamac_transaction_interface_daemon_real_download_pkgs_co_gsource_func (gpointer self);
VALA_EXTERN void pamac_daemon_start_download_pkgs (PamacDaemon* self,
                                       gchar** urls,
                                       gint urls_length1,
                                       GError** error);
static gchar** _vala_array_dup3 (gchar** self,
                          gssize length);
static void pamac_transaction_interface_daemon_on_download_pkgs_finished (PamacTransactionInterfaceDaemon* self,
                                                                   const gchar* sender,
                                                                   gchar** dload_paths,
                                                                   gint dload_paths_length1);
static gchar** _vala_array_dup4 (gchar** self,
                          gssize length);
static void pamac_transaction_interface_daemon_real_trans_refresh_data_free (gpointer _data);
static void pamac_transaction_interface_daemon_real_trans_refresh (PamacTransactionInterface* base,
                                                            gboolean force,
                                                            GAsyncReadyCallback _callback_,
                                                            gpointer _user_data_);
static gboolean pamac_transaction_interface_daemon_real_trans_refresh_co (PamacTransactionInterfaceDaemonTransRefreshData* _data_);
VALA_EXTERN void pamac_transaction_interface_trans_refresh (PamacTransactionInterface* self,
                                                gboolean force,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_trans_refresh_finish (PamacTransactionInterface* self,
                                                           GAsyncResult* _res_,
                                                           GError** error);
static gboolean _pamac_transaction_interface_daemon_real_trans_refresh_co_gsource_func (gpointer self);
VALA_EXTERN void pamac_daemon_start_trans_refresh (PamacDaemon* self,
                                       gboolean force,
                                       GError** error);
static void pamac_transaction_interface_daemon_on_trans_refresh_finished (PamacTransactionInterfaceDaemon* self,
                                                                   const gchar* sender,
                                                                   gboolean success);
static void pamac_transaction_interface_daemon_real_trans_refresh_files_data_free (gpointer _data);
static void pamac_transaction_interface_daemon_real_trans_refresh_files (PamacTransactionInterface* base,
                                                                  gboolean force,
                                                                  GAsyncReadyCallback _callback_,
                                                                  gpointer _user_data_);
static gboolean pamac_transaction_interface_daemon_real_trans_refresh_files_co (PamacTransactionInterfaceDaemonTransRefreshFilesData* _data_);
VALA_EXTERN void pamac_transaction_interface_trans_refresh_files (PamacTransactionInterface* self,
                                                      gboolean force,
                                                      GAsyncReadyCallback _callback_,
                                                      gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_trans_refresh_files_finish (PamacTransactionInterface* self,
                                                                 GAsyncResult* _res_,
                                                                 GError** error);
static gboolean _pamac_transaction_interface_daemon_real_trans_refresh_files_co_gsource_func (gpointer self);
VALA_EXTERN void pamac_daemon_start_trans_refresh_files (PamacDaemon* self,
                                             gboolean force,
                                             GError** error);
static void pamac_transaction_interface_daemon_on_trans_refresh_files_finished (PamacTransactionInterfaceDaemon* self,
                                                                         const gchar* sender,
                                                                         gboolean success);
static void pamac_transaction_interface_daemon_real_trans_refresh_aur_data_free (gpointer _data);
static void pamac_transaction_interface_daemon_real_trans_refresh_aur (PamacTransactionInterface* base,
                                                                gboolean force,
                                                                GAsyncReadyCallback _callback_,
                                                                gpointer _user_data_);
static gboolean pamac_transaction_interface_daemon_real_trans_refresh_aur_co (PamacTransactionInterfaceDaemonTransRefreshAurData* _data_);
VALA_EXTERN void pamac_transaction_interface_trans_refresh_aur (PamacTransactionInterface* self,
                                                    gboolean force,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_trans_refresh_aur_finish (PamacTransactionInterface* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
static gboolean _pamac_transaction_interface_daemon_real_trans_refresh_aur_co_gsource_func (gpointer self);
VALA_EXTERN void pamac_daemon_start_trans_refresh_aur (PamacDaemon* self,
                                           gboolean force,
                                           GError** error);
static void pamac_transaction_interface_daemon_on_trans_refresh_aur_finished (PamacTransactionInterfaceDaemon* self,
                                                                       const gchar* sender,
                                                                       gboolean success);
static void pamac_transaction_interface_daemon_real_trans_run_data_free (gpointer _data);
static void pamac_transaction_interface_daemon_real_trans_run (PamacTransactionInterface* base,
                                                        gboolean sysupgrade,
                                                        gboolean enable_downgrade,
                                                        gboolean simple_install,
                                                        gboolean keep_built_pkgs,
                                                        gint trans_flags,
                                                        GPtrArray* to_install,
                                                        GPtrArray* to_remove,
                                                        GPtrArray* to_load_local,
                                                        GPtrArray* to_load_remote,
                                                        GPtrArray* to_install_as_dep,
                                                        GPtrArray* ignorepkgs,
                                                        GPtrArray* overwrite_files,
                                                        GAsyncReadyCallback _callback_,
                                                        gpointer _user_data_);
static gboolean pamac_transaction_interface_daemon_real_trans_run_co (PamacTransactionInterfaceDaemonTransRunData* _data_);
VALA_EXTERN void pamac_transaction_interface_trans_run (PamacTransactionInterface* self,
                                            gboolean sysupgrade,
                                            gboolean enable_downgrade,
                                            gboolean simple_install,
                                            gboolean keep_built_pkgs,
                                            gint trans_flags,
                                            GPtrArray* to_install,
                                            GPtrArray* to_remove,
                                            GPtrArray* to_load_local,
                                            GPtrArray* to_load_remote,
                                            GPtrArray* to_install_as_dep,
                                            GPtrArray* ignorepkgs,
                                            GPtrArray* overwrite_files,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_trans_run_finish (PamacTransactionInterface* self,
                                                       GAsyncResult* _res_,
                                                       GError** error);
static gboolean _pamac_transaction_interface_daemon_real_trans_run_co_gsource_func (gpointer self);
VALA_EXTERN void pamac_daemon_start_trans_run (PamacDaemon* self,
                                   gboolean sysupgrade,
                                   gboolean enable_downgrade,
                                   gboolean simple_install,
                                   gboolean keep_built_pkgs,
                                   gint trans_flags,
                                   gchar** to_install,
                                   gint to_install_length1,
                                   gchar** to_remove,
                                   gint to_remove_length1,
                                   gchar** to_load_local,
                                   gint to_load_local_length1,
                                   gchar** to_load_remote,
                                   gint to_load_remote_length1,
                                   gchar** to_install_as_dep,
                                   gint to_install_as_dep_length1,
                                   gchar** ignorepkgs,
                                   gint ignorepkgs_length1,
                                   gchar** overwrite_files,
                                   gint overwrite_files_length1,
                                   GError** error);
static void pamac_transaction_interface_daemon_on_trans_run_finished (PamacTransactionInterfaceDaemon* self,
                                                               const gchar* sender,
                                                               gboolean success);
static void pamac_transaction_interface_daemon_real_trans_cancel (PamacTransactionInterface* base,
                                                           GError** error);
VALA_EXTERN void pamac_daemon_trans_cancel (PamacDaemon* self,
                                GError** error);
static void pamac_transaction_interface_daemon_real_snap_trans_run_data_free (gpointer _data);
static void pamac_transaction_interface_daemon_real_snap_trans_run (PamacTransactionInterface* base,
                                                             GPtrArray* to_install,
                                                             GPtrArray* to_remove,
                                                             GAsyncReadyCallback _callback_,
                                                             gpointer _user_data_);
static gboolean pamac_transaction_interface_daemon_real_snap_trans_run_co (PamacTransactionInterfaceDaemonSnapTransRunData* _data_);
VALA_EXTERN void pamac_transaction_interface_snap_trans_run (PamacTransactionInterface* self,
                                                 GPtrArray* to_install,
                                                 GPtrArray* to_remove,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_snap_trans_run_finish (PamacTransactionInterface* self,
                                                            GAsyncResult* _res_,
                                                            GError** error);
static gboolean _pamac_transaction_interface_daemon_real_snap_trans_run_co_gsource_func (gpointer self);
VALA_EXTERN void pamac_daemon_start_snap_trans_run (PamacDaemon* self,
                                        gchar** to_install,
                                        gint to_install_length1,
                                        gchar** to_remove,
                                        gint to_remove_length1,
                                        GError** error);
static void pamac_transaction_interface_daemon_on_snap_trans_run_finished (PamacTransactionInterfaceDaemon* self,
                                                                    const gchar* sender,
                                                                    gboolean success);
static void pamac_transaction_interface_daemon_real_snap_switch_channel_data_free (gpointer _data);
static void pamac_transaction_interface_daemon_real_snap_switch_channel (PamacTransactionInterface* base,
                                                                  const gchar* snap_name,
                                                                  const gchar* channel,
                                                                  GAsyncReadyCallback _callback_,
                                                                  gpointer _user_data_);
static gboolean pamac_transaction_interface_daemon_real_snap_switch_channel_co (PamacTransactionInterfaceDaemonSnapSwitchChannelData* _data_);
VALA_EXTERN void pamac_transaction_interface_snap_switch_channel (PamacTransactionInterface* self,
                                                      const gchar* snap_name,
                                                      const gchar* channel,
                                                      GAsyncReadyCallback _callback_,
                                                      gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_snap_switch_channel_finish (PamacTransactionInterface* self,
                                                                 GAsyncResult* _res_,
                                                                 GError** error);
static gboolean _pamac_transaction_interface_daemon_real_snap_switch_channel_co_gsource_func (gpointer self);
VALA_EXTERN void pamac_daemon_start_snap_switch_channel (PamacDaemon* self,
                                             const gchar* snap_name,
                                             const gchar* channel,
                                             GError** error);
static void pamac_transaction_interface_daemon_on_snap_switch_channel_finished (PamacTransactionInterfaceDaemon* self,
                                                                         const gchar* sender,
                                                                         gboolean success);
static void pamac_transaction_interface_daemon_real_flatpak_trans_run_data_free (gpointer _data);
static void pamac_transaction_interface_daemon_real_flatpak_trans_run (PamacTransactionInterface* base,
                                                                GPtrArray* to_install,
                                                                GPtrArray* to_remove,
                                                                GPtrArray* to_upgrade,
                                                                GAsyncReadyCallback _callback_,
                                                                gpointer _user_data_);
static gboolean pamac_transaction_interface_daemon_real_flatpak_trans_run_co (PamacTransactionInterfaceDaemonFlatpakTransRunData* _data_);
VALA_EXTERN void pamac_transaction_interface_flatpak_trans_run (PamacTransactionInterface* self,
                                                    GPtrArray* to_install,
                                                    GPtrArray* to_remove,
                                                    GPtrArray* to_upgrade,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_flatpak_trans_run_finish (PamacTransactionInterface* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
static gboolean _pamac_transaction_interface_daemon_real_flatpak_trans_run_co_gsource_func (gpointer self);
VALA_EXTERN void pamac_daemon_start_flatpak_trans_run (PamacDaemon* self,
                                           gchar** to_install,
                                           gint to_install_length1,
                                           gchar** to_remove,
                                           gint to_remove_length1,
                                           gchar** to_upgrade,
                                           gint to_upgrade_length1,
                                           GError** error);
static void pamac_transaction_interface_daemon_on_flatpak_trans_run_finished (PamacTransactionInterfaceDaemon* self,
                                                                       const gchar* sender,
                                                                       gboolean success);
static void pamac_transaction_interface_daemon_real_quit_daemon (PamacTransactionInterface* base,
                                                          GError** error);
VALA_EXTERN void pamac_daemon_quit (PamacDaemon* self,
                        GError** error);
static void pamac_transaction_interface_daemon_on_emit_action (PamacTransactionInterfaceDaemon* self,
                                                        const gchar* sender,
                                                        const gchar* action);
static void pamac_transaction_interface_daemon_on_emit_action_progress (PamacTransactionInterfaceDaemon* self,
                                                                 const gchar* sender,
                                                                 const gchar* action,
                                                                 const gchar* status,
                                                                 gdouble progress);
static void pamac_transaction_interface_daemon_on_emit_download_progress (PamacTransactionInterfaceDaemon* self,
                                                                   const gchar* sender,
                                                                   const gchar* action,
                                                                   const gchar* status,
                                                                   gdouble progress);
static void pamac_transaction_interface_daemon_on_emit_hook_progress (PamacTransactionInterfaceDaemon* self,
                                                               const gchar* sender,
                                                               const gchar* action,
                                                               const gchar* details,
                                                               const gchar* status,
                                                               gdouble progress);
static void pamac_transaction_interface_daemon_on_emit_script_output (PamacTransactionInterfaceDaemon* self,
                                                               const gchar* sender,
                                                               const gchar* message);
static void pamac_transaction_interface_daemon_on_emit_warning (PamacTransactionInterfaceDaemon* self,
                                                         const gchar* sender,
                                                         const gchar* message);
static void pamac_transaction_interface_daemon_on_emit_error (PamacTransactionInterfaceDaemon* self,
                                                       const gchar* sender,
                                                       const gchar* message,
                                                       gchar** details,
                                                       gint details_length1);
static void _g_free0_ (gpointer var);
static void pamac_transaction_interface_daemon_on_important_details_outpout (PamacTransactionInterfaceDaemon* self,
                                                                      const gchar* sender,
                                                                      gboolean must_show);
static void pamac_transaction_interface_daemon_on_start_downloading (PamacTransactionInterfaceDaemon* self,
                                                              const gchar* sender);
static void pamac_transaction_interface_daemon_on_stop_downloading (PamacTransactionInterfaceDaemon* self,
                                                             const gchar* sender);
static void pamac_transaction_interface_daemon_on_start_waiting (PamacTransactionInterfaceDaemon* self,
                                                          const gchar* sender);
static void pamac_transaction_interface_daemon_on_stop_waiting (PamacTransactionInterfaceDaemon* self,
                                                         const gchar* sender);
VALA_EXTERN void pamac_daemon_set_environment_variables (PamacDaemon* self,
                                             GHashTable* variables,
                                             GError** error);
static void _pamac_transaction_interface_daemon_on_emit_action_pamac_daemon_emit_action (PamacDaemon* _sender,
                                                                                  const gchar* sender,
                                                                                  const gchar* action,
                                                                                  gpointer self);
static void _pamac_transaction_interface_daemon_on_emit_action_progress_pamac_daemon_emit_action_progress (PamacDaemon* _sender,
                                                                                                    const gchar* sender,
                                                                                                    const gchar* action,
                                                                                                    const gchar* status,
                                                                                                    gdouble progress,
                                                                                                    gpointer self);
static void _pamac_transaction_interface_daemon_on_emit_download_progress_pamac_daemon_emit_download_progress (PamacDaemon* _sender,
                                                                                                        const gchar* sender,
                                                                                                        const gchar* action,
                                                                                                        const gchar* status,
                                                                                                        gdouble progress,
                                                                                                        gpointer self);
static void _pamac_transaction_interface_daemon_on_emit_hook_progress_pamac_daemon_emit_hook_progress (PamacDaemon* _sender,
                                                                                                const gchar* sender,
                                                                                                const gchar* action,
                                                                                                const gchar* details,
                                                                                                const gchar* status,
                                                                                                gdouble progress,
                                                                                                gpointer self);
static void _pamac_transaction_interface_daemon_on_emit_script_output_pamac_daemon_emit_script_output (PamacDaemon* _sender,
                                                                                                const gchar* sender,
                                                                                                const gchar* message,
                                                                                                gpointer self);
static void _pamac_transaction_interface_daemon_on_emit_warning_pamac_daemon_emit_warning (PamacDaemon* _sender,
                                                                                    const gchar* sender,
                                                                                    const gchar* message,
                                                                                    gpointer self);
static void _pamac_transaction_interface_daemon_on_emit_error_pamac_daemon_emit_error (PamacDaemon* _sender,
                                                                                const gchar* sender,
                                                                                const gchar* message,
                                                                                gchar** details,
                                                                                gint details_length1,
                                                                                gpointer self);
static void _pamac_transaction_interface_daemon_on_important_details_outpout_pamac_daemon_important_details_outpout (PamacDaemon* _sender,
                                                                                                              const gchar* sender,
                                                                                                              gboolean must_show,
                                                                                                              gpointer self);
static void _pamac_transaction_interface_daemon_on_start_downloading_pamac_daemon_start_downloading (PamacDaemon* _sender,
                                                                                              const gchar* sender,
                                                                                              gpointer self);
static void _pamac_transaction_interface_daemon_on_stop_downloading_pamac_daemon_stop_downloading (PamacDaemon* _sender,
                                                                                            const gchar* sender,
                                                                                            gpointer self);
static void _pamac_transaction_interface_daemon_on_start_waiting_pamac_daemon_start_waiting (PamacDaemon* _sender,
                                                                                      const gchar* sender,
                                                                                      gpointer self);
static void _pamac_transaction_interface_daemon_on_stop_waiting_pamac_daemon_stop_waiting (PamacDaemon* _sender,
                                                                                    const gchar* sender,
                                                                                    gpointer self);
static void _pamac_transaction_interface_daemon_on_get_authorization_finished_pamac_daemon_get_authorization_finished (PamacDaemon* _sender,
                                                                                                                const gchar* sender,
                                                                                                                gboolean authorized,
                                                                                                                gpointer self);
static void _pamac_transaction_interface_daemon_on_clean_cache_finished_pamac_daemon_clean_cache_finished (PamacDaemon* _sender,
                                                                                                    const gchar* sender,
                                                                                                    gboolean success,
                                                                                                    gpointer self);
static void _pamac_transaction_interface_daemon_on_clean_clean_build_files_finished_pamac_daemon_clean_build_files_finished (PamacDaemon* _sender,
                                                                                                                      const gchar* sender,
                                                                                                                      gboolean success,
                                                                                                                      gpointer self);
static void _pamac_transaction_interface_daemon_on_set_pkgreason_finished_pamac_daemon_set_pkgreason_finished (PamacDaemon* _sender,
                                                                                                        const gchar* sender,
                                                                                                        gboolean success,
                                                                                                        gpointer self);
static void _pamac_transaction_interface_daemon_on_trans_refresh_finished_pamac_daemon_trans_refresh_finished (PamacDaemon* _sender,
                                                                                                        const gchar* sender,
                                                                                                        gboolean success,
                                                                                                        gpointer self);
static void _pamac_transaction_interface_daemon_on_trans_refresh_files_finished_pamac_daemon_trans_refresh_files_finished (PamacDaemon* _sender,
                                                                                                                    const gchar* sender,
                                                                                                                    gboolean success,
                                                                                                                    gpointer self);
static void _pamac_transaction_interface_daemon_on_trans_refresh_aur_finished_pamac_daemon_trans_refresh_aur_finished (PamacDaemon* _sender,
                                                                                                                const gchar* sender,
                                                                                                                gboolean success,
                                                                                                                gpointer self);
static void _pamac_transaction_interface_daemon_on_trans_run_finished_pamac_daemon_trans_run_finished (PamacDaemon* _sender,
                                                                                                const gchar* sender,
                                                                                                gboolean success,
                                                                                                gpointer self);
static void _pamac_transaction_interface_daemon_on_download_updates_finished_pamac_daemon_download_updates_finished (PamacDaemon* _sender,
                                                                                                              const gchar* sender,
                                                                                                              gboolean success,
                                                                                                              gpointer self);
static void _pamac_transaction_interface_daemon_on_download_pkgs_finished_pamac_daemon_download_pkgs_finished (PamacDaemon* _sender,
                                                                                                        const gchar* sender,
                                                                                                        gchar** dload_paths,
                                                                                                        gint dload_paths_length1,
                                                                                                        gpointer self);
static void _pamac_transaction_interface_daemon_on_generate_mirrors_list_data_pamac_daemon_generate_mirrors_list_data (PamacDaemon* _sender,
                                                                                                                const gchar* sender,
                                                                                                                const gchar* line,
                                                                                                                gpointer self);
static void _pamac_transaction_interface_daemon_on_generate_mirrors_list_finished_pamac_daemon_generate_mirrors_list_finished (PamacDaemon* _sender,
                                                                                                                        const gchar* sender,
                                                                                                                        gpointer self);
static void _pamac_transaction_interface_daemon_on_snap_trans_run_finished_pamac_daemon_snap_trans_run_finished (PamacDaemon* _sender,
                                                                                                          const gchar* sender,
                                                                                                          gboolean success,
                                                                                                          gpointer self);
static void _pamac_transaction_interface_daemon_on_snap_switch_channel_finished_pamac_daemon_snap_switch_channel_finished (PamacDaemon* _sender,
                                                                                                                    const gchar* sender,
                                                                                                                    gboolean success,
                                                                                                                    gpointer self);
static void _pamac_transaction_interface_daemon_on_flatpak_trans_run_finished_pamac_daemon_flatpak_trans_run_finished (PamacDaemon* _sender,
                                                                                                                const gchar* sender,
                                                                                                                gboolean success,
                                                                                                                gpointer self);
VALA_EXTERN void pamac_transaction_interface_remove_authorization (PamacTransactionInterface* self,
                                                       GError** error);
VALA_EXTERN void pamac_transaction_interface_trans_cancel (PamacTransactionInterface* self,
                                               GError** error);
VALA_EXTERN void pamac_transaction_interface_quit_daemon (PamacTransactionInterface* self,
                                              GError** error);
static void pamac_transaction_interface_daemon_finalize (GObject * obj);
static GType pamac_transaction_interface_daemon_get_type_once (void);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);

static inline gpointer
pamac_transaction_interface_daemon_get_instance_private (PamacTransactionInterfaceDaemon* self)
{
	return G_STRUCT_MEMBER_P (self, PamacTransactionInterfaceDaemon_private_offset);
}

PamacTransactionInterfaceDaemon*
pamac_transaction_interface_daemon_construct (GType object_type,
                                              PamacConfig* config)
{
	PamacTransactionInterfaceDaemon * self = NULL;
	GError* _inner_error0_ = NULL;
	g_return_val_if_fail (config != NULL, NULL);
	self = (PamacTransactionInterfaceDaemon*) g_object_new (object_type, NULL);
	{
		gchar* _tmp0_ = NULL;
		PamacDaemon* _tmp1_;
		gchar* _tmp2_;
		gchar* _tmp3_;
		pamac_transaction_interface_daemon_connecting_system_daemon (self, config, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		pamac_transaction_interface_daemon_connecting_dbus_signals (self);
		_tmp1_ = self->priv->system_daemon;
		_tmp2_ = pamac_daemon_get_sender (_tmp1_, &_inner_error0_);
		_tmp0_ = _tmp2_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_tmp3_ = _tmp0_;
		_tmp0_ = NULL;
		_g_free0 (self->priv->sender);
		self->priv->sender = _tmp3_;
		_g_free0 (_tmp0_);
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GError* _tmp4_;
		const gchar* _tmp5_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp4_ = e;
		_tmp5_ = _tmp4_->message;
		g_warning ("transaction_interface_daemon.vala:58: failed to connect to dbus daemon" \
": %s", _tmp5_);
		_g_error_free0 (e);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return NULL;
	}
	return self;
}

PamacTransactionInterfaceDaemon*
pamac_transaction_interface_daemon_new (PamacConfig* config)
{
	return pamac_transaction_interface_daemon_construct (PAMAC_TYPE_TRANSACTION_INTERFACE_DAEMON, config);
}

static void
pamac_transaction_interface_daemon_real_get_authorization_data_free (gpointer _data)
{
	PamacTransactionInterfaceDaemonGetAuthorizationData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInterfaceDaemonGetAuthorizationData, _data_);
}

static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}

static void
pamac_transaction_interface_daemon_real_get_authorization (PamacTransactionInterface* base,
                                                           GAsyncReadyCallback _callback_,
                                                           gpointer _user_data_)
{
	PamacTransactionInterfaceDaemon * self;
	PamacTransactionInterfaceDaemonGetAuthorizationData* _data_;
	PamacTransactionInterfaceDaemon* _tmp0_;
	self = (PamacTransactionInterfaceDaemon*) base;
	_data_ = g_slice_new0 (PamacTransactionInterfaceDaemonGetAuthorizationData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_interface_daemon_real_get_authorization_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_interface_daemon_real_get_authorization_co (_data_);
}

static gboolean
pamac_transaction_interface_daemon_get_authorization_finish (PamacTransactionInterface* base,
                                                             GAsyncResult* _res_,
                                                             GError** error)
{
	gboolean result;
	PamacTransactionInterfaceDaemonGetAuthorizationData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		gboolean _tmp0_ = FALSE;
		return _tmp0_;
	}
	result = _data_->result;
	return result;
}

static gboolean
_pamac_transaction_interface_daemon_real_get_authorization_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_interface_daemon_real_get_authorization_co (self);
	return result;
}

static gpointer
_g_error_copy0 (gpointer self)
{
	return self ? g_error_copy (self) : NULL;
}

static gboolean
pamac_transaction_interface_daemon_real_get_authorization_co (PamacTransactionInterfaceDaemonGetAuthorizationData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->self->priv->get_authorization_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->get_authorization_callback_target_destroy_notify (_data_->self->priv->get_authorization_callback_target), NULL);
	_data_->self->priv->get_authorization_callback = NULL;
	_data_->self->priv->get_authorization_callback_target = NULL;
	_data_->self->priv->get_authorization_callback_target_destroy_notify = NULL;
	_data_->self->priv->get_authorization_callback = _pamac_transaction_interface_daemon_real_get_authorization_co_gsource_func;
	_data_->self->priv->get_authorization_callback_target = _data_;
	_data_->self->priv->get_authorization_callback_target_destroy_notify = NULL;
	{
		_data_->_tmp0_ = _data_->self->priv->system_daemon;
		pamac_daemon_start_get_authorization (_data_->_tmp0_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_state_ = 1;
		return FALSE;
		_state_1:
		;
		_data_->result = _data_->self->priv->get_authorization_authorized;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp1_ = _data_->e;
		_data_->_tmp2_ = _g_error_copy0 (_data_->_tmp1_);
		_data_->_inner_error0_ = _data_->_tmp2_;
		_g_error_free0 (_data_->e);
		goto __finally0;
	}
	__finally0:
	g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_interface_daemon_on_get_authorization_finished (PamacTransactionInterfaceDaemon* self,
                                                                  const gchar* sender,
                                                                  gboolean authorized)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		GSourceFunc _tmp1_;
		gpointer _tmp1__target;
		self->priv->get_authorization_authorized = authorized;
		_tmp1_ = self->priv->get_authorization_callback;
		_tmp1__target = self->priv->get_authorization_callback_target;
		_tmp1_ (_tmp1__target);
	}
}

static void
pamac_transaction_interface_daemon_real_remove_authorization (PamacTransactionInterface* base,
                                                              GError** error)
{
	PamacTransactionInterfaceDaemon * self;
	GError* _inner_error0_ = NULL;
	self = (PamacTransactionInterfaceDaemon*) base;
	{
		PamacDaemon* _tmp0_;
		_tmp0_ = self->priv->system_daemon;
		pamac_daemon_remove_authorization (_tmp0_, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GError* _tmp1_;
		GError* _tmp2_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp1_ = e;
		_tmp2_ = _g_error_copy0 (_tmp1_);
		_inner_error0_ = _tmp2_;
		_g_error_free0 (e);
		goto __finally0;
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

static void
pamac_transaction_interface_daemon_real_generate_mirrors_list_data_free (gpointer _data)
{
	PamacTransactionInterfaceDaemonGenerateMirrorsListData* _data_;
	_data_ = _data;
	_g_free0 (_data_->country);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInterfaceDaemonGenerateMirrorsListData, _data_);
}

static void
pamac_transaction_interface_daemon_real_generate_mirrors_list (PamacTransactionInterface* base,
                                                               const gchar* country,
                                                               GAsyncReadyCallback _callback_,
                                                               gpointer _user_data_)
{
	PamacTransactionInterfaceDaemon * self;
	PamacTransactionInterfaceDaemonGenerateMirrorsListData* _data_;
	PamacTransactionInterfaceDaemon* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (country != NULL);
	self = (PamacTransactionInterfaceDaemon*) base;
	_data_ = g_slice_new0 (PamacTransactionInterfaceDaemonGenerateMirrorsListData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_interface_daemon_real_generate_mirrors_list_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (country);
	_g_free0 (_data_->country);
	_data_->country = _tmp1_;
	pamac_transaction_interface_daemon_real_generate_mirrors_list_co (_data_);
}

static void
pamac_transaction_interface_daemon_generate_mirrors_list_finish (PamacTransactionInterface* base,
                                                                 GAsyncResult* _res_,
                                                                 GError** error)
{
	PamacTransactionInterfaceDaemonGenerateMirrorsListData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		return;
	}
}

static gboolean
_pamac_transaction_interface_daemon_real_generate_mirrors_list_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_interface_daemon_real_generate_mirrors_list_co (self);
	return result;
}

static gboolean
pamac_transaction_interface_daemon_real_generate_mirrors_list_co (PamacTransactionInterfaceDaemonGenerateMirrorsListData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->self->priv->generate_mirrors_list_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->generate_mirrors_list_callback_target_destroy_notify (_data_->self->priv->generate_mirrors_list_callback_target), NULL);
	_data_->self->priv->generate_mirrors_list_callback = NULL;
	_data_->self->priv->generate_mirrors_list_callback_target = NULL;
	_data_->self->priv->generate_mirrors_list_callback_target_destroy_notify = NULL;
	_data_->self->priv->generate_mirrors_list_callback = _pamac_transaction_interface_daemon_real_generate_mirrors_list_co_gsource_func;
	_data_->self->priv->generate_mirrors_list_callback_target = _data_;
	_data_->self->priv->generate_mirrors_list_callback_target_destroy_notify = NULL;
	{
		_data_->_tmp0_ = _data_->self->priv->system_daemon;
		pamac_daemon_start_generate_mirrors_list (_data_->_tmp0_, _data_->country, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_state_ = 1;
		return FALSE;
		_state_1:
		;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp1_ = _data_->e;
		_data_->_tmp2_ = _g_error_copy0 (_data_->_tmp1_);
		_data_->_inner_error0_ = _data_->_tmp2_;
		_g_error_free0 (_data_->e);
		goto __finally0;
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_interface_daemon_on_generate_mirrors_list_finished (PamacTransactionInterfaceDaemon* self,
                                                                      const gchar* sender)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		GSourceFunc _tmp1_;
		gpointer _tmp1__target;
		_tmp1_ = self->priv->generate_mirrors_list_callback;
		_tmp1__target = self->priv->generate_mirrors_list_callback_target;
		_tmp1_ (_tmp1__target);
	}
}

static void
pamac_transaction_interface_daemon_on_generate_mirrors_list_data (PamacTransactionInterfaceDaemon* self,
                                                                  const gchar* sender,
                                                                  const gchar* line)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	g_return_if_fail (line != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		g_signal_emit_by_name ((PamacTransactionInterface*) self, "generate-mirrors-list-data", line);
	}
}

static void
pamac_transaction_interface_daemon_real_clean_cache_data_free (gpointer _data)
{
	PamacTransactionInterfaceDaemonCleanCacheData* _data_;
	_data_ = _data;
	_g_ptr_array_unref0 (_data_->filenames);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInterfaceDaemonCleanCacheData, _data_);
}

static gpointer
_g_ptr_array_ref0 (gpointer self)
{
	return self ? g_ptr_array_ref (self) : NULL;
}

static void
pamac_transaction_interface_daemon_real_clean_cache (PamacTransactionInterface* base,
                                                     GPtrArray* filenames,
                                                     GAsyncReadyCallback _callback_,
                                                     gpointer _user_data_)
{
	PamacTransactionInterfaceDaemon * self;
	PamacTransactionInterfaceDaemonCleanCacheData* _data_;
	PamacTransactionInterfaceDaemon* _tmp0_;
	GPtrArray* _tmp1_;
	g_return_if_fail (filenames != NULL);
	self = (PamacTransactionInterfaceDaemon*) base;
	_data_ = g_slice_new0 (PamacTransactionInterfaceDaemonCleanCacheData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_interface_daemon_real_clean_cache_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = _g_ptr_array_ref0 (filenames);
	_g_ptr_array_unref0 (_data_->filenames);
	_data_->filenames = _tmp1_;
	pamac_transaction_interface_daemon_real_clean_cache_co (_data_);
}

static gboolean
pamac_transaction_interface_daemon_clean_cache_finish (PamacTransactionInterface* base,
                                                       GAsyncResult* _res_,
                                                       GError** error)
{
	gboolean result;
	PamacTransactionInterfaceDaemonCleanCacheData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		gboolean _tmp0_ = FALSE;
		return _tmp0_;
	}
	result = _data_->result;
	return result;
}

static gboolean
_pamac_transaction_interface_daemon_real_clean_cache_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_interface_daemon_real_clean_cache_co (self);
	return result;
}

static gboolean
pamac_transaction_interface_daemon_real_clean_cache_co (PamacTransactionInterfaceDaemonCleanCacheData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->self->priv->clean_cache_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->clean_cache_callback_target_destroy_notify (_data_->self->priv->clean_cache_callback_target), NULL);
	_data_->self->priv->clean_cache_callback = NULL;
	_data_->self->priv->clean_cache_callback_target = NULL;
	_data_->self->priv->clean_cache_callback_target_destroy_notify = NULL;
	_data_->self->priv->clean_cache_callback = _pamac_transaction_interface_daemon_real_clean_cache_co_gsource_func;
	_data_->self->priv->clean_cache_callback_target = _data_;
	_data_->self->priv->clean_cache_callback_target_destroy_notify = NULL;
	{
		_data_->_tmp0_ = _data_->self->priv->system_daemon;
		_data_->_tmp1_ = _data_->filenames->pdata;
		_data_->_tmp1__length1 = _data_->filenames->len;
		pamac_daemon_start_clean_cache (_data_->_tmp0_, _data_->_tmp1_, (gint) _data_->_tmp1__length1, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_state_ = 1;
		return FALSE;
		_state_1:
		;
		_data_->result = _data_->self->priv->clean_cache_success;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp2_ = _data_->e;
		_data_->_tmp3_ = _g_error_copy0 (_data_->_tmp2_);
		_data_->_inner_error0_ = _data_->_tmp3_;
		_g_error_free0 (_data_->e);
		goto __finally0;
	}
	__finally0:
	g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_interface_daemon_on_clean_cache_finished (PamacTransactionInterfaceDaemon* self,
                                                            const gchar* sender,
                                                            gboolean success)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		GSourceFunc _tmp1_;
		gpointer _tmp1__target;
		self->priv->clean_cache_success = success;
		_tmp1_ = self->priv->clean_cache_callback;
		_tmp1__target = self->priv->clean_cache_callback_target;
		_tmp1_ (_tmp1__target);
	}
}

static void
pamac_transaction_interface_daemon_real_clean_build_files_data_free (gpointer _data)
{
	PamacTransactionInterfaceDaemonCleanBuildFilesData* _data_;
	_data_ = _data;
	_g_free0 (_data_->aur_build_dir);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInterfaceDaemonCleanBuildFilesData, _data_);
}

static void
pamac_transaction_interface_daemon_real_clean_build_files (PamacTransactionInterface* base,
                                                           const gchar* aur_build_dir,
                                                           GAsyncReadyCallback _callback_,
                                                           gpointer _user_data_)
{
	PamacTransactionInterfaceDaemon * self;
	PamacTransactionInterfaceDaemonCleanBuildFilesData* _data_;
	PamacTransactionInterfaceDaemon* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (aur_build_dir != NULL);
	self = (PamacTransactionInterfaceDaemon*) base;
	_data_ = g_slice_new0 (PamacTransactionInterfaceDaemonCleanBuildFilesData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_interface_daemon_real_clean_build_files_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (aur_build_dir);
	_g_free0 (_data_->aur_build_dir);
	_data_->aur_build_dir = _tmp1_;
	pamac_transaction_interface_daemon_real_clean_build_files_co (_data_);
}

static gboolean
pamac_transaction_interface_daemon_clean_build_files_finish (PamacTransactionInterface* base,
                                                             GAsyncResult* _res_,
                                                             GError** error)
{
	gboolean result;
	PamacTransactionInterfaceDaemonCleanBuildFilesData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		gboolean _tmp0_ = FALSE;
		return _tmp0_;
	}
	result = _data_->result;
	return result;
}

static gboolean
_pamac_transaction_interface_daemon_real_clean_build_files_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_interface_daemon_real_clean_build_files_co (self);
	return result;
}

static gboolean
pamac_transaction_interface_daemon_real_clean_build_files_co (PamacTransactionInterfaceDaemonCleanBuildFilesData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->self->priv->clean_build_files_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->clean_build_files_callback_target_destroy_notify (_data_->self->priv->clean_build_files_callback_target), NULL);
	_data_->self->priv->clean_build_files_callback = NULL;
	_data_->self->priv->clean_build_files_callback_target = NULL;
	_data_->self->priv->clean_build_files_callback_target_destroy_notify = NULL;
	_data_->self->priv->clean_build_files_callback = _pamac_transaction_interface_daemon_real_clean_build_files_co_gsource_func;
	_data_->self->priv->clean_build_files_callback_target = _data_;
	_data_->self->priv->clean_build_files_callback_target_destroy_notify = NULL;
	{
		_data_->_tmp0_ = _data_->self->priv->system_daemon;
		pamac_daemon_start_clean_build_files (_data_->_tmp0_, _data_->aur_build_dir, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_state_ = 1;
		return FALSE;
		_state_1:
		;
		_data_->result = _data_->self->priv->clean_build_files_success;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp1_ = _data_->e;
		_data_->_tmp2_ = _g_error_copy0 (_data_->_tmp1_);
		_data_->_inner_error0_ = _data_->_tmp2_;
		_g_error_free0 (_data_->e);
		goto __finally0;
	}
	__finally0:
	g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_interface_daemon_on_clean_clean_build_files_finished (PamacTransactionInterfaceDaemon* self,
                                                                        const gchar* sender,
                                                                        gboolean success)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		GSourceFunc _tmp1_;
		gpointer _tmp1__target;
		self->priv->clean_build_files_success = success;
		_tmp1_ = self->priv->clean_build_files_callback;
		_tmp1__target = self->priv->clean_build_files_callback_target;
		_tmp1_ (_tmp1__target);
	}
}

static void
pamac_transaction_interface_daemon_real_set_pkgreason_data_free (gpointer _data)
{
	PamacTransactionInterfaceDaemonSetPkgreasonData* _data_;
	_data_ = _data;
	_g_free0 (_data_->pkgname);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInterfaceDaemonSetPkgreasonData, _data_);
}

static void
pamac_transaction_interface_daemon_real_set_pkgreason (PamacTransactionInterface* base,
                                                       const gchar* pkgname,
                                                       guint reason,
                                                       GAsyncReadyCallback _callback_,
                                                       gpointer _user_data_)
{
	PamacTransactionInterfaceDaemon * self;
	PamacTransactionInterfaceDaemonSetPkgreasonData* _data_;
	PamacTransactionInterfaceDaemon* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (pkgname != NULL);
	self = (PamacTransactionInterfaceDaemon*) base;
	_data_ = g_slice_new0 (PamacTransactionInterfaceDaemonSetPkgreasonData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_interface_daemon_real_set_pkgreason_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (pkgname);
	_g_free0 (_data_->pkgname);
	_data_->pkgname = _tmp1_;
	_data_->reason = reason;
	pamac_transaction_interface_daemon_real_set_pkgreason_co (_data_);
}

static gboolean
pamac_transaction_interface_daemon_set_pkgreason_finish (PamacTransactionInterface* base,
                                                         GAsyncResult* _res_,
                                                         GError** error)
{
	gboolean result;
	PamacTransactionInterfaceDaemonSetPkgreasonData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		gboolean _tmp0_ = FALSE;
		return _tmp0_;
	}
	result = _data_->result;
	return result;
}

static gboolean
_pamac_transaction_interface_daemon_real_set_pkgreason_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_interface_daemon_real_set_pkgreason_co (self);
	return result;
}

static gboolean
pamac_transaction_interface_daemon_real_set_pkgreason_co (PamacTransactionInterfaceDaemonSetPkgreasonData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->self->priv->set_pkgreason_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->set_pkgreason_callback_target_destroy_notify (_data_->self->priv->set_pkgreason_callback_target), NULL);
	_data_->self->priv->set_pkgreason_callback = NULL;
	_data_->self->priv->set_pkgreason_callback_target = NULL;
	_data_->self->priv->set_pkgreason_callback_target_destroy_notify = NULL;
	_data_->self->priv->set_pkgreason_callback = _pamac_transaction_interface_daemon_real_set_pkgreason_co_gsource_func;
	_data_->self->priv->set_pkgreason_callback_target = _data_;
	_data_->self->priv->set_pkgreason_callback_target_destroy_notify = NULL;
	{
		_data_->_tmp0_ = _data_->self->priv->system_daemon;
		pamac_daemon_start_set_pkgreason (_data_->_tmp0_, _data_->pkgname, _data_->reason, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_state_ = 1;
		return FALSE;
		_state_1:
		;
		_data_->result = _data_->self->priv->set_pkgreason_success;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp1_ = _data_->e;
		_data_->_tmp2_ = _g_error_copy0 (_data_->_tmp1_);
		_data_->_inner_error0_ = _data_->_tmp2_;
		_g_error_free0 (_data_->e);
		goto __finally0;
	}
	__finally0:
	g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_interface_daemon_on_set_pkgreason_finished (PamacTransactionInterfaceDaemon* self,
                                                              const gchar* sender,
                                                              gboolean success)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		GSourceFunc _tmp1_;
		gpointer _tmp1__target;
		self->priv->set_pkgreason_success = success;
		_tmp1_ = self->priv->set_pkgreason_callback;
		_tmp1__target = self->priv->set_pkgreason_callback_target;
		_tmp1_ (_tmp1__target);
	}
}

static void
pamac_transaction_interface_daemon_real_download_updates_data_free (gpointer _data)
{
	PamacTransactionInterfaceDaemonDownloadUpdatesData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInterfaceDaemonDownloadUpdatesData, _data_);
}

static void
pamac_transaction_interface_daemon_real_download_updates (PamacTransactionInterface* base,
                                                          GAsyncReadyCallback _callback_,
                                                          gpointer _user_data_)
{
	PamacTransactionInterfaceDaemon * self;
	PamacTransactionInterfaceDaemonDownloadUpdatesData* _data_;
	PamacTransactionInterfaceDaemon* _tmp0_;
	self = (PamacTransactionInterfaceDaemon*) base;
	_data_ = g_slice_new0 (PamacTransactionInterfaceDaemonDownloadUpdatesData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_interface_daemon_real_download_updates_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_interface_daemon_real_download_updates_co (_data_);
}

static gboolean
pamac_transaction_interface_daemon_download_updates_finish (PamacTransactionInterface* base,
                                                            GAsyncResult* _res_,
                                                            GError** error)
{
	gboolean result;
	PamacTransactionInterfaceDaemonDownloadUpdatesData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		gboolean _tmp0_ = FALSE;
		return _tmp0_;
	}
	result = _data_->result;
	return result;
}

static gboolean
_pamac_transaction_interface_daemon_real_download_updates_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_interface_daemon_real_download_updates_co (self);
	return result;
}

static gboolean
pamac_transaction_interface_daemon_real_download_updates_co (PamacTransactionInterfaceDaemonDownloadUpdatesData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->self->priv->download_updates_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->download_updates_callback_target_destroy_notify (_data_->self->priv->download_updates_callback_target), NULL);
	_data_->self->priv->download_updates_callback = NULL;
	_data_->self->priv->download_updates_callback_target = NULL;
	_data_->self->priv->download_updates_callback_target_destroy_notify = NULL;
	_data_->self->priv->download_updates_callback = _pamac_transaction_interface_daemon_real_download_updates_co_gsource_func;
	_data_->self->priv->download_updates_callback_target = _data_;
	_data_->self->priv->download_updates_callback_target_destroy_notify = NULL;
	{
		_data_->_tmp0_ = _data_->self->priv->system_daemon;
		pamac_daemon_start_download_updates (_data_->_tmp0_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_state_ = 1;
		return FALSE;
		_state_1:
		;
		_data_->result = _data_->self->priv->download_updates_success;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp1_ = _data_->e;
		_data_->_tmp2_ = _g_error_copy0 (_data_->_tmp1_);
		_data_->_inner_error0_ = _data_->_tmp2_;
		_g_error_free0 (_data_->e);
		goto __finally0;
	}
	__finally0:
	g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_interface_daemon_on_download_updates_finished (PamacTransactionInterfaceDaemon* self,
                                                                 const gchar* sender,
                                                                 gboolean success)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		GSourceFunc _tmp1_;
		gpointer _tmp1__target;
		self->priv->download_updates_success = success;
		_tmp1_ = self->priv->download_updates_callback;
		_tmp1__target = self->priv->download_updates_callback_target;
		_tmp1_ (_tmp1__target);
	}
}

static void
pamac_transaction_interface_daemon_real_download_pkgs_data_free (gpointer _data)
{
	PamacTransactionInterfaceDaemonDownloadPkgsData* _data_;
	_data_ = _data;
	_g_ptr_array_unref0 (_data_->urls);
	_data_->result = (_vala_array_free (_data_->result, _data_->result_length1, (GDestroyNotify) g_free), NULL);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInterfaceDaemonDownloadPkgsData, _data_);
}

static void
pamac_transaction_interface_daemon_real_download_pkgs (PamacTransactionInterface* base,
                                                       GPtrArray* urls,
                                                       GAsyncReadyCallback _callback_,
                                                       gpointer _user_data_)
{
	PamacTransactionInterfaceDaemon * self;
	PamacTransactionInterfaceDaemonDownloadPkgsData* _data_;
	PamacTransactionInterfaceDaemon* _tmp0_;
	GPtrArray* _tmp1_;
	g_return_if_fail (urls != NULL);
	self = (PamacTransactionInterfaceDaemon*) base;
	_data_ = g_slice_new0 (PamacTransactionInterfaceDaemonDownloadPkgsData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_interface_daemon_real_download_pkgs_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = _g_ptr_array_ref0 (urls);
	_g_ptr_array_unref0 (_data_->urls);
	_data_->urls = _tmp1_;
	pamac_transaction_interface_daemon_real_download_pkgs_co (_data_);
}

static gchar**
pamac_transaction_interface_daemon_download_pkgs_finish (PamacTransactionInterface* base,
                                                         GAsyncResult* _res_,
                                                         gint* result_length1,
                                                         GError** error)
{
	gchar** result;
	PamacTransactionInterfaceDaemonDownloadPkgsData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		return NULL;
	}
	result = _data_->result;
	*result_length1 = _data_->result_length1;
	_data_->result = NULL;
	return result;
}

static gboolean
_pamac_transaction_interface_daemon_real_download_pkgs_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_interface_daemon_real_download_pkgs_co (self);
	return result;
}

static gchar**
_vala_array_dup3 (gchar** self,
                  gssize length)
{
	if (length >= 0) {
		gchar** result;
		gssize i;
		result = g_new0 (gchar*, length + 1);
		for (i = 0; i < length; i++) {
			gchar* _tmp0_;
			_tmp0_ = g_strdup (self[i]);
			result[i] = _tmp0_;
		}
		return result;
	}
	return NULL;
}

static gboolean
pamac_transaction_interface_daemon_real_download_pkgs_co (PamacTransactionInterfaceDaemonDownloadPkgsData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->self->priv->download_pkgs_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->download_pkgs_callback_target_destroy_notify (_data_->self->priv->download_pkgs_callback_target), NULL);
	_data_->self->priv->download_pkgs_callback = NULL;
	_data_->self->priv->download_pkgs_callback_target = NULL;
	_data_->self->priv->download_pkgs_callback_target_destroy_notify = NULL;
	_data_->self->priv->download_pkgs_callback = _pamac_transaction_interface_daemon_real_download_pkgs_co_gsource_func;
	_data_->self->priv->download_pkgs_callback_target = _data_;
	_data_->self->priv->download_pkgs_callback_target_destroy_notify = NULL;
	{
		_data_->_tmp0_ = _data_->self->priv->system_daemon;
		_data_->_tmp1_ = _data_->urls->pdata;
		_data_->_tmp1__length1 = _data_->urls->len;
		pamac_daemon_start_download_pkgs (_data_->_tmp0_, _data_->_tmp1_, (gint) _data_->_tmp1__length1, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_state_ = 1;
		return FALSE;
		_state_1:
		;
		_data_->_tmp2_ = _data_->self->priv->download_paths;
		_data_->_tmp2__length1 = _data_->self->priv->download_paths_length1;
		_data_->_tmp3_ = (_data_->_tmp2_ != NULL) ? _vala_array_dup3 (_data_->_tmp2_, _data_->_tmp2__length1) : _data_->_tmp2_;
		_data_->_tmp3__length1 = _data_->_tmp2__length1;
		_data_->_tmp4_ = _data_->_tmp3_;
		_data_->_tmp4__length1 = _data_->_tmp3__length1;
		_data_->result_length1 = _data_->_tmp4__length1;
		_data_->result = _data_->_tmp4_;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp5_ = _data_->e;
		_data_->_tmp6_ = _g_error_copy0 (_data_->_tmp5_);
		_data_->_inner_error0_ = _data_->_tmp6_;
		_g_error_free0 (_data_->e);
		goto __finally0;
	}
	__finally0:
	g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static gchar**
_vala_array_dup4 (gchar** self,
                  gssize length)
{
	if (length >= 0) {
		gchar** result;
		gssize i;
		result = g_new0 (gchar*, length + 1);
		for (i = 0; i < length; i++) {
			gchar* _tmp0_;
			_tmp0_ = g_strdup (self[i]);
			result[i] = _tmp0_;
		}
		return result;
	}
	return NULL;
}

static void
pamac_transaction_interface_daemon_on_download_pkgs_finished (PamacTransactionInterfaceDaemon* self,
                                                              const gchar* sender,
                                                              gchar** dload_paths,
                                                              gint dload_paths_length1)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		gchar** _tmp1_;
		gint _tmp1__length1;
		GSourceFunc _tmp2_;
		gpointer _tmp2__target;
		_tmp1_ = (dload_paths != NULL) ? _vala_array_dup4 (dload_paths, dload_paths_length1) : dload_paths;
		_tmp1__length1 = dload_paths_length1;
		self->priv->download_paths = (_vala_array_free (self->priv->download_paths, self->priv->download_paths_length1, (GDestroyNotify) g_free), NULL);
		self->priv->download_paths = _tmp1_;
		self->priv->download_paths_length1 = _tmp1__length1;
		self->priv->_download_paths_size_ = self->priv->download_paths_length1;
		_tmp2_ = self->priv->download_pkgs_callback;
		_tmp2__target = self->priv->download_pkgs_callback_target;
		_tmp2_ (_tmp2__target);
	}
}

static void
pamac_transaction_interface_daemon_real_trans_refresh_data_free (gpointer _data)
{
	PamacTransactionInterfaceDaemonTransRefreshData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInterfaceDaemonTransRefreshData, _data_);
}

static void
pamac_transaction_interface_daemon_real_trans_refresh (PamacTransactionInterface* base,
                                                       gboolean force,
                                                       GAsyncReadyCallback _callback_,
                                                       gpointer _user_data_)
{
	PamacTransactionInterfaceDaemon * self;
	PamacTransactionInterfaceDaemonTransRefreshData* _data_;
	PamacTransactionInterfaceDaemon* _tmp0_;
	self = (PamacTransactionInterfaceDaemon*) base;
	_data_ = g_slice_new0 (PamacTransactionInterfaceDaemonTransRefreshData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_interface_daemon_real_trans_refresh_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_data_->force = force;
	pamac_transaction_interface_daemon_real_trans_refresh_co (_data_);
}

static gboolean
pamac_transaction_interface_daemon_trans_refresh_finish (PamacTransactionInterface* base,
                                                         GAsyncResult* _res_,
                                                         GError** error)
{
	gboolean result;
	PamacTransactionInterfaceDaemonTransRefreshData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		gboolean _tmp0_ = FALSE;
		return _tmp0_;
	}
	result = _data_->result;
	return result;
}

static gboolean
_pamac_transaction_interface_daemon_real_trans_refresh_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_interface_daemon_real_trans_refresh_co (self);
	return result;
}

static gboolean
pamac_transaction_interface_daemon_real_trans_refresh_co (PamacTransactionInterfaceDaemonTransRefreshData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->self->priv->trans_refresh_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->trans_refresh_callback_target_destroy_notify (_data_->self->priv->trans_refresh_callback_target), NULL);
	_data_->self->priv->trans_refresh_callback = NULL;
	_data_->self->priv->trans_refresh_callback_target = NULL;
	_data_->self->priv->trans_refresh_callback_target_destroy_notify = NULL;
	_data_->self->priv->trans_refresh_callback = _pamac_transaction_interface_daemon_real_trans_refresh_co_gsource_func;
	_data_->self->priv->trans_refresh_callback_target = _data_;
	_data_->self->priv->trans_refresh_callback_target_destroy_notify = NULL;
	{
		_data_->_tmp0_ = _data_->self->priv->system_daemon;
		pamac_daemon_start_trans_refresh (_data_->_tmp0_, _data_->force, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_state_ = 1;
		return FALSE;
		_state_1:
		;
		_data_->result = _data_->self->priv->trans_refresh_success;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp1_ = _data_->e;
		_data_->_tmp2_ = _g_error_copy0 (_data_->_tmp1_);
		_data_->_inner_error0_ = _data_->_tmp2_;
		_g_error_free0 (_data_->e);
		goto __finally0;
	}
	__finally0:
	g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_interface_daemon_on_trans_refresh_finished (PamacTransactionInterfaceDaemon* self,
                                                              const gchar* sender,
                                                              gboolean success)
{
	const gchar* _tmp0_;
	GSourceFunc _tmp1_;
	gpointer _tmp1__target;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) != 0) {
		return;
	}
	self->priv->trans_refresh_success = success;
	_tmp1_ = self->priv->trans_refresh_callback;
	_tmp1__target = self->priv->trans_refresh_callback_target;
	_tmp1_ (_tmp1__target);
}

static void
pamac_transaction_interface_daemon_real_trans_refresh_files_data_free (gpointer _data)
{
	PamacTransactionInterfaceDaemonTransRefreshFilesData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInterfaceDaemonTransRefreshFilesData, _data_);
}

static void
pamac_transaction_interface_daemon_real_trans_refresh_files (PamacTransactionInterface* base,
                                                             gboolean force,
                                                             GAsyncReadyCallback _callback_,
                                                             gpointer _user_data_)
{
	PamacTransactionInterfaceDaemon * self;
	PamacTransactionInterfaceDaemonTransRefreshFilesData* _data_;
	PamacTransactionInterfaceDaemon* _tmp0_;
	self = (PamacTransactionInterfaceDaemon*) base;
	_data_ = g_slice_new0 (PamacTransactionInterfaceDaemonTransRefreshFilesData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_interface_daemon_real_trans_refresh_files_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_data_->force = force;
	pamac_transaction_interface_daemon_real_trans_refresh_files_co (_data_);
}

static gboolean
pamac_transaction_interface_daemon_trans_refresh_files_finish (PamacTransactionInterface* base,
                                                               GAsyncResult* _res_,
                                                               GError** error)
{
	gboolean result;
	PamacTransactionInterfaceDaemonTransRefreshFilesData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		gboolean _tmp0_ = FALSE;
		return _tmp0_;
	}
	result = _data_->result;
	return result;
}

static gboolean
_pamac_transaction_interface_daemon_real_trans_refresh_files_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_interface_daemon_real_trans_refresh_files_co (self);
	return result;
}

static gboolean
pamac_transaction_interface_daemon_real_trans_refresh_files_co (PamacTransactionInterfaceDaemonTransRefreshFilesData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->self->priv->trans_refresh_files_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->trans_refresh_files_callback_target_destroy_notify (_data_->self->priv->trans_refresh_files_callback_target), NULL);
	_data_->self->priv->trans_refresh_files_callback = NULL;
	_data_->self->priv->trans_refresh_files_callback_target = NULL;
	_data_->self->priv->trans_refresh_files_callback_target_destroy_notify = NULL;
	_data_->self->priv->trans_refresh_files_callback = _pamac_transaction_interface_daemon_real_trans_refresh_files_co_gsource_func;
	_data_->self->priv->trans_refresh_files_callback_target = _data_;
	_data_->self->priv->trans_refresh_files_callback_target_destroy_notify = NULL;
	{
		_data_->_tmp0_ = _data_->self->priv->system_daemon;
		pamac_daemon_start_trans_refresh_files (_data_->_tmp0_, _data_->force, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_state_ = 1;
		return FALSE;
		_state_1:
		;
		_data_->result = _data_->self->priv->trans_refresh_files_success;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp1_ = _data_->e;
		_data_->_tmp2_ = _g_error_copy0 (_data_->_tmp1_);
		_data_->_inner_error0_ = _data_->_tmp2_;
		_g_error_free0 (_data_->e);
		goto __finally0;
	}
	__finally0:
	g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_interface_daemon_on_trans_refresh_files_finished (PamacTransactionInterfaceDaemon* self,
                                                                    const gchar* sender,
                                                                    gboolean success)
{
	const gchar* _tmp0_;
	GSourceFunc _tmp1_;
	gpointer _tmp1__target;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) != 0) {
		return;
	}
	self->priv->trans_refresh_files_success = success;
	_tmp1_ = self->priv->trans_refresh_files_callback;
	_tmp1__target = self->priv->trans_refresh_files_callback_target;
	_tmp1_ (_tmp1__target);
}

static void
pamac_transaction_interface_daemon_real_trans_refresh_aur_data_free (gpointer _data)
{
	PamacTransactionInterfaceDaemonTransRefreshAurData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInterfaceDaemonTransRefreshAurData, _data_);
}

static void
pamac_transaction_interface_daemon_real_trans_refresh_aur (PamacTransactionInterface* base,
                                                           gboolean force,
                                                           GAsyncReadyCallback _callback_,
                                                           gpointer _user_data_)
{
	PamacTransactionInterfaceDaemon * self;
	PamacTransactionInterfaceDaemonTransRefreshAurData* _data_;
	PamacTransactionInterfaceDaemon* _tmp0_;
	self = (PamacTransactionInterfaceDaemon*) base;
	_data_ = g_slice_new0 (PamacTransactionInterfaceDaemonTransRefreshAurData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_interface_daemon_real_trans_refresh_aur_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_data_->force = force;
	pamac_transaction_interface_daemon_real_trans_refresh_aur_co (_data_);
}

static gboolean
pamac_transaction_interface_daemon_trans_refresh_aur_finish (PamacTransactionInterface* base,
                                                             GAsyncResult* _res_,
                                                             GError** error)
{
	gboolean result;
	PamacTransactionInterfaceDaemonTransRefreshAurData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		gboolean _tmp0_ = FALSE;
		return _tmp0_;
	}
	result = _data_->result;
	return result;
}

static gboolean
_pamac_transaction_interface_daemon_real_trans_refresh_aur_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_interface_daemon_real_trans_refresh_aur_co (self);
	return result;
}

static gboolean
pamac_transaction_interface_daemon_real_trans_refresh_aur_co (PamacTransactionInterfaceDaemonTransRefreshAurData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->self->priv->trans_refresh_aur_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->trans_refresh_aur_callback_target_destroy_notify (_data_->self->priv->trans_refresh_aur_callback_target), NULL);
	_data_->self->priv->trans_refresh_aur_callback = NULL;
	_data_->self->priv->trans_refresh_aur_callback_target = NULL;
	_data_->self->priv->trans_refresh_aur_callback_target_destroy_notify = NULL;
	_data_->self->priv->trans_refresh_aur_callback = _pamac_transaction_interface_daemon_real_trans_refresh_aur_co_gsource_func;
	_data_->self->priv->trans_refresh_aur_callback_target = _data_;
	_data_->self->priv->trans_refresh_aur_callback_target_destroy_notify = NULL;
	{
		_data_->_tmp0_ = _data_->self->priv->system_daemon;
		pamac_daemon_start_trans_refresh_aur (_data_->_tmp0_, _data_->force, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_state_ = 1;
		return FALSE;
		_state_1:
		;
		_data_->result = _data_->self->priv->trans_refresh_aur_success;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp1_ = _data_->e;
		_data_->_tmp2_ = _g_error_copy0 (_data_->_tmp1_);
		_data_->_inner_error0_ = _data_->_tmp2_;
		_g_error_free0 (_data_->e);
		goto __finally0;
	}
	__finally0:
	g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_interface_daemon_on_trans_refresh_aur_finished (PamacTransactionInterfaceDaemon* self,
                                                                  const gchar* sender,
                                                                  gboolean success)
{
	const gchar* _tmp0_;
	GSourceFunc _tmp1_;
	gpointer _tmp1__target;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) != 0) {
		return;
	}
	self->priv->trans_refresh_aur_success = success;
	_tmp1_ = self->priv->trans_refresh_aur_callback;
	_tmp1__target = self->priv->trans_refresh_aur_callback_target;
	_tmp1_ (_tmp1__target);
}

static void
pamac_transaction_interface_daemon_real_trans_run_data_free (gpointer _data)
{
	PamacTransactionInterfaceDaemonTransRunData* _data_;
	_data_ = _data;
	_g_ptr_array_unref0 (_data_->to_install);
	_g_ptr_array_unref0 (_data_->to_remove);
	_g_ptr_array_unref0 (_data_->to_load_local);
	_g_ptr_array_unref0 (_data_->to_load_remote);
	_g_ptr_array_unref0 (_data_->to_install_as_dep);
	_g_ptr_array_unref0 (_data_->ignorepkgs);
	_g_ptr_array_unref0 (_data_->overwrite_files);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInterfaceDaemonTransRunData, _data_);
}

static void
pamac_transaction_interface_daemon_real_trans_run (PamacTransactionInterface* base,
                                                   gboolean sysupgrade,
                                                   gboolean enable_downgrade,
                                                   gboolean simple_install,
                                                   gboolean keep_built_pkgs,
                                                   gint trans_flags,
                                                   GPtrArray* to_install,
                                                   GPtrArray* to_remove,
                                                   GPtrArray* to_load_local,
                                                   GPtrArray* to_load_remote,
                                                   GPtrArray* to_install_as_dep,
                                                   GPtrArray* ignorepkgs,
                                                   GPtrArray* overwrite_files,
                                                   GAsyncReadyCallback _callback_,
                                                   gpointer _user_data_)
{
	PamacTransactionInterfaceDaemon * self;
	PamacTransactionInterfaceDaemonTransRunData* _data_;
	PamacTransactionInterfaceDaemon* _tmp0_;
	GPtrArray* _tmp1_;
	GPtrArray* _tmp2_;
	GPtrArray* _tmp3_;
	GPtrArray* _tmp4_;
	GPtrArray* _tmp5_;
	GPtrArray* _tmp6_;
	GPtrArray* _tmp7_;
	g_return_if_fail (to_install != NULL);
	g_return_if_fail (to_remove != NULL);
	g_return_if_fail (to_load_local != NULL);
	g_return_if_fail (to_load_remote != NULL);
	g_return_if_fail (to_install_as_dep != NULL);
	g_return_if_fail (ignorepkgs != NULL);
	g_return_if_fail (overwrite_files != NULL);
	self = (PamacTransactionInterfaceDaemon*) base;
	_data_ = g_slice_new0 (PamacTransactionInterfaceDaemonTransRunData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_interface_daemon_real_trans_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_data_->sysupgrade = sysupgrade;
	_data_->enable_downgrade = enable_downgrade;
	_data_->simple_install = simple_install;
	_data_->keep_built_pkgs = keep_built_pkgs;
	_data_->trans_flags = trans_flags;
	_tmp1_ = _g_ptr_array_ref0 (to_install);
	_g_ptr_array_unref0 (_data_->to_install);
	_data_->to_install = _tmp1_;
	_tmp2_ = _g_ptr_array_ref0 (to_remove);
	_g_ptr_array_unref0 (_data_->to_remove);
	_data_->to_remove = _tmp2_;
	_tmp3_ = _g_ptr_array_ref0 (to_load_local);
	_g_ptr_array_unref0 (_data_->to_load_local);
	_data_->to_load_local = _tmp3_;
	_tmp4_ = _g_ptr_array_ref0 (to_load_remote);
	_g_ptr_array_unref0 (_data_->to_load_remote);
	_data_->to_load_remote = _tmp4_;
	_tmp5_ = _g_ptr_array_ref0 (to_install_as_dep);
	_g_ptr_array_unref0 (_data_->to_install_as_dep);
	_data_->to_install_as_dep = _tmp5_;
	_tmp6_ = _g_ptr_array_ref0 (ignorepkgs);
	_g_ptr_array_unref0 (_data_->ignorepkgs);
	_data_->ignorepkgs = _tmp6_;
	_tmp7_ = _g_ptr_array_ref0 (overwrite_files);
	_g_ptr_array_unref0 (_data_->overwrite_files);
	_data_->overwrite_files = _tmp7_;
	pamac_transaction_interface_daemon_real_trans_run_co (_data_);
}

static gboolean
pamac_transaction_interface_daemon_trans_run_finish (PamacTransactionInterface* base,
                                                     GAsyncResult* _res_,
                                                     GError** error)
{
	gboolean result;
	PamacTransactionInterfaceDaemonTransRunData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		gboolean _tmp0_ = FALSE;
		return _tmp0_;
	}
	result = _data_->result;
	return result;
}

static gboolean
_pamac_transaction_interface_daemon_real_trans_run_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_interface_daemon_real_trans_run_co (self);
	return result;
}

static gboolean
pamac_transaction_interface_daemon_real_trans_run_co (PamacTransactionInterfaceDaemonTransRunData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->self->priv->trans_run_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->trans_run_callback_target_destroy_notify (_data_->self->priv->trans_run_callback_target), NULL);
	_data_->self->priv->trans_run_callback = NULL;
	_data_->self->priv->trans_run_callback_target = NULL;
	_data_->self->priv->trans_run_callback_target_destroy_notify = NULL;
	_data_->self->priv->trans_run_callback = _pamac_transaction_interface_daemon_real_trans_run_co_gsource_func;
	_data_->self->priv->trans_run_callback_target = _data_;
	_data_->self->priv->trans_run_callback_target_destroy_notify = NULL;
	{
		_data_->_tmp0_ = _data_->self->priv->system_daemon;
		_data_->_tmp1_ = _data_->to_install->pdata;
		_data_->_tmp1__length1 = _data_->to_install->len;
		_data_->_tmp2_ = _data_->to_remove->pdata;
		_data_->_tmp2__length1 = _data_->to_remove->len;
		_data_->_tmp3_ = _data_->to_load_local->pdata;
		_data_->_tmp3__length1 = _data_->to_load_local->len;
		_data_->_tmp4_ = _data_->to_load_remote->pdata;
		_data_->_tmp4__length1 = _data_->to_load_remote->len;
		_data_->_tmp5_ = _data_->to_install_as_dep->pdata;
		_data_->_tmp5__length1 = _data_->to_install_as_dep->len;
		_data_->_tmp6_ = _data_->ignorepkgs->pdata;
		_data_->_tmp6__length1 = _data_->ignorepkgs->len;
		_data_->_tmp7_ = _data_->overwrite_files->pdata;
		_data_->_tmp7__length1 = _data_->overwrite_files->len;
		pamac_daemon_start_trans_run (_data_->_tmp0_, _data_->sysupgrade, _data_->enable_downgrade, _data_->simple_install, _data_->keep_built_pkgs, _data_->trans_flags, _data_->_tmp1_, (gint) _data_->_tmp1__length1, _data_->_tmp2_, (gint) _data_->_tmp2__length1, _data_->_tmp3_, (gint) _data_->_tmp3__length1, _data_->_tmp4_, (gint) _data_->_tmp4__length1, _data_->_tmp5_, (gint) _data_->_tmp5__length1, _data_->_tmp6_, (gint) _data_->_tmp6__length1, _data_->_tmp7_, (gint) _data_->_tmp7__length1, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_state_ = 1;
		return FALSE;
		_state_1:
		;
		_data_->result = _data_->self->priv->trans_run_success;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp8_ = _data_->e;
		_data_->_tmp9_ = _g_error_copy0 (_data_->_tmp8_);
		_data_->_inner_error0_ = _data_->_tmp9_;
		_g_error_free0 (_data_->e);
		goto __finally0;
	}
	__finally0:
	g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_interface_daemon_on_trans_run_finished (PamacTransactionInterfaceDaemon* self,
                                                          const gchar* sender,
                                                          gboolean success)
{
	const gchar* _tmp0_;
	GSourceFunc _tmp1_;
	gpointer _tmp1__target;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) != 0) {
		return;
	}
	self->priv->trans_run_success = success;
	_tmp1_ = self->priv->trans_run_callback;
	_tmp1__target = self->priv->trans_run_callback_target;
	_tmp1_ (_tmp1__target);
}

static void
pamac_transaction_interface_daemon_real_trans_cancel (PamacTransactionInterface* base,
                                                      GError** error)
{
	PamacTransactionInterfaceDaemon * self;
	GError* _inner_error0_ = NULL;
	self = (PamacTransactionInterfaceDaemon*) base;
	{
		PamacDaemon* _tmp0_;
		_tmp0_ = self->priv->system_daemon;
		pamac_daemon_trans_cancel (_tmp0_, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GError* _tmp1_;
		GError* _tmp2_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp1_ = e;
		_tmp2_ = _g_error_copy0 (_tmp1_);
		_inner_error0_ = _tmp2_;
		_g_error_free0 (e);
		goto __finally0;
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

static void
pamac_transaction_interface_daemon_real_snap_trans_run_data_free (gpointer _data)
{
	PamacTransactionInterfaceDaemonSnapTransRunData* _data_;
	_data_ = _data;
	_g_ptr_array_unref0 (_data_->to_install);
	_g_ptr_array_unref0 (_data_->to_remove);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInterfaceDaemonSnapTransRunData, _data_);
}

static void
pamac_transaction_interface_daemon_real_snap_trans_run (PamacTransactionInterface* base,
                                                        GPtrArray* to_install,
                                                        GPtrArray* to_remove,
                                                        GAsyncReadyCallback _callback_,
                                                        gpointer _user_data_)
{
	PamacTransactionInterfaceDaemon * self;
	PamacTransactionInterfaceDaemonSnapTransRunData* _data_;
	PamacTransactionInterfaceDaemon* _tmp0_;
	GPtrArray* _tmp1_;
	GPtrArray* _tmp2_;
	g_return_if_fail (to_install != NULL);
	g_return_if_fail (to_remove != NULL);
	self = (PamacTransactionInterfaceDaemon*) base;
	_data_ = g_slice_new0 (PamacTransactionInterfaceDaemonSnapTransRunData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_interface_daemon_real_snap_trans_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = _g_ptr_array_ref0 (to_install);
	_g_ptr_array_unref0 (_data_->to_install);
	_data_->to_install = _tmp1_;
	_tmp2_ = _g_ptr_array_ref0 (to_remove);
	_g_ptr_array_unref0 (_data_->to_remove);
	_data_->to_remove = _tmp2_;
	pamac_transaction_interface_daemon_real_snap_trans_run_co (_data_);
}

static gboolean
pamac_transaction_interface_daemon_snap_trans_run_finish (PamacTransactionInterface* base,
                                                          GAsyncResult* _res_,
                                                          GError** error)
{
	gboolean result;
	PamacTransactionInterfaceDaemonSnapTransRunData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		gboolean _tmp0_ = FALSE;
		return _tmp0_;
	}
	result = _data_->result;
	return result;
}

static gboolean
_pamac_transaction_interface_daemon_real_snap_trans_run_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_interface_daemon_real_snap_trans_run_co (self);
	return result;
}

static gboolean
pamac_transaction_interface_daemon_real_snap_trans_run_co (PamacTransactionInterfaceDaemonSnapTransRunData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->self->priv->snap_trans_run_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->snap_trans_run_callback_target_destroy_notify (_data_->self->priv->snap_trans_run_callback_target), NULL);
	_data_->self->priv->snap_trans_run_callback = NULL;
	_data_->self->priv->snap_trans_run_callback_target = NULL;
	_data_->self->priv->snap_trans_run_callback_target_destroy_notify = NULL;
	_data_->self->priv->snap_trans_run_callback = _pamac_transaction_interface_daemon_real_snap_trans_run_co_gsource_func;
	_data_->self->priv->snap_trans_run_callback_target = _data_;
	_data_->self->priv->snap_trans_run_callback_target_destroy_notify = NULL;
	{
		_data_->_tmp0_ = _data_->self->priv->system_daemon;
		_data_->_tmp1_ = _data_->to_install->pdata;
		_data_->_tmp1__length1 = _data_->to_install->len;
		_data_->_tmp2_ = _data_->to_remove->pdata;
		_data_->_tmp2__length1 = _data_->to_remove->len;
		pamac_daemon_start_snap_trans_run (_data_->_tmp0_, _data_->_tmp1_, (gint) _data_->_tmp1__length1, _data_->_tmp2_, (gint) _data_->_tmp2__length1, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_state_ = 1;
		return FALSE;
		_state_1:
		;
		_data_->result = _data_->self->priv->snap_trans_run_success;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp3_ = _data_->e;
		_data_->_tmp4_ = _g_error_copy0 (_data_->_tmp3_);
		_data_->_inner_error0_ = _data_->_tmp4_;
		_g_error_free0 (_data_->e);
		goto __finally0;
	}
	__finally0:
	g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_interface_daemon_on_snap_trans_run_finished (PamacTransactionInterfaceDaemon* self,
                                                               const gchar* sender,
                                                               gboolean success)
{
	const gchar* _tmp0_;
	GSourceFunc _tmp1_;
	gpointer _tmp1__target;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) != 0) {
		return;
	}
	self->priv->snap_trans_run_success = success;
	_tmp1_ = self->priv->snap_trans_run_callback;
	_tmp1__target = self->priv->snap_trans_run_callback_target;
	_tmp1_ (_tmp1__target);
}

static void
pamac_transaction_interface_daemon_real_snap_switch_channel_data_free (gpointer _data)
{
	PamacTransactionInterfaceDaemonSnapSwitchChannelData* _data_;
	_data_ = _data;
	_g_free0 (_data_->snap_name);
	_g_free0 (_data_->channel);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInterfaceDaemonSnapSwitchChannelData, _data_);
}

static void
pamac_transaction_interface_daemon_real_snap_switch_channel (PamacTransactionInterface* base,
                                                             const gchar* snap_name,
                                                             const gchar* channel,
                                                             GAsyncReadyCallback _callback_,
                                                             gpointer _user_data_)
{
	PamacTransactionInterfaceDaemon * self;
	PamacTransactionInterfaceDaemonSnapSwitchChannelData* _data_;
	PamacTransactionInterfaceDaemon* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	g_return_if_fail (snap_name != NULL);
	g_return_if_fail (channel != NULL);
	self = (PamacTransactionInterfaceDaemon*) base;
	_data_ = g_slice_new0 (PamacTransactionInterfaceDaemonSnapSwitchChannelData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_interface_daemon_real_snap_switch_channel_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (snap_name);
	_g_free0 (_data_->snap_name);
	_data_->snap_name = _tmp1_;
	_tmp2_ = g_strdup (channel);
	_g_free0 (_data_->channel);
	_data_->channel = _tmp2_;
	pamac_transaction_interface_daemon_real_snap_switch_channel_co (_data_);
}

static gboolean
pamac_transaction_interface_daemon_snap_switch_channel_finish (PamacTransactionInterface* base,
                                                               GAsyncResult* _res_,
                                                               GError** error)
{
	gboolean result;
	PamacTransactionInterfaceDaemonSnapSwitchChannelData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		gboolean _tmp0_ = FALSE;
		return _tmp0_;
	}
	result = _data_->result;
	return result;
}

static gboolean
_pamac_transaction_interface_daemon_real_snap_switch_channel_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_interface_daemon_real_snap_switch_channel_co (self);
	return result;
}

static gboolean
pamac_transaction_interface_daemon_real_snap_switch_channel_co (PamacTransactionInterfaceDaemonSnapSwitchChannelData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->self->priv->snap_switch_channel_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->snap_switch_channel_callback_target_destroy_notify (_data_->self->priv->snap_switch_channel_callback_target), NULL);
	_data_->self->priv->snap_switch_channel_callback = NULL;
	_data_->self->priv->snap_switch_channel_callback_target = NULL;
	_data_->self->priv->snap_switch_channel_callback_target_destroy_notify = NULL;
	_data_->self->priv->snap_switch_channel_callback = _pamac_transaction_interface_daemon_real_snap_switch_channel_co_gsource_func;
	_data_->self->priv->snap_switch_channel_callback_target = _data_;
	_data_->self->priv->snap_switch_channel_callback_target_destroy_notify = NULL;
	{
		_data_->_tmp0_ = _data_->self->priv->system_daemon;
		pamac_daemon_start_snap_switch_channel (_data_->_tmp0_, _data_->snap_name, _data_->channel, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_state_ = 1;
		return FALSE;
		_state_1:
		;
		_data_->result = _data_->self->priv->snap_switch_channel_success;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp1_ = _data_->e;
		_data_->_tmp2_ = _g_error_copy0 (_data_->_tmp1_);
		_data_->_inner_error0_ = _data_->_tmp2_;
		_g_error_free0 (_data_->e);
		goto __finally0;
	}
	__finally0:
	g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_interface_daemon_on_snap_switch_channel_finished (PamacTransactionInterfaceDaemon* self,
                                                                    const gchar* sender,
                                                                    gboolean success)
{
	const gchar* _tmp0_;
	GSourceFunc _tmp1_;
	gpointer _tmp1__target;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) != 0) {
		return;
	}
	self->priv->snap_switch_channel_success = success;
	_tmp1_ = self->priv->snap_switch_channel_callback;
	_tmp1__target = self->priv->snap_switch_channel_callback_target;
	_tmp1_ (_tmp1__target);
}

static void
pamac_transaction_interface_daemon_real_flatpak_trans_run_data_free (gpointer _data)
{
	PamacTransactionInterfaceDaemonFlatpakTransRunData* _data_;
	_data_ = _data;
	_g_ptr_array_unref0 (_data_->to_install);
	_g_ptr_array_unref0 (_data_->to_remove);
	_g_ptr_array_unref0 (_data_->to_upgrade);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInterfaceDaemonFlatpakTransRunData, _data_);
}

static void
pamac_transaction_interface_daemon_real_flatpak_trans_run (PamacTransactionInterface* base,
                                                           GPtrArray* to_install,
                                                           GPtrArray* to_remove,
                                                           GPtrArray* to_upgrade,
                                                           GAsyncReadyCallback _callback_,
                                                           gpointer _user_data_)
{
	PamacTransactionInterfaceDaemon * self;
	PamacTransactionInterfaceDaemonFlatpakTransRunData* _data_;
	PamacTransactionInterfaceDaemon* _tmp0_;
	GPtrArray* _tmp1_;
	GPtrArray* _tmp2_;
	GPtrArray* _tmp3_;
	g_return_if_fail (to_install != NULL);
	g_return_if_fail (to_remove != NULL);
	g_return_if_fail (to_upgrade != NULL);
	self = (PamacTransactionInterfaceDaemon*) base;
	_data_ = g_slice_new0 (PamacTransactionInterfaceDaemonFlatpakTransRunData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_interface_daemon_real_flatpak_trans_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = _g_ptr_array_ref0 (to_install);
	_g_ptr_array_unref0 (_data_->to_install);
	_data_->to_install = _tmp1_;
	_tmp2_ = _g_ptr_array_ref0 (to_remove);
	_g_ptr_array_unref0 (_data_->to_remove);
	_data_->to_remove = _tmp2_;
	_tmp3_ = _g_ptr_array_ref0 (to_upgrade);
	_g_ptr_array_unref0 (_data_->to_upgrade);
	_data_->to_upgrade = _tmp3_;
	pamac_transaction_interface_daemon_real_flatpak_trans_run_co (_data_);
}

static gboolean
pamac_transaction_interface_daemon_flatpak_trans_run_finish (PamacTransactionInterface* base,
                                                             GAsyncResult* _res_,
                                                             GError** error)
{
	gboolean result;
	PamacTransactionInterfaceDaemonFlatpakTransRunData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
	if (NULL == _data_) {
		gboolean _tmp0_ = FALSE;
		return _tmp0_;
	}
	result = _data_->result;
	return result;
}

static gboolean
_pamac_transaction_interface_daemon_real_flatpak_trans_run_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_interface_daemon_real_flatpak_trans_run_co (self);
	return result;
}

static gboolean
pamac_transaction_interface_daemon_real_flatpak_trans_run_co (PamacTransactionInterfaceDaemonFlatpakTransRunData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	(_data_->self->priv->flatpak_trans_run_callback_target_destroy_notify == NULL) ? NULL : (_data_->self->priv->flatpak_trans_run_callback_target_destroy_notify (_data_->self->priv->flatpak_trans_run_callback_target), NULL);
	_data_->self->priv->flatpak_trans_run_callback = NULL;
	_data_->self->priv->flatpak_trans_run_callback_target = NULL;
	_data_->self->priv->flatpak_trans_run_callback_target_destroy_notify = NULL;
	_data_->self->priv->flatpak_trans_run_callback = _pamac_transaction_interface_daemon_real_flatpak_trans_run_co_gsource_func;
	_data_->self->priv->flatpak_trans_run_callback_target = _data_;
	_data_->self->priv->flatpak_trans_run_callback_target_destroy_notify = NULL;
	{
		_data_->_tmp0_ = _data_->self->priv->system_daemon;
		_data_->_tmp1_ = _data_->to_install->pdata;
		_data_->_tmp1__length1 = _data_->to_install->len;
		_data_->_tmp2_ = _data_->to_remove->pdata;
		_data_->_tmp2__length1 = _data_->to_remove->len;
		_data_->_tmp3_ = _data_->to_upgrade->pdata;
		_data_->_tmp3__length1 = _data_->to_upgrade->len;
		pamac_daemon_start_flatpak_trans_run (_data_->_tmp0_, _data_->_tmp1_, (gint) _data_->_tmp1__length1, _data_->_tmp2_, (gint) _data_->_tmp2__length1, _data_->_tmp3_, (gint) _data_->_tmp3__length1, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_state_ = 1;
		return FALSE;
		_state_1:
		;
		_data_->result = _data_->self->priv->flatpak_trans_run_success;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp4_ = _data_->e;
		_data_->_tmp5_ = _g_error_copy0 (_data_->_tmp4_);
		_data_->_inner_error0_ = _data_->_tmp5_;
		_g_error_free0 (_data_->e);
		goto __finally0;
	}
	__finally0:
	g_task_return_error (_data_->_async_result, _data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_interface_daemon_on_flatpak_trans_run_finished (PamacTransactionInterfaceDaemon* self,
                                                                  const gchar* sender,
                                                                  gboolean success)
{
	const gchar* _tmp0_;
	GSourceFunc _tmp1_;
	gpointer _tmp1__target;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) != 0) {
		return;
	}
	self->priv->flatpak_trans_run_success = success;
	_tmp1_ = self->priv->flatpak_trans_run_callback;
	_tmp1__target = self->priv->flatpak_trans_run_callback_target;
	_tmp1_ (_tmp1__target);
}

static void
pamac_transaction_interface_daemon_real_quit_daemon (PamacTransactionInterface* base,
                                                     GError** error)
{
	PamacTransactionInterfaceDaemon * self;
	GError* _inner_error0_ = NULL;
	self = (PamacTransactionInterfaceDaemon*) base;
	{
		PamacDaemon* _tmp0_;
		_tmp0_ = self->priv->system_daemon;
		pamac_daemon_quit (_tmp0_, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GError* _tmp1_;
		GError* _tmp2_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp1_ = e;
		_tmp2_ = _g_error_copy0 (_tmp1_);
		_inner_error0_ = _tmp2_;
		_g_error_free0 (e);
		goto __finally0;
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return;
	}
}

static void
pamac_transaction_interface_daemon_on_emit_action (PamacTransactionInterfaceDaemon* self,
                                                   const gchar* sender,
                                                   const gchar* action)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		g_signal_emit_by_name ((PamacTransactionInterface*) self, "emit-action", action);
	}
}

static void
pamac_transaction_interface_daemon_on_emit_action_progress (PamacTransactionInterfaceDaemon* self,
                                                            const gchar* sender,
                                                            const gchar* action,
                                                            const gchar* status,
                                                            gdouble progress)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	g_return_if_fail (action != NULL);
	g_return_if_fail (status != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		g_signal_emit_by_name ((PamacTransactionInterface*) self, "emit-action-progress", action, status, progress);
	}
}

static void
pamac_transaction_interface_daemon_on_emit_download_progress (PamacTransactionInterfaceDaemon* self,
                                                              const gchar* sender,
                                                              const gchar* action,
                                                              const gchar* status,
                                                              gdouble progress)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	g_return_if_fail (action != NULL);
	g_return_if_fail (status != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		g_signal_emit_by_name ((PamacTransactionInterface*) self, "emit-download-progress", action, status, progress);
	}
}

static void
pamac_transaction_interface_daemon_on_emit_hook_progress (PamacTransactionInterfaceDaemon* self,
                                                          const gchar* sender,
                                                          const gchar* action,
                                                          const gchar* details,
                                                          const gchar* status,
                                                          gdouble progress)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	g_return_if_fail (action != NULL);
	g_return_if_fail (details != NULL);
	g_return_if_fail (status != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		g_signal_emit_by_name ((PamacTransactionInterface*) self, "emit-hook-progress", action, details, status, progress);
	}
}

static void
pamac_transaction_interface_daemon_on_emit_script_output (PamacTransactionInterfaceDaemon* self,
                                                          const gchar* sender,
                                                          const gchar* message)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	g_return_if_fail (message != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		g_signal_emit_by_name ((PamacTransactionInterface*) self, "emit-script-output", message);
	}
}

static void
pamac_transaction_interface_daemon_on_emit_warning (PamacTransactionInterfaceDaemon* self,
                                                    const gchar* sender,
                                                    const gchar* message)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	g_return_if_fail (message != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		g_signal_emit_by_name ((PamacTransactionInterface*) self, "emit-warning", message);
	}
}

static void
_g_free0_ (gpointer var)
{
	var = (g_free (var), NULL);
}

static void
pamac_transaction_interface_daemon_on_emit_error (PamacTransactionInterfaceDaemon* self,
                                                  const gchar* sender,
                                                  const gchar* message,
                                                  gchar** details,
                                                  gint details_length1)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	g_return_if_fail (message != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		GPtrArray* details_array = NULL;
		GPtrArray* _tmp1_;
		GPtrArray* _tmp5_;
		_tmp1_ = g_ptr_array_new_full ((guint) details_length1, _g_free0_);
		details_array = _tmp1_;
		{
			gchar** detail_collection = NULL;
			gint detail_collection_length1 = 0;
			gint _detail_collection_size_ = 0;
			gint detail_it = 0;
			detail_collection = details;
			detail_collection_length1 = details_length1;
			for (detail_it = 0; detail_it < detail_collection_length1; detail_it = detail_it + 1) {
				const gchar* detail = NULL;
				detail = detail_collection[detail_it];
				{
					GPtrArray* _tmp2_;
					const gchar* _tmp3_;
					gchar* _tmp4_;
					_tmp2_ = details_array;
					_tmp3_ = detail;
					_tmp4_ = g_strdup (_tmp3_);
					g_ptr_array_add (_tmp2_, _tmp4_);
				}
			}
		}
		_tmp5_ = details_array;
		g_signal_emit_by_name ((PamacTransactionInterface*) self, "emit-error", message, _tmp5_);
		_g_ptr_array_unref0 (details_array);
	}
}

static void
pamac_transaction_interface_daemon_on_important_details_outpout (PamacTransactionInterfaceDaemon* self,
                                                                 const gchar* sender,
                                                                 gboolean must_show)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		g_signal_emit_by_name ((PamacTransactionInterface*) self, "important-details-outpout", must_show);
	}
}

static void
pamac_transaction_interface_daemon_on_start_downloading (PamacTransactionInterfaceDaemon* self,
                                                         const gchar* sender)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		g_signal_emit_by_name ((PamacTransactionInterface*) self, "start-downloading");
	}
}

static void
pamac_transaction_interface_daemon_on_stop_downloading (PamacTransactionInterfaceDaemon* self,
                                                        const gchar* sender)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		g_signal_emit_by_name ((PamacTransactionInterface*) self, "stop-downloading");
	}
}

static void
pamac_transaction_interface_daemon_on_start_waiting (PamacTransactionInterfaceDaemon* self,
                                                     const gchar* sender)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		g_signal_emit_by_name ((PamacTransactionInterface*) self, "start-waiting");
	}
}

static void
pamac_transaction_interface_daemon_on_stop_waiting (PamacTransactionInterfaceDaemon* self,
                                                    const gchar* sender)
{
	const gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->sender;
	if (g_strcmp0 (sender, _tmp0_) == 0) {
		g_signal_emit_by_name ((PamacTransactionInterface*) self, "stop-waiting");
	}
}

static void
pamac_transaction_interface_daemon_connecting_system_daemon (PamacTransactionInterfaceDaemon* self,
                                                             PamacConfig* config,
                                                             GError** error)
{
	PamacDaemon* _tmp0_;
	GError* _inner_error0_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (config != NULL);
	_tmp0_ = self->priv->system_daemon;
	if (_tmp0_ == NULL) {
		{
			PamacDaemon* _tmp1_ = NULL;
			PamacDaemon* _tmp2_;
			PamacDaemon* _tmp3_;
			PamacDaemon* _tmp4_;
			GHashTable* _tmp5_;
			GHashTable* _tmp6_;
			_tmp2_ = (PamacDaemon*) g_initable_new (PAMAC_TYPE_DAEMON_PROXY, NULL, &_inner_error0_, "g-flags", 0, "g-name", "org.manjaro.pamac.daemon", "g-bus-type", G_BUS_TYPE_SYSTEM, "g-object-path", "/org/manjaro/pamac/daemon", "g-interface-name", "org.manjaro.pamac.daemon", NULL);
			_tmp1_ = (PamacDaemon*) _tmp2_;
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				goto __catch0_g_error;
			}
			_tmp3_ = _tmp1_;
			_tmp1_ = NULL;
			_g_object_unref0 (self->priv->system_daemon);
			self->priv->system_daemon = _tmp3_;
			_tmp4_ = self->priv->system_daemon;
			_tmp5_ = pamac_config_get_environment_variables (config);
			_tmp6_ = _tmp5_;
			pamac_daemon_set_environment_variables (_tmp4_, _tmp6_, &_inner_error0_);
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				_g_object_unref0 (_tmp1_);
				goto __catch0_g_error;
			}
			_g_object_unref0 (_tmp1_);
		}
		goto __finally0;
		__catch0_g_error:
		{
			GError* e = NULL;
			GError* _tmp7_;
			GError* _tmp8_;
			e = _inner_error0_;
			_inner_error0_ = NULL;
			_tmp7_ = e;
			_tmp8_ = _g_error_copy0 (_tmp7_);
			_inner_error0_ = _tmp8_;
			_g_error_free0 (e);
			goto __finally0;
		}
		__finally0:
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			g_propagate_error (error, _inner_error0_);
			return;
		}
	}
}

static void
_pamac_transaction_interface_daemon_on_emit_action_pamac_daemon_emit_action (PamacDaemon* _sender,
                                                                             const gchar* sender,
                                                                             const gchar* action,
                                                                             gpointer self)
{
	pamac_transaction_interface_daemon_on_emit_action ((PamacTransactionInterfaceDaemon*) self, sender, action);
}

static void
_pamac_transaction_interface_daemon_on_emit_action_progress_pamac_daemon_emit_action_progress (PamacDaemon* _sender,
                                                                                               const gchar* sender,
                                                                                               const gchar* action,
                                                                                               const gchar* status,
                                                                                               gdouble progress,
                                                                                               gpointer self)
{
	pamac_transaction_interface_daemon_on_emit_action_progress ((PamacTransactionInterfaceDaemon*) self, sender, action, status, progress);
}

static void
_pamac_transaction_interface_daemon_on_emit_download_progress_pamac_daemon_emit_download_progress (PamacDaemon* _sender,
                                                                                                   const gchar* sender,
                                                                                                   const gchar* action,
                                                                                                   const gchar* status,
                                                                                                   gdouble progress,
                                                                                                   gpointer self)
{
	pamac_transaction_interface_daemon_on_emit_download_progress ((PamacTransactionInterfaceDaemon*) self, sender, action, status, progress);
}

static void
_pamac_transaction_interface_daemon_on_emit_hook_progress_pamac_daemon_emit_hook_progress (PamacDaemon* _sender,
                                                                                           const gchar* sender,
                                                                                           const gchar* action,
                                                                                           const gchar* details,
                                                                                           const gchar* status,
                                                                                           gdouble progress,
                                                                                           gpointer self)
{
	pamac_transaction_interface_daemon_on_emit_hook_progress ((PamacTransactionInterfaceDaemon*) self, sender, action, details, status, progress);
}

static void
_pamac_transaction_interface_daemon_on_emit_script_output_pamac_daemon_emit_script_output (PamacDaemon* _sender,
                                                                                           const gchar* sender,
                                                                                           const gchar* message,
                                                                                           gpointer self)
{
	pamac_transaction_interface_daemon_on_emit_script_output ((PamacTransactionInterfaceDaemon*) self, sender, message);
}

static void
_pamac_transaction_interface_daemon_on_emit_warning_pamac_daemon_emit_warning (PamacDaemon* _sender,
                                                                               const gchar* sender,
                                                                               const gchar* message,
                                                                               gpointer self)
{
	pamac_transaction_interface_daemon_on_emit_warning ((PamacTransactionInterfaceDaemon*) self, sender, message);
}

static void
_pamac_transaction_interface_daemon_on_emit_error_pamac_daemon_emit_error (PamacDaemon* _sender,
                                                                           const gchar* sender,
                                                                           const gchar* message,
                                                                           gchar** details,
                                                                           gint details_length1,
                                                                           gpointer self)
{
	pamac_transaction_interface_daemon_on_emit_error ((PamacTransactionInterfaceDaemon*) self, sender, message, details, details_length1);
}

static void
_pamac_transaction_interface_daemon_on_important_details_outpout_pamac_daemon_important_details_outpout (PamacDaemon* _sender,
                                                                                                         const gchar* sender,
                                                                                                         gboolean must_show,
                                                                                                         gpointer self)
{
	pamac_transaction_interface_daemon_on_important_details_outpout ((PamacTransactionInterfaceDaemon*) self, sender, must_show);
}

static void
_pamac_transaction_interface_daemon_on_start_downloading_pamac_daemon_start_downloading (PamacDaemon* _sender,
                                                                                         const gchar* sender,
                                                                                         gpointer self)
{
	pamac_transaction_interface_daemon_on_start_downloading ((PamacTransactionInterfaceDaemon*) self, sender);
}

static void
_pamac_transaction_interface_daemon_on_stop_downloading_pamac_daemon_stop_downloading (PamacDaemon* _sender,
                                                                                       const gchar* sender,
                                                                                       gpointer self)
{
	pamac_transaction_interface_daemon_on_stop_downloading ((PamacTransactionInterfaceDaemon*) self, sender);
}

static void
_pamac_transaction_interface_daemon_on_start_waiting_pamac_daemon_start_waiting (PamacDaemon* _sender,
                                                                                 const gchar* sender,
                                                                                 gpointer self)
{
	pamac_transaction_interface_daemon_on_start_waiting ((PamacTransactionInterfaceDaemon*) self, sender);
}

static void
_pamac_transaction_interface_daemon_on_stop_waiting_pamac_daemon_stop_waiting (PamacDaemon* _sender,
                                                                               const gchar* sender,
                                                                               gpointer self)
{
	pamac_transaction_interface_daemon_on_stop_waiting ((PamacTransactionInterfaceDaemon*) self, sender);
}

static void
_pamac_transaction_interface_daemon_on_get_authorization_finished_pamac_daemon_get_authorization_finished (PamacDaemon* _sender,
                                                                                                           const gchar* sender,
                                                                                                           gboolean authorized,
                                                                                                           gpointer self)
{
	pamac_transaction_interface_daemon_on_get_authorization_finished ((PamacTransactionInterfaceDaemon*) self, sender, authorized);
}

static void
_pamac_transaction_interface_daemon_on_clean_cache_finished_pamac_daemon_clean_cache_finished (PamacDaemon* _sender,
                                                                                               const gchar* sender,
                                                                                               gboolean success,
                                                                                               gpointer self)
{
	pamac_transaction_interface_daemon_on_clean_cache_finished ((PamacTransactionInterfaceDaemon*) self, sender, success);
}

static void
_pamac_transaction_interface_daemon_on_clean_clean_build_files_finished_pamac_daemon_clean_build_files_finished (PamacDaemon* _sender,
                                                                                                                 const gchar* sender,
                                                                                                                 gboolean success,
                                                                                                                 gpointer self)
{
	pamac_transaction_interface_daemon_on_clean_clean_build_files_finished ((PamacTransactionInterfaceDaemon*) self, sender, success);
}

static void
_pamac_transaction_interface_daemon_on_set_pkgreason_finished_pamac_daemon_set_pkgreason_finished (PamacDaemon* _sender,
                                                                                                   const gchar* sender,
                                                                                                   gboolean success,
                                                                                                   gpointer self)
{
	pamac_transaction_interface_daemon_on_set_pkgreason_finished ((PamacTransactionInterfaceDaemon*) self, sender, success);
}

static void
_pamac_transaction_interface_daemon_on_trans_refresh_finished_pamac_daemon_trans_refresh_finished (PamacDaemon* _sender,
                                                                                                   const gchar* sender,
                                                                                                   gboolean success,
                                                                                                   gpointer self)
{
	pamac_transaction_interface_daemon_on_trans_refresh_finished ((PamacTransactionInterfaceDaemon*) self, sender, success);
}

static void
_pamac_transaction_interface_daemon_on_trans_refresh_files_finished_pamac_daemon_trans_refresh_files_finished (PamacDaemon* _sender,
                                                                                                               const gchar* sender,
                                                                                                               gboolean success,
                                                                                                               gpointer self)
{
	pamac_transaction_interface_daemon_on_trans_refresh_files_finished ((PamacTransactionInterfaceDaemon*) self, sender, success);
}

static void
_pamac_transaction_interface_daemon_on_trans_refresh_aur_finished_pamac_daemon_trans_refresh_aur_finished (PamacDaemon* _sender,
                                                                                                           const gchar* sender,
                                                                                                           gboolean success,
                                                                                                           gpointer self)
{
	pamac_transaction_interface_daemon_on_trans_refresh_aur_finished ((PamacTransactionInterfaceDaemon*) self, sender, success);
}

static void
_pamac_transaction_interface_daemon_on_trans_run_finished_pamac_daemon_trans_run_finished (PamacDaemon* _sender,
                                                                                           const gchar* sender,
                                                                                           gboolean success,
                                                                                           gpointer self)
{
	pamac_transaction_interface_daemon_on_trans_run_finished ((PamacTransactionInterfaceDaemon*) self, sender, success);
}

static void
_pamac_transaction_interface_daemon_on_download_updates_finished_pamac_daemon_download_updates_finished (PamacDaemon* _sender,
                                                                                                         const gchar* sender,
                                                                                                         gboolean success,
                                                                                                         gpointer self)
{
	pamac_transaction_interface_daemon_on_download_updates_finished ((PamacTransactionInterfaceDaemon*) self, sender, success);
}

static void
_pamac_transaction_interface_daemon_on_download_pkgs_finished_pamac_daemon_download_pkgs_finished (PamacDaemon* _sender,
                                                                                                   const gchar* sender,
                                                                                                   gchar** dload_paths,
                                                                                                   gint dload_paths_length1,
                                                                                                   gpointer self)
{
	pamac_transaction_interface_daemon_on_download_pkgs_finished ((PamacTransactionInterfaceDaemon*) self, sender, dload_paths, dload_paths_length1);
}

static void
_pamac_transaction_interface_daemon_on_generate_mirrors_list_data_pamac_daemon_generate_mirrors_list_data (PamacDaemon* _sender,
                                                                                                           const gchar* sender,
                                                                                                           const gchar* line,
                                                                                                           gpointer self)
{
	pamac_transaction_interface_daemon_on_generate_mirrors_list_data ((PamacTransactionInterfaceDaemon*) self, sender, line);
}

static void
_pamac_transaction_interface_daemon_on_generate_mirrors_list_finished_pamac_daemon_generate_mirrors_list_finished (PamacDaemon* _sender,
                                                                                                                   const gchar* sender,
                                                                                                                   gpointer self)
{
	pamac_transaction_interface_daemon_on_generate_mirrors_list_finished ((PamacTransactionInterfaceDaemon*) self, sender);
}

static void
_pamac_transaction_interface_daemon_on_snap_trans_run_finished_pamac_daemon_snap_trans_run_finished (PamacDaemon* _sender,
                                                                                                     const gchar* sender,
                                                                                                     gboolean success,
                                                                                                     gpointer self)
{
	pamac_transaction_interface_daemon_on_snap_trans_run_finished ((PamacTransactionInterfaceDaemon*) self, sender, success);
}

static void
_pamac_transaction_interface_daemon_on_snap_switch_channel_finished_pamac_daemon_snap_switch_channel_finished (PamacDaemon* _sender,
                                                                                                               const gchar* sender,
                                                                                                               gboolean success,
                                                                                                               gpointer self)
{
	pamac_transaction_interface_daemon_on_snap_switch_channel_finished ((PamacTransactionInterfaceDaemon*) self, sender, success);
}

static void
_pamac_transaction_interface_daemon_on_flatpak_trans_run_finished_pamac_daemon_flatpak_trans_run_finished (PamacDaemon* _sender,
                                                                                                           const gchar* sender,
                                                                                                           gboolean success,
                                                                                                           gpointer self)
{
	pamac_transaction_interface_daemon_on_flatpak_trans_run_finished ((PamacTransactionInterfaceDaemon*) self, sender, success);
}

static void
pamac_transaction_interface_daemon_connecting_dbus_signals (PamacTransactionInterfaceDaemon* self)
{
	PamacDaemon* _tmp0_;
	PamacDaemon* _tmp1_;
	PamacDaemon* _tmp2_;
	PamacDaemon* _tmp3_;
	PamacDaemon* _tmp4_;
	PamacDaemon* _tmp5_;
	PamacDaemon* _tmp6_;
	PamacDaemon* _tmp7_;
	PamacDaemon* _tmp8_;
	PamacDaemon* _tmp9_;
	PamacDaemon* _tmp10_;
	PamacDaemon* _tmp11_;
	PamacDaemon* _tmp12_;
	PamacDaemon* _tmp13_;
	PamacDaemon* _tmp14_;
	PamacDaemon* _tmp15_;
	PamacDaemon* _tmp16_;
	PamacDaemon* _tmp17_;
	PamacDaemon* _tmp18_;
	PamacDaemon* _tmp19_;
	PamacDaemon* _tmp20_;
	PamacDaemon* _tmp21_;
	PamacDaemon* _tmp22_;
	PamacDaemon* _tmp23_;
	PamacDaemon* _tmp24_;
	PamacDaemon* _tmp25_;
	PamacDaemon* _tmp26_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp0_, "emit-action", (GCallback) _pamac_transaction_interface_daemon_on_emit_action_pamac_daemon_emit_action, self, 0);
	_tmp1_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp1_, "emit-action-progress", (GCallback) _pamac_transaction_interface_daemon_on_emit_action_progress_pamac_daemon_emit_action_progress, self, 0);
	_tmp2_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp2_, "emit-download-progress", (GCallback) _pamac_transaction_interface_daemon_on_emit_download_progress_pamac_daemon_emit_download_progress, self, 0);
	_tmp3_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp3_, "emit-hook-progress", (GCallback) _pamac_transaction_interface_daemon_on_emit_hook_progress_pamac_daemon_emit_hook_progress, self, 0);
	_tmp4_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp4_, "emit-script-output", (GCallback) _pamac_transaction_interface_daemon_on_emit_script_output_pamac_daemon_emit_script_output, self, 0);
	_tmp5_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp5_, "emit-warning", (GCallback) _pamac_transaction_interface_daemon_on_emit_warning_pamac_daemon_emit_warning, self, 0);
	_tmp6_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp6_, "emit-error", (GCallback) _pamac_transaction_interface_daemon_on_emit_error_pamac_daemon_emit_error, self, 0);
	_tmp7_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp7_, "important-details-outpout", (GCallback) _pamac_transaction_interface_daemon_on_important_details_outpout_pamac_daemon_important_details_outpout, self, 0);
	_tmp8_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp8_, "start-downloading", (GCallback) _pamac_transaction_interface_daemon_on_start_downloading_pamac_daemon_start_downloading, self, 0);
	_tmp9_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp9_, "stop-downloading", (GCallback) _pamac_transaction_interface_daemon_on_stop_downloading_pamac_daemon_stop_downloading, self, 0);
	_tmp10_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp10_, "start-waiting", (GCallback) _pamac_transaction_interface_daemon_on_start_waiting_pamac_daemon_start_waiting, self, 0);
	_tmp11_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp11_, "stop-waiting", (GCallback) _pamac_transaction_interface_daemon_on_stop_waiting_pamac_daemon_stop_waiting, self, 0);
	_tmp12_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp12_, "get-authorization-finished", (GCallback) _pamac_transaction_interface_daemon_on_get_authorization_finished_pamac_daemon_get_authorization_finished, self, 0);
	_tmp13_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp13_, "clean-cache-finished", (GCallback) _pamac_transaction_interface_daemon_on_clean_cache_finished_pamac_daemon_clean_cache_finished, self, 0);
	_tmp14_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp14_, "clean-build-files-finished", (GCallback) _pamac_transaction_interface_daemon_on_clean_clean_build_files_finished_pamac_daemon_clean_build_files_finished, self, 0);
	_tmp15_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp15_, "set-pkgreason-finished", (GCallback) _pamac_transaction_interface_daemon_on_set_pkgreason_finished_pamac_daemon_set_pkgreason_finished, self, 0);
	_tmp16_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp16_, "trans-refresh-finished", (GCallback) _pamac_transaction_interface_daemon_on_trans_refresh_finished_pamac_daemon_trans_refresh_finished, self, 0);
	_tmp17_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp17_, "trans-refresh-files-finished", (GCallback) _pamac_transaction_interface_daemon_on_trans_refresh_files_finished_pamac_daemon_trans_refresh_files_finished, self, 0);
	_tmp18_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp18_, "trans-refresh-aur-finished", (GCallback) _pamac_transaction_interface_daemon_on_trans_refresh_aur_finished_pamac_daemon_trans_refresh_aur_finished, self, 0);
	_tmp19_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp19_, "trans-run-finished", (GCallback) _pamac_transaction_interface_daemon_on_trans_run_finished_pamac_daemon_trans_run_finished, self, 0);
	_tmp20_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp20_, "download-updates-finished", (GCallback) _pamac_transaction_interface_daemon_on_download_updates_finished_pamac_daemon_download_updates_finished, self, 0);
	_tmp21_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp21_, "download-pkgs-finished", (GCallback) _pamac_transaction_interface_daemon_on_download_pkgs_finished_pamac_daemon_download_pkgs_finished, self, 0);
	_tmp22_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp22_, "generate-mirrors-list-data", (GCallback) _pamac_transaction_interface_daemon_on_generate_mirrors_list_data_pamac_daemon_generate_mirrors_list_data, self, 0);
	_tmp23_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp23_, "generate-mirrors-list-finished", (GCallback) _pamac_transaction_interface_daemon_on_generate_mirrors_list_finished_pamac_daemon_generate_mirrors_list_finished, self, 0);
	_tmp24_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp24_, "snap-trans-run-finished", (GCallback) _pamac_transaction_interface_daemon_on_snap_trans_run_finished_pamac_daemon_snap_trans_run_finished, self, 0);
	_tmp25_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp25_, "snap-switch-channel-finished", (GCallback) _pamac_transaction_interface_daemon_on_snap_switch_channel_finished_pamac_daemon_snap_switch_channel_finished, self, 0);
	_tmp26_ = self->priv->system_daemon;
	g_signal_connect_object (_tmp26_, "flatpak-trans-run-finished", (GCallback) _pamac_transaction_interface_daemon_on_flatpak_trans_run_finished_pamac_daemon_flatpak_trans_run_finished, self, 0);
}

static void
pamac_transaction_interface_daemon_class_init (PamacTransactionInterfaceDaemonClass * klass,
                                               gpointer klass_data)
{
	pamac_transaction_interface_daemon_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &PamacTransactionInterfaceDaemon_private_offset);
	G_OBJECT_CLASS (klass)->finalize = pamac_transaction_interface_daemon_finalize;
}

static void
pamac_transaction_interface_daemon_pamac_transaction_interface_interface_init (PamacTransactionInterfaceIface * iface,
                                                                               gpointer iface_data)
{
	pamac_transaction_interface_daemon_pamac_transaction_interface_parent_iface = g_type_interface_peek_parent (iface);
	iface->get_authorization = (void (*) (PamacTransactionInterface*, GAsyncReadyCallback, gpointer)) pamac_transaction_interface_daemon_real_get_authorization;
	iface->get_authorization_finish = (gboolean (*) (PamacTransactionInterface*, GAsyncResult*, GError**)) pamac_transaction_interface_daemon_get_authorization_finish;
	iface->remove_authorization = (void (*) (PamacTransactionInterface*, GError**)) pamac_transaction_interface_daemon_real_remove_authorization;
	iface->generate_mirrors_list = (void (*) (PamacTransactionInterface*, const gchar*, GAsyncReadyCallback, gpointer)) pamac_transaction_interface_daemon_real_generate_mirrors_list;
	iface->generate_mirrors_list_finish = (void (*) (PamacTransactionInterface*, GAsyncResult*, GError**)) pamac_transaction_interface_daemon_generate_mirrors_list_finish;
	iface->clean_cache = (void (*) (PamacTransactionInterface*, GPtrArray*, GAsyncReadyCallback, gpointer)) pamac_transaction_interface_daemon_real_clean_cache;
	iface->clean_cache_finish = (gboolean (*) (PamacTransactionInterface*, GAsyncResult*, GError**)) pamac_transaction_interface_daemon_clean_cache_finish;
	iface->clean_build_files = (void (*) (PamacTransactionInterface*, const gchar*, GAsyncReadyCallback, gpointer)) pamac_transaction_interface_daemon_real_clean_build_files;
	iface->clean_build_files_finish = (gboolean (*) (PamacTransactionInterface*, GAsyncResult*, GError**)) pamac_transaction_interface_daemon_clean_build_files_finish;
	iface->set_pkgreason = (void (*) (PamacTransactionInterface*, const gchar*, guint, GAsyncReadyCallback, gpointer)) pamac_transaction_interface_daemon_real_set_pkgreason;
	iface->set_pkgreason_finish = (gboolean (*) (PamacTransactionInterface*, GAsyncResult*, GError**)) pamac_transaction_interface_daemon_set_pkgreason_finish;
	iface->download_updates = (void (*) (PamacTransactionInterface*, GAsyncReadyCallback, gpointer)) pamac_transaction_interface_daemon_real_download_updates;
	iface->download_updates_finish = (gboolean (*) (PamacTransactionInterface*, GAsyncResult*, GError**)) pamac_transaction_interface_daemon_download_updates_finish;
	iface->download_pkgs = (void (*) (PamacTransactionInterface*, GPtrArray*, GAsyncReadyCallback, gpointer)) pamac_transaction_interface_daemon_real_download_pkgs;
	iface->download_pkgs_finish = (gchar** (*) (PamacTransactionInterface*, GAsyncResult*, gint*, GError**)) pamac_transaction_interface_daemon_download_pkgs_finish;
	iface->trans_refresh = (void (*) (PamacTransactionInterface*, gboolean, GAsyncReadyCallback, gpointer)) pamac_transaction_interface_daemon_real_trans_refresh;
	iface->trans_refresh_finish = (gboolean (*) (PamacTransactionInterface*, GAsyncResult*, GError**)) pamac_transaction_interface_daemon_trans_refresh_finish;
	iface->trans_refresh_files = (void (*) (PamacTransactionInterface*, gboolean, GAsyncReadyCallback, gpointer)) pamac_transaction_interface_daemon_real_trans_refresh_files;
	iface->trans_refresh_files_finish = (gboolean (*) (PamacTransactionInterface*, GAsyncResult*, GError**)) pamac_transaction_interface_daemon_trans_refresh_files_finish;
	iface->trans_refresh_aur = (void (*) (PamacTransactionInterface*, gboolean, GAsyncReadyCallback, gpointer)) pamac_transaction_interface_daemon_real_trans_refresh_aur;
	iface->trans_refresh_aur_finish = (gboolean (*) (PamacTransactionInterface*, GAsyncResult*, GError**)) pamac_transaction_interface_daemon_trans_refresh_aur_finish;
	iface->trans_run = (void (*) (PamacTransactionInterface*, gboolean, gboolean, gboolean, gboolean, gint, GPtrArray*, GPtrArray*, GPtrArray*, GPtrArray*, GPtrArray*, GPtrArray*, GPtrArray*, GAsyncReadyCallback, gpointer)) pamac_transaction_interface_daemon_real_trans_run;
	iface->trans_run_finish = (gboolean (*) (PamacTransactionInterface*, GAsyncResult*, GError**)) pamac_transaction_interface_daemon_trans_run_finish;
	iface->trans_cancel = (void (*) (PamacTransactionInterface*, GError**)) pamac_transaction_interface_daemon_real_trans_cancel;
	iface->snap_trans_run = (void (*) (PamacTransactionInterface*, GPtrArray*, GPtrArray*, GAsyncReadyCallback, gpointer)) pamac_transaction_interface_daemon_real_snap_trans_run;
	iface->snap_trans_run_finish = (gboolean (*) (PamacTransactionInterface*, GAsyncResult*, GError**)) pamac_transaction_interface_daemon_snap_trans_run_finish;
	iface->snap_switch_channel = (void (*) (PamacTransactionInterface*, const gchar*, const gchar*, GAsyncReadyCallback, gpointer)) pamac_transaction_interface_daemon_real_snap_switch_channel;
	iface->snap_switch_channel_finish = (gboolean (*) (PamacTransactionInterface*, GAsyncResult*, GError**)) pamac_transaction_interface_daemon_snap_switch_channel_finish;
	iface->flatpak_trans_run = (void (*) (PamacTransactionInterface*, GPtrArray*, GPtrArray*, GPtrArray*, GAsyncReadyCallback, gpointer)) pamac_transaction_interface_daemon_real_flatpak_trans_run;
	iface->flatpak_trans_run_finish = (gboolean (*) (PamacTransactionInterface*, GAsyncResult*, GError**)) pamac_transaction_interface_daemon_flatpak_trans_run_finish;
	iface->quit_daemon = (void (*) (PamacTransactionInterface*, GError**)) pamac_transaction_interface_daemon_real_quit_daemon;
}

static void
pamac_transaction_interface_daemon_instance_init (PamacTransactionInterfaceDaemon * self,
                                                  gpointer klass)
{
	self->priv = pamac_transaction_interface_daemon_get_instance_private (self);
}

static void
pamac_transaction_interface_daemon_finalize (GObject * obj)
{
	PamacTransactionInterfaceDaemon * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PAMAC_TYPE_TRANSACTION_INTERFACE_DAEMON, PamacTransactionInterfaceDaemon);
	_g_object_unref0 (self->priv->system_daemon);
	_g_free0 (self->priv->sender);
	(self->priv->generate_mirrors_list_callback_target_destroy_notify == NULL) ? NULL : (self->priv->generate_mirrors_list_callback_target_destroy_notify (self->priv->generate_mirrors_list_callback_target), NULL);
	self->priv->generate_mirrors_list_callback = NULL;
	self->priv->generate_mirrors_list_callback_target = NULL;
	self->priv->generate_mirrors_list_callback_target_destroy_notify = NULL;
	(self->priv->download_updates_callback_target_destroy_notify == NULL) ? NULL : (self->priv->download_updates_callback_target_destroy_notify (self->priv->download_updates_callback_target), NULL);
	self->priv->download_updates_callback = NULL;
	self->priv->download_updates_callback_target = NULL;
	self->priv->download_updates_callback_target_destroy_notify = NULL;
	(self->priv->get_authorization_callback_target_destroy_notify == NULL) ? NULL : (self->priv->get_authorization_callback_target_destroy_notify (self->priv->get_authorization_callback_target), NULL);
	self->priv->get_authorization_callback = NULL;
	self->priv->get_authorization_callback_target = NULL;
	self->priv->get_authorization_callback_target_destroy_notify = NULL;
	self->priv->download_paths = (_vala_array_free (self->priv->download_paths, self->priv->download_paths_length1, (GDestroyNotify) g_free), NULL);
	(self->priv->download_pkgs_callback_target_destroy_notify == NULL) ? NULL : (self->priv->download_pkgs_callback_target_destroy_notify (self->priv->download_pkgs_callback_target), NULL);
	self->priv->download_pkgs_callback = NULL;
	self->priv->download_pkgs_callback_target = NULL;
	self->priv->download_pkgs_callback_target_destroy_notify = NULL;
	(self->priv->clean_cache_callback_target_destroy_notify == NULL) ? NULL : (self->priv->clean_cache_callback_target_destroy_notify (self->priv->clean_cache_callback_target), NULL);
	self->priv->clean_cache_callback = NULL;
	self->priv->clean_cache_callback_target = NULL;
	self->priv->clean_cache_callback_target_destroy_notify = NULL;
	(self->priv->clean_build_files_callback_target_destroy_notify == NULL) ? NULL : (self->priv->clean_build_files_callback_target_destroy_notify (self->priv->clean_build_files_callback_target), NULL);
	self->priv->clean_build_files_callback = NULL;
	self->priv->clean_build_files_callback_target = NULL;
	self->priv->clean_build_files_callback_target_destroy_notify = NULL;
	(self->priv->set_pkgreason_callback_target_destroy_notify == NULL) ? NULL : (self->priv->set_pkgreason_callback_target_destroy_notify (self->priv->set_pkgreason_callback_target), NULL);
	self->priv->set_pkgreason_callback = NULL;
	self->priv->set_pkgreason_callback_target = NULL;
	self->priv->set_pkgreason_callback_target_destroy_notify = NULL;
	(self->priv->trans_refresh_callback_target_destroy_notify == NULL) ? NULL : (self->priv->trans_refresh_callback_target_destroy_notify (self->priv->trans_refresh_callback_target), NULL);
	self->priv->trans_refresh_callback = NULL;
	self->priv->trans_refresh_callback_target = NULL;
	self->priv->trans_refresh_callback_target_destroy_notify = NULL;
	(self->priv->trans_refresh_files_callback_target_destroy_notify == NULL) ? NULL : (self->priv->trans_refresh_files_callback_target_destroy_notify (self->priv->trans_refresh_files_callback_target), NULL);
	self->priv->trans_refresh_files_callback = NULL;
	self->priv->trans_refresh_files_callback_target = NULL;
	self->priv->trans_refresh_files_callback_target_destroy_notify = NULL;
	(self->priv->trans_refresh_aur_callback_target_destroy_notify == NULL) ? NULL : (self->priv->trans_refresh_aur_callback_target_destroy_notify (self->priv->trans_refresh_aur_callback_target), NULL);
	self->priv->trans_refresh_aur_callback = NULL;
	self->priv->trans_refresh_aur_callback_target = NULL;
	self->priv->trans_refresh_aur_callback_target_destroy_notify = NULL;
	(self->priv->trans_run_callback_target_destroy_notify == NULL) ? NULL : (self->priv->trans_run_callback_target_destroy_notify (self->priv->trans_run_callback_target), NULL);
	self->priv->trans_run_callback = NULL;
	self->priv->trans_run_callback_target = NULL;
	self->priv->trans_run_callback_target_destroy_notify = NULL;
	(self->priv->snap_trans_run_callback_target_destroy_notify == NULL) ? NULL : (self->priv->snap_trans_run_callback_target_destroy_notify (self->priv->snap_trans_run_callback_target), NULL);
	self->priv->snap_trans_run_callback = NULL;
	self->priv->snap_trans_run_callback_target = NULL;
	self->priv->snap_trans_run_callback_target_destroy_notify = NULL;
	(self->priv->snap_switch_channel_callback_target_destroy_notify == NULL) ? NULL : (self->priv->snap_switch_channel_callback_target_destroy_notify (self->priv->snap_switch_channel_callback_target), NULL);
	self->priv->snap_switch_channel_callback = NULL;
	self->priv->snap_switch_channel_callback_target = NULL;
	self->priv->snap_switch_channel_callback_target_destroy_notify = NULL;
	(self->priv->flatpak_trans_run_callback_target_destroy_notify == NULL) ? NULL : (self->priv->flatpak_trans_run_callback_target_destroy_notify (self->priv->flatpak_trans_run_callback_target), NULL);
	self->priv->flatpak_trans_run_callback = NULL;
	self->priv->flatpak_trans_run_callback_target = NULL;
	self->priv->flatpak_trans_run_callback_target_destroy_notify = NULL;
	G_OBJECT_CLASS (pamac_transaction_interface_daemon_parent_class)->finalize (obj);
}

static GType
pamac_transaction_interface_daemon_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (PamacTransactionInterfaceDaemonClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pamac_transaction_interface_daemon_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PamacTransactionInterfaceDaemon), 0, (GInstanceInitFunc) pamac_transaction_interface_daemon_instance_init, NULL };
	static const GInterfaceInfo pamac_transaction_interface_info = { (GInterfaceInitFunc) pamac_transaction_interface_daemon_pamac_transaction_interface_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	GType pamac_transaction_interface_daemon_type_id;
	pamac_transaction_interface_daemon_type_id = g_type_register_static (G_TYPE_OBJECT, "PamacTransactionInterfaceDaemon", &g_define_type_info, 0);
	g_type_add_interface_static (pamac_transaction_interface_daemon_type_id, PAMAC_TYPE_TRANSACTION_INTERFACE, &pamac_transaction_interface_info);
	PamacTransactionInterfaceDaemon_private_offset = g_type_add_instance_private (pamac_transaction_interface_daemon_type_id, sizeof (PamacTransactionInterfaceDaemonPrivate));
	return pamac_transaction_interface_daemon_type_id;
}

GType
pamac_transaction_interface_daemon_get_type (void)
{
	static volatile gsize pamac_transaction_interface_daemon_type_id__once = 0;
	if (g_once_init_enter (&pamac_transaction_interface_daemon_type_id__once)) {
		GType pamac_transaction_interface_daemon_type_id;
		pamac_transaction_interface_daemon_type_id = pamac_transaction_interface_daemon_get_type_once ();
		g_once_init_leave (&pamac_transaction_interface_daemon_type_id__once, pamac_transaction_interface_daemon_type_id);
	}
	return pamac_transaction_interface_daemon_type_id__once;
}

static void
_vala_array_destroy (gpointer array,
                     gssize array_length,
                     GDestroyNotify destroy_func)
{
	if ((array != NULL) && (destroy_func != NULL)) {
		gssize i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}

static void
_vala_array_free (gpointer array,
                  gssize array_length,
                  GDestroyNotify destroy_func)
{
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}

