/* database.c generated by valac 0.56.18-dirty, the Vala compiler * generated from database.vala, do not modify */ /* * pamac-vala * * Copyright (C) 2019-2023 Guillaume Benoit * * 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 . */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #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 #if !defined(VALA_EXTERN) #if defined(_MSC_VER) #define VALA_EXTERN __declspec(dllexport) extern #elif __GNUC__ >= 4 #define VALA_EXTERN __attribute__((visibility("default"))) extern #else #define VALA_EXTERN extern #endif #endif #define PAMAC_TYPE_DATABASE (pamac_database_get_type ()) #define PAMAC_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_DATABASE, PamacDatabase)) #define PAMAC_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_DATABASE, PamacDatabaseClass)) #define PAMAC_IS_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_DATABASE)) #define PAMAC_IS_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_DATABASE)) #define PAMAC_DATABASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_DATABASE, PamacDatabaseClass)) typedef struct _PamacDatabase PamacDatabase; typedef struct _PamacDatabaseClass PamacDatabaseClass; typedef struct _PamacDatabasePrivate PamacDatabasePrivate; #define TYPE_ALPM_CONFIG (alpm_config_get_type ()) #define ALPM_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALPM_CONFIG, AlpmConfig)) #define ALPM_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALPM_CONFIG, AlpmConfigClass)) #define IS_ALPM_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALPM_CONFIG)) #define IS_ALPM_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALPM_CONFIG)) #define ALPM_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALPM_CONFIG, AlpmConfigClass)) typedef struct _AlpmConfig AlpmConfig; typedef struct _AlpmConfigClass AlpmConfigClass; #define PAMAC_TYPE_PACKAGE (pamac_package_get_type ()) #define PAMAC_PACKAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_PACKAGE, PamacPackage)) #define PAMAC_PACKAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_PACKAGE, PamacPackageClass)) #define PAMAC_IS_PACKAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_PACKAGE)) #define PAMAC_IS_PACKAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_PACKAGE)) #define PAMAC_PACKAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_PACKAGE, PamacPackageClass)) typedef struct _PamacPackage PamacPackage; typedef struct _PamacPackageClass PamacPackageClass; #define PAMAC_TYPE_ALPM_PACKAGE (pamac_alpm_package_get_type ()) #define PAMAC_ALPM_PACKAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_ALPM_PACKAGE, PamacAlpmPackage)) #define PAMAC_ALPM_PACKAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_ALPM_PACKAGE, PamacAlpmPackageClass)) #define PAMAC_IS_ALPM_PACKAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_ALPM_PACKAGE)) #define PAMAC_IS_ALPM_PACKAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_ALPM_PACKAGE)) #define PAMAC_ALPM_PACKAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_ALPM_PACKAGE, PamacAlpmPackageClass)) typedef struct _PamacAlpmPackage PamacAlpmPackage; typedef struct _PamacAlpmPackageClass PamacAlpmPackageClass; #define PAMAC_TYPE_AUR_PACKAGE (pamac_aur_package_get_type ()) #define PAMAC_AUR_PACKAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_AUR_PACKAGE, PamacAURPackage)) #define PAMAC_AUR_PACKAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_AUR_PACKAGE, PamacAURPackageClass)) #define PAMAC_IS_AUR_PACKAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_AUR_PACKAGE)) #define PAMAC_IS_AUR_PACKAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_AUR_PACKAGE)) #define PAMAC_AUR_PACKAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_AUR_PACKAGE, PamacAURPackageClass)) typedef struct _PamacAURPackage PamacAURPackage; typedef struct _PamacAURPackageClass PamacAURPackageClass; #define PAMAC_TYPE_AUR_PACKAGE_LINKED (pamac_aur_package_linked_get_type ()) #define PAMAC_AUR_PACKAGE_LINKED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_AUR_PACKAGE_LINKED, PamacAURPackageLinked)) #define PAMAC_AUR_PACKAGE_LINKED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_AUR_PACKAGE_LINKED, PamacAURPackageLinkedClass)) #define PAMAC_IS_AUR_PACKAGE_LINKED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_AUR_PACKAGE_LINKED)) #define PAMAC_IS_AUR_PACKAGE_LINKED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_AUR_PACKAGE_LINKED)) #define PAMAC_AUR_PACKAGE_LINKED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_AUR_PACKAGE_LINKED, PamacAURPackageLinkedClass)) typedef struct _PamacAURPackageLinked PamacAURPackageLinked; typedef struct _PamacAURPackageLinkedClass PamacAURPackageLinkedClass; #define PAMAC_TYPE_ALPM_PACKAGE_LINKED (pamac_alpm_package_linked_get_type ()) #define PAMAC_ALPM_PACKAGE_LINKED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_ALPM_PACKAGE_LINKED, PamacAlpmPackageLinked)) #define PAMAC_ALPM_PACKAGE_LINKED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_ALPM_PACKAGE_LINKED, PamacAlpmPackageLinkedClass)) #define PAMAC_IS_ALPM_PACKAGE_LINKED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_ALPM_PACKAGE_LINKED)) #define PAMAC_IS_ALPM_PACKAGE_LINKED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_ALPM_PACKAGE_LINKED)) #define PAMAC_ALPM_PACKAGE_LINKED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_ALPM_PACKAGE_LINKED, PamacAlpmPackageLinkedClass)) typedef struct _PamacAlpmPackageLinked PamacAlpmPackageLinked; typedef struct _PamacAlpmPackageLinkedClass PamacAlpmPackageLinkedClass; #define PAMAC_TYPE_APPSTREAM_PLUGIN (pamac_appstream_plugin_get_type ()) #define PAMAC_APPSTREAM_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_APPSTREAM_PLUGIN, PamacAppstreamPlugin)) #define PAMAC_IS_APPSTREAM_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_APPSTREAM_PLUGIN)) #define PAMAC_APPSTREAM_PLUGIN_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PAMAC_TYPE_APPSTREAM_PLUGIN, PamacAppstreamPluginIface)) typedef struct _PamacAppstreamPlugin PamacAppstreamPlugin; typedef struct _PamacAppstreamPluginIface PamacAppstreamPluginIface; #define PAMAC_TYPE_APP (pamac_app_get_type ()) #define PAMAC_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_APP, PamacApp)) #define PAMAC_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_APP, PamacAppClass)) #define PAMAC_IS_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_APP)) #define PAMAC_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_APP)) #define PAMAC_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_APP, PamacAppClass)) typedef struct _PamacApp PamacApp; typedef struct _PamacAppClass PamacAppClass; #define PAMAC_TYPE_SNAP_PLUGIN (pamac_snap_plugin_get_type ()) #define PAMAC_SNAP_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_SNAP_PLUGIN, PamacSnapPlugin)) #define PAMAC_IS_SNAP_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_SNAP_PLUGIN)) #define PAMAC_SNAP_PLUGIN_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PAMAC_TYPE_SNAP_PLUGIN, PamacSnapPluginIface)) typedef struct _PamacSnapPlugin PamacSnapPlugin; typedef struct _PamacSnapPluginIface PamacSnapPluginIface; #define PAMAC_TYPE_SNAP_PACKAGE (pamac_snap_package_get_type ()) #define PAMAC_SNAP_PACKAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_SNAP_PACKAGE, PamacSnapPackage)) #define PAMAC_SNAP_PACKAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_SNAP_PACKAGE, PamacSnapPackageClass)) #define PAMAC_IS_SNAP_PACKAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_SNAP_PACKAGE)) #define PAMAC_IS_SNAP_PACKAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_SNAP_PACKAGE)) #define PAMAC_SNAP_PACKAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_SNAP_PACKAGE, PamacSnapPackageClass)) typedef struct _PamacSnapPackage PamacSnapPackage; typedef struct _PamacSnapPackageClass PamacSnapPackageClass; #define PAMAC_TYPE_FLATPAK_PLUGIN (pamac_flatpak_plugin_get_type ()) #define PAMAC_FLATPAK_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_FLATPAK_PLUGIN, PamacFlatpakPlugin)) #define PAMAC_IS_FLATPAK_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_FLATPAK_PLUGIN)) #define PAMAC_FLATPAK_PLUGIN_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PAMAC_TYPE_FLATPAK_PLUGIN, PamacFlatpakPluginIface)) typedef struct _PamacFlatpakPlugin PamacFlatpakPlugin; typedef struct _PamacFlatpakPluginIface PamacFlatpakPluginIface; #define PAMAC_TYPE_FLATPAK_PACKAGE (pamac_flatpak_package_get_type ()) #define PAMAC_FLATPAK_PACKAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_FLATPAK_PACKAGE, PamacFlatpakPackage)) #define PAMAC_FLATPAK_PACKAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_FLATPAK_PACKAGE, PamacFlatpakPackageClass)) #define PAMAC_IS_FLATPAK_PACKAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_FLATPAK_PACKAGE)) #define PAMAC_IS_FLATPAK_PACKAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_FLATPAK_PACKAGE)) #define PAMAC_FLATPAK_PACKAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_FLATPAK_PACKAGE, PamacFlatpakPackageClass)) typedef struct _PamacFlatpakPackage PamacFlatpakPackage; typedef struct _PamacFlatpakPackageClass PamacFlatpakPackageClass; #define PAMAC_TYPE_CONFIG (pamac_config_get_type ()) #define PAMAC_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_CONFIG, PamacConfig)) #define PAMAC_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_CONFIG, PamacConfigClass)) #define PAMAC_IS_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_CONFIG)) #define PAMAC_IS_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_CONFIG)) #define PAMAC_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_CONFIG, PamacConfigClass)) typedef struct _PamacConfig PamacConfig; typedef struct _PamacConfigClass PamacConfigClass; #define PAMAC_TYPE_AUR_PLUGIN (pamac_aur_plugin_get_type ()) #define PAMAC_AUR_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_AUR_PLUGIN, PamacAURPlugin)) #define PAMAC_IS_AUR_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_AUR_PLUGIN)) #define PAMAC_AUR_PLUGIN_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PAMAC_TYPE_AUR_PLUGIN, PamacAURPluginIface)) typedef struct _PamacAURPlugin PamacAURPlugin; typedef struct _PamacAURPluginIface PamacAURPluginIface; #define PAMAC_TYPE_AUR_INFOS (pamac_aur_infos_get_type ()) #define PAMAC_AUR_INFOS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_AUR_INFOS, PamacAURInfos)) #define PAMAC_AUR_INFOS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_AUR_INFOS, PamacAURInfosClass)) #define PAMAC_IS_AUR_INFOS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_AUR_INFOS)) #define PAMAC_IS_AUR_INFOS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_AUR_INFOS)) #define PAMAC_AUR_INFOS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_AUR_INFOS, PamacAURInfosClass)) typedef struct _PamacAURInfos PamacAURInfos; typedef struct _PamacAURInfosClass PamacAURInfosClass; #define PAMAC_TYPE_ALPM_UTILS (pamac_alpm_utils_get_type ()) #define PAMAC_ALPM_UTILS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_ALPM_UTILS, PamacAlpmUtils)) #define PAMAC_ALPM_UTILS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_ALPM_UTILS, PamacAlpmUtilsClass)) #define PAMAC_IS_ALPM_UTILS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_ALPM_UTILS)) #define PAMAC_IS_ALPM_UTILS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_ALPM_UTILS)) #define PAMAC_ALPM_UTILS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_ALPM_UTILS, PamacAlpmUtilsClass)) typedef struct _PamacAlpmUtils PamacAlpmUtils; typedef struct _PamacAlpmUtilsClass PamacAlpmUtilsClass; enum { PAMAC_DATABASE_0_PROPERTY, PAMAC_DATABASE_CONFIG_PROPERTY, PAMAC_DATABASE_CONTEXT_PROPERTY, PAMAC_DATABASE_SOUP_SESSION_PROPERTY, PAMAC_DATABASE_AUR_PLUGIN_PROPERTY, PAMAC_DATABASE_ALPM_UTILS_PROPERTY, PAMAC_DATABASE_DBS_COUNT_PROPERTY, PAMAC_DATABASE_DBS_INDEX_PROPERTY, PAMAC_DATABASE_DBS_MISSING_PROPERTY, PAMAC_DATABASE_NUM_PROPERTIES }; static GParamSpec* pamac_database_properties[PAMAC_DATABASE_NUM_PROPERTIES]; #define _alpm_config_unref0(var) ((var == NULL) ? NULL : (var = (alpm_config_unref (var), NULL))) #define _alpm_release0(var) ((var == NULL) ? NULL : (var = (alpm_release (var), NULL))) #define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL))) #define _g_ptr_array_unref0(var) ((var == NULL) ? NULL : (var = (g_ptr_array_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) typedef struct _Block25Data Block25Data; #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) #define _g_thread_unref0(var) ((var == NULL) ? NULL : (var = (g_thread_unref (var), NULL))) typedef struct _PamacDatabaseGetMirrorsCountriesAsyncData PamacDatabaseGetMirrorsCountriesAsyncData; typedef struct _Block26Data Block26Data; typedef struct _PamacDatabaseGetMirrorsChoosenCountryAsyncData PamacDatabaseGetMirrorsChoosenCountryAsyncData; #define _alpm_dep_free0(var) ((var == NULL) ? NULL : (var = (alpm_dep_free (var), NULL))) typedef struct _Block27Data Block27Data; typedef struct _Block28Data Block28Data; typedef struct _PamacDatabaseGetCleanCacheDetailsAsyncData PamacDatabaseGetCleanCacheDetailsAsyncData; typedef struct _Block29Data Block29Data; typedef struct _PamacDatabaseGetBuildFilesDetailsAsyncData PamacDatabaseGetBuildFilesDetailsAsyncData; typedef struct _AlpmConfigPrivate AlpmConfigPrivate; typedef struct _Block30Data Block30Data; typedef struct _PamacDatabaseGetUninstalledOptdepsAsyncData PamacDatabaseGetUninstalledOptdepsAsyncData; #define PAMAC_TYPE_ALPM_PACKAGE_STATIC (pamac_alpm_package_static_get_type ()) #define PAMAC_ALPM_PACKAGE_STATIC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_ALPM_PACKAGE_STATIC, PamacAlpmPackageStatic)) #define PAMAC_ALPM_PACKAGE_STATIC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_ALPM_PACKAGE_STATIC, PamacAlpmPackageStaticClass)) #define PAMAC_IS_ALPM_PACKAGE_STATIC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_ALPM_PACKAGE_STATIC)) #define PAMAC_IS_ALPM_PACKAGE_STATIC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_ALPM_PACKAGE_STATIC)) #define PAMAC_ALPM_PACKAGE_STATIC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_ALPM_PACKAGE_STATIC, PamacAlpmPackageStaticClass)) typedef struct _PamacAlpmPackageStatic PamacAlpmPackageStatic; typedef struct _PamacAlpmPackageStaticClass PamacAlpmPackageStaticClass; typedef struct _Block31Data Block31Data; typedef struct _PamacDatabaseGetInstalledPkgsAsyncData PamacDatabaseGetInstalledPkgsAsyncData; typedef struct _Block32Data Block32Data; typedef struct _PamacDatabaseGetInstalledAppsAsyncData PamacDatabaseGetInstalledAppsAsyncData; #define _alpm_list_free0(var) ((var == NULL) ? NULL : (var = (alpm_list_free (var), NULL))) typedef struct _Block33Data Block33Data; typedef struct _PamacDatabaseGetExplicitlyInstalledPkgsAsyncData PamacDatabaseGetExplicitlyInstalledPkgsAsyncData; typedef struct _Block34Data Block34Data; typedef struct _PamacDatabaseGetForeignPkgsAsyncData PamacDatabaseGetForeignPkgsAsyncData; typedef struct _Block35Data Block35Data; typedef struct _PamacDatabaseGetOrphansAsyncData PamacDatabaseGetOrphansAsyncData; #define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) #define _g_uri_unref0(var) ((var == NULL) ? NULL : (var = (g_uri_unref (var), NULL))) typedef struct _PamacDatabaseGetUrlStreamData PamacDatabaseGetUrlStreamData; typedef struct _Block36Data Block36Data; typedef struct _PamacDatabaseSearchInstalledPkgsAsyncData PamacDatabaseSearchInstalledPkgsAsyncData; typedef struct _Block37Data Block37Data; typedef struct _PamacDatabaseSearchReposPkgsAsyncData PamacDatabaseSearchReposPkgsAsyncData; typedef struct _Block38Data Block38Data; typedef struct _PamacDatabaseSearchPkgsAsyncData PamacDatabaseSearchPkgsAsyncData; typedef struct _Block39Data Block39Data; typedef struct _PamacDatabaseSearchAurPkgsAsyncData PamacDatabaseSearchAurPkgsAsyncData; #define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL))) typedef struct _Block40Data Block40Data; typedef struct _Block41Data Block41Data; typedef struct _PamacDatabaseGetCategoryPkgsAsyncData PamacDatabaseGetCategoryPkgsAsyncData; typedef struct _Block42Data Block42Data; typedef struct _PamacDatabaseGetRepoPkgsAsyncData PamacDatabaseGetRepoPkgsAsyncData; typedef struct _Block43Data Block43Data; typedef struct _PamacDatabaseGetGroupPkgsAsyncData PamacDatabaseGetGroupPkgsAsyncData; typedef struct _Block44Data Block44Data; typedef struct _PamacDatabaseGetPkgFilesAsyncData PamacDatabaseGetPkgFilesAsyncData; typedef struct _Block45Data Block45Data; typedef struct _PamacDatabaseCloneBuildFilesAsyncData PamacDatabaseCloneBuildFilesAsyncData; #define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL))) typedef struct _Block46Data Block46Data; typedef struct _PamacDatabaseRegenerateSrcinfoAsyncData PamacDatabaseRegenerateSrcinfoAsyncData; typedef struct _Block47Data Block47Data; typedef struct _Block48Data Block48Data; typedef struct _PamacDatabaseGetAurPkgAsyncData PamacDatabaseGetAurPkgAsyncData; typedef struct _Block49Data Block49Data; typedef struct _PamacDatabaseGetAurPkgsAsyncData PamacDatabaseGetAurPkgsAsyncData; typedef struct _Block50Data Block50Data; typedef struct _PamacDatabaseRefreshTmpFilesDbsAsyncData PamacDatabaseRefreshTmpFilesDbsAsyncData; #define PAMAC_TYPE_UPDATES (pamac_updates_get_type ()) #define PAMAC_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_UPDATES, PamacUpdates)) #define PAMAC_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_UPDATES, PamacUpdatesClass)) #define PAMAC_IS_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_UPDATES)) #define PAMAC_IS_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_UPDATES)) #define PAMAC_UPDATES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_UPDATES, PamacUpdatesClass)) typedef struct _PamacUpdates PamacUpdates; typedef struct _PamacUpdatesClass PamacUpdatesClass; typedef struct _Block51Data Block51Data; typedef struct _PamacDatabaseGetUpdatesAsyncData PamacDatabaseGetUpdatesAsyncData; typedef struct _Block52Data Block52Data; typedef struct _PamacDatabaseGetAurUpdatesAsyncData PamacDatabaseGetAurUpdatesAsyncData; typedef struct _Block53Data Block53Data; typedef struct _PamacDatabaseSearchSnapsAsyncData PamacDatabaseSearchSnapsAsyncData; typedef struct _Block54Data Block54Data; typedef struct _Block55Data Block55Data; typedef struct _PamacDatabaseGetSnapAsyncData PamacDatabaseGetSnapAsyncData; typedef struct _Block56Data Block56Data; typedef struct _PamacDatabaseGetInstalledSnapsAsyncData PamacDatabaseGetInstalledSnapsAsyncData; typedef struct _Block57Data Block57Data; typedef struct _Block58Data Block58Data; typedef struct _PamacDatabaseGetInstalledSnapIconAsyncData PamacDatabaseGetInstalledSnapIconAsyncData; typedef struct _Block59Data Block59Data; typedef struct _Block60Data Block60Data; typedef struct _PamacDatabaseGetCategorySnapsAsyncData PamacDatabaseGetCategorySnapsAsyncData; typedef struct _Block61Data Block61Data; typedef struct _PamacDatabaseRefreshFlatpakAppstreamDataAsyncData PamacDatabaseRefreshFlatpakAppstreamDataAsyncData; typedef struct _Block62Data Block62Data; typedef struct _PamacDatabaseGetInstalledFlatpaksAsyncData PamacDatabaseGetInstalledFlatpaksAsyncData; typedef struct _Block63Data Block63Data; typedef struct _Block64Data Block64Data; typedef struct _PamacDatabaseSearchFlatpaksAsyncData PamacDatabaseSearchFlatpaksAsyncData; typedef struct _Block65Data Block65Data; typedef struct _Block66Data Block66Data; typedef struct _PamacDatabaseGetFlatpakAsyncData PamacDatabaseGetFlatpakAsyncData; typedef struct _Block67Data Block67Data; typedef struct _Block68Data Block68Data; typedef struct _PamacDatabaseGetCategoryFlatpaksAsyncData PamacDatabaseGetCategoryFlatpaksAsyncData; enum { PAMAC_DATABASE_GET_UPDATES_PROGRESS_SIGNAL, PAMAC_DATABASE_EMIT_WARNING_SIGNAL, PAMAC_DATABASE_NUM_SIGNALS }; static guint pamac_database_signals[PAMAC_DATABASE_NUM_SIGNALS] = {0}; typedef struct _Block69Data Block69Data; struct _PamacDatabase { GObject parent_instance; PamacDatabasePrivate * priv; GCompareFunc vercmp; }; struct _PamacDatabaseClass { GObjectClass parent_class; }; struct _PamacAppstreamPluginIface { GTypeInterface parent_iface; void (*load) (PamacAppstreamPlugin* self, GPtrArray* repos_names); GPtrArray* (*get_apps) (PamacAppstreamPlugin* self); GPtrArray* (*search) (PamacAppstreamPlugin* self, gchar** search_tokens, gint search_tokens_length1); GPtrArray* (*get_pkgname_apps) (PamacAppstreamPlugin* self, const gchar* pkgname); GHashTable* (*get_category_apps) (PamacAppstreamPlugin* self, const gchar* category); }; struct _PamacSnapPluginIface { GTypeInterface parent_iface; void (*search_snaps) (PamacSnapPlugin* self, const gchar* search_string, GPtrArray** pkgs); void (*search_uninstalled_snaps_sync) (PamacSnapPlugin* self, const gchar* search_string, GPtrArray** pkgs); gboolean (*is_installed_snap) (PamacSnapPlugin* self, const gchar* name); PamacSnapPackage* (*get_snap) (PamacSnapPlugin* self, const gchar* name); PamacSnapPackage* (*get_snap_by_app_id) (PamacSnapPlugin* self, const gchar* app_id); void (*get_installed_snaps) (PamacSnapPlugin* self, GPtrArray** pkgs); gchar* (*get_installed_snap_icon) (PamacSnapPlugin* self, const gchar* name, GError** error); void (*get_category_snaps) (PamacSnapPlugin* self, const gchar* category, GPtrArray** pkgs); gboolean (*trans_run) (PamacSnapPlugin* self, const gchar* sender, gchar** to_install, gint to_install_length1, gchar** to_remove, gint to_remove_length1); gboolean (*switch_channel) (PamacSnapPlugin* self, const gchar* sender, const gchar* name, const gchar* channel); void (*trans_cancel) (PamacSnapPlugin* self, const gchar* sender); void (*refresh) (PamacSnapPlugin* self); }; struct _PamacFlatpakPluginIface { GTypeInterface parent_iface; gboolean (*refresh_appstream_data) (PamacFlatpakPlugin* self); void (*load_appstream_data) (PamacFlatpakPlugin* self); void (*get_remotes_names) (PamacFlatpakPlugin* self, GPtrArray** remotes_names); void (*search_flatpaks) (PamacFlatpakPlugin* self, const gchar* search_string, GPtrArray** pkgs); void (*search_uninstalled_flatpaks_sync) (PamacFlatpakPlugin* self, gchar** search_terms, gint search_terms_length1, GPtrArray** pkgs); gboolean (*is_installed_flatpak) (PamacFlatpakPlugin* self, const gchar* name); PamacFlatpakPackage* (*get_flatpak_by_app_id) (PamacFlatpakPlugin* self, const gchar* app_id); PamacFlatpakPackage* (*get_flatpak) (PamacFlatpakPlugin* self, const gchar* id); void (*get_installed_flatpaks) (PamacFlatpakPlugin* self, GPtrArray** pkgs); void (*get_category_flatpaks) (PamacFlatpakPlugin* self, const gchar* category, GPtrArray** pkgs); void (*get_flatpak_updates) (PamacFlatpakPlugin* self, GPtrArray** pkgs); gboolean (*trans_run) (PamacFlatpakPlugin* self, const gchar* sender, gchar** to_install, gint to_install_length1, gchar** to_remove, gint to_remove_length1, gchar** to_upgrade, gint to_upgrade_length1); void (*trans_cancel) (PamacFlatpakPlugin* self, const gchar* sender); void (*refresh) (PamacFlatpakPlugin* self); guint64 (*get_refresh_period) (PamacFlatpakPlugin* self); void (*set_refresh_period) (PamacFlatpakPlugin* self, guint64 value); }; struct _PamacAURPluginIface { GTypeInterface parent_iface; void (*set_real_build_dir) (PamacAURPlugin* self, const gchar* config_aur_build_dir); const gchar* (*get_real_build_dir) (PamacAURPlugin* self); gboolean (*update_db) (PamacAURPlugin* self, gboolean force_refresh, gboolean emit_signal); PamacAURInfos* (*get_infos) (PamacAURPlugin* self, const gchar* pkgname); GPtrArray* (*get_multi_infos) (PamacAURPlugin* self, GPtrArray* pkgnames); GPtrArray* (*get_providers) (PamacAURPlugin* self, const gchar* depend); GPtrArray* (*search) (PamacAURPlugin* self, const gchar* search_string); }; struct _PamacDatabasePrivate { AlpmConfig* alpm_config; GRecMutex __lock_alpm_config; alpm_handle_t* alpm_handle; alpm_handle_t* files_handle; GHashTable* aur_vcs_pkgs; GHashTable* pkgs_cache; GHashTable* aur_pkgs_cache; GPtrArray* mirrors_countries; gchar* mirrors_choosen_country; GPtrArray* groups_names; GPtrArray* repos_names; GPtrArray* categories_names; PamacAppstreamPlugin* appstream_plugin; PamacSnapPlugin* snap_plugin; PamacFlatpakPlugin* flatpak_plugin; PamacConfig* _config; GMainContext* _context; SoupSession* _soup_session; PamacAURPlugin* _aur_plugin; PamacAlpmUtils* _alpm_utils; gsize _dbs_count; gsize _dbs_index; gboolean _dbs_missing; }; struct _Block25Data { int _ref_count_; PamacDatabase* self; gpointer _async_data_; }; struct _PamacDatabaseGetMirrorsCountriesAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; GPtrArray* result; Block25Data* _data25_; GPtrArray* _tmp0_; GPtrArray* _tmp1_; GThread* _tmp2_; GThread* _tmp3_; GError* e; GError* _tmp4_; const gchar* _tmp5_; GPtrArray* _tmp6_; GError* _inner_error0_; }; struct _Block26Data { int _ref_count_; PamacDatabase* self; gpointer _async_data_; }; struct _PamacDatabaseGetMirrorsChoosenCountryAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; const gchar* result; Block26Data* _data26_; const gchar* _tmp0_; const gchar* _tmp1_; gchar* _tmp2_; GThread* _tmp3_; GThread* _tmp4_; GError* e; GError* _tmp5_; const gchar* _tmp6_; const gchar* _tmp7_; GError* _inner_error0_; }; struct _Block27Data { int _ref_count_; GPtrArray* self; GCompareFunc compare_func; }; struct _Block28Data { int _ref_count_; PamacDatabase* self; GHashTable* filenames_size; gpointer _async_data_; }; struct _PamacDatabaseGetCleanCacheDetailsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; GHashTable* result; Block28Data* _data28_; GHashFunc _tmp0_; GEqualFunc _tmp1_; GHashTable* _tmp2_; GThread* _tmp3_; GThread* _tmp4_; GError* e; GError* _tmp5_; const gchar* _tmp6_; GHashTable* _tmp7_; GError* _inner_error0_; }; struct _Block29Data { int _ref_count_; PamacDatabase* self; GHashTable* filenames_size; gpointer _async_data_; }; struct _PamacDatabaseGetBuildFilesDetailsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; GHashTable* result; Block29Data* _data29_; GHashFunc _tmp0_; GEqualFunc _tmp1_; GHashTable* _tmp2_; GThread* _tmp3_; GThread* _tmp4_; GError* e; GError* _tmp5_; const gchar* _tmp6_; GHashTable* _tmp7_; GError* _inner_error0_; }; struct _AlpmConfig { GTypeInstance parent_instance; volatile int ref_count; AlpmConfigPrivate * priv; gchar* dbpath; gboolean checkspace; GHashTable* ignorepkgs; GHashTable* holdpkgs; GHashTable* syncfirsts; }; struct _AlpmConfigClass { GTypeClass parent_class; void (*finalize) (AlpmConfig *self); }; struct _Block30Data { int _ref_count_; PamacDatabase* self; GPtrArray* optdeps; gchar* pkgname_copy; gpointer _async_data_; }; struct _PamacDatabaseGetUninstalledOptdepsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* pkgname; GPtrArray* result; Block30Data* _data30_; GPtrArray* _tmp0_; gchar* _tmp1_; GThread* _tmp2_; GThread* _tmp3_; GError* e; GError* _tmp4_; const gchar* _tmp5_; GPtrArray* _tmp6_; GError* _inner_error0_; }; struct _Block31Data { int _ref_count_; PamacDatabase* self; GPtrArray* pkgs; gpointer _async_data_; }; struct _PamacDatabaseGetInstalledPkgsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; GPtrArray* result; Block31Data* _data31_; GPtrArray* _tmp0_; GThread* _tmp1_; GThread* _tmp2_; GError* e; GError* _tmp3_; const gchar* _tmp4_; GPtrArray* _tmp5_; GError* _inner_error0_; }; struct _Block32Data { int _ref_count_; PamacDatabase* self; GPtrArray* pkgs; gpointer _async_data_; }; struct _PamacDatabaseGetInstalledAppsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; GPtrArray* result; Block32Data* _data32_; GPtrArray* _tmp0_; PamacConfig* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; GThread* _tmp4_; GThread* _tmp5_; GError* e; GError* _tmp6_; const gchar* _tmp7_; GPtrArray* _tmp8_; GPtrArray* _tmp9_; GError* _inner_error0_; }; struct _Block33Data { int _ref_count_; PamacDatabase* self; GPtrArray* pkgs; gpointer _async_data_; }; struct _PamacDatabaseGetExplicitlyInstalledPkgsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; GPtrArray* result; Block33Data* _data33_; GPtrArray* _tmp0_; GThread* _tmp1_; GThread* _tmp2_; GError* e; GError* _tmp3_; const gchar* _tmp4_; GPtrArray* _tmp5_; GError* _inner_error0_; }; struct _Block34Data { int _ref_count_; PamacDatabase* self; GPtrArray* pkgs; gpointer _async_data_; }; struct _PamacDatabaseGetForeignPkgsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; GPtrArray* result; Block34Data* _data34_; GPtrArray* _tmp0_; GThread* _tmp1_; GThread* _tmp2_; GError* e; GError* _tmp3_; const gchar* _tmp4_; GPtrArray* _tmp5_; GError* _inner_error0_; }; struct _Block35Data { int _ref_count_; PamacDatabase* self; GPtrArray* pkgs; gpointer _async_data_; }; struct _PamacDatabaseGetOrphansAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; GPtrArray* result; Block35Data* _data35_; GPtrArray* _tmp0_; GThread* _tmp1_; GThread* _tmp2_; GError* e; GError* _tmp3_; const gchar* _tmp4_; GPtrArray* _tmp5_; GError* _inner_error0_; }; struct _PamacDatabaseGetUrlStreamData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* url; GInputStream* result; GUri* uri; GUri* _tmp0_; SoupMessage* message; GUri* _tmp1_; SoupMessage* _tmp2_; GInputStream* _tmp3_; SoupSession* _tmp4_; SoupMessage* _tmp5_; GInputStream* _tmp6_; GInputStream* _tmp7_; GError* e; GError* _tmp8_; GError* _tmp9_; GError* _inner_error0_; }; struct _Block36Data { int _ref_count_; PamacDatabase* self; gchar* search_string_down; GPtrArray* pkgs; gpointer _async_data_; }; struct _PamacDatabaseSearchInstalledPkgsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* search_string; GPtrArray* result; Block36Data* _data36_; gchar* _tmp0_; GPtrArray* _tmp1_; GThread* _tmp2_; GThread* _tmp3_; GError* e; GError* _tmp4_; const gchar* _tmp5_; GPtrArray* _tmp6_; GError* _inner_error0_; }; struct _Block37Data { int _ref_count_; PamacDatabase* self; gchar* search_string_down; GPtrArray* pkgs; gpointer _async_data_; }; struct _PamacDatabaseSearchReposPkgsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* search_string; GPtrArray* result; Block37Data* _data37_; gchar* _tmp0_; GPtrArray* _tmp1_; GThread* _tmp2_; GThread* _tmp3_; GError* e; GError* _tmp4_; const gchar* _tmp5_; GPtrArray* _tmp6_; GError* _inner_error0_; }; struct _Block38Data { int _ref_count_; PamacDatabase* self; gchar* search_string_down; GPtrArray* pkgs; gpointer _async_data_; }; struct _PamacDatabaseSearchPkgsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* search_string; GPtrArray* result; Block38Data* _data38_; gchar* _tmp0_; GPtrArray* _tmp1_; GThread* _tmp2_; GThread* _tmp3_; GError* e; GError* _tmp4_; const gchar* _tmp5_; GPtrArray* _tmp6_; GError* _inner_error0_; }; struct _Block39Data { int _ref_count_; PamacDatabase* self; gchar* search_string_down; GPtrArray* pkgs; gpointer _async_data_; }; struct _PamacDatabaseSearchAurPkgsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* search_string; GPtrArray* result; Block39Data* _data39_; gchar* _tmp0_; GPtrArray* _tmp1_; PamacConfig* _tmp2_; gboolean _tmp3_; gboolean _tmp4_; GThread* _tmp5_; GThread* _tmp6_; GError* e; GError* _tmp7_; const gchar* _tmp8_; GPtrArray* _tmp9_; GPtrArray* _tmp10_; GError* _inner_error0_; }; struct _Block40Data { int _ref_count_; PamacDatabase* self; GPtrArray* pkgs; gpointer _async_data_; }; struct _Block41Data { int _ref_count_; Block40Data * _data40_; gchar* category_copy; }; struct _PamacDatabaseGetCategoryPkgsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* category; GPtrArray* result; Block40Data* _data40_; GPtrArray* _tmp0_; PamacConfig* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; Block41Data* _data41_; gchar* _tmp4_; GThread* _tmp5_; GThread* _tmp6_; GError* e; GError* _tmp7_; const gchar* _tmp8_; GPtrArray* _tmp9_; GPtrArray* _tmp10_; GError* _inner_error0_; }; struct _Block42Data { int _ref_count_; PamacDatabase* self; GPtrArray* pkgs; gchar* repo_copy; gpointer _async_data_; }; struct _PamacDatabaseGetRepoPkgsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* repo; GPtrArray* result; Block42Data* _data42_; GPtrArray* _tmp0_; gchar* _tmp1_; GThread* _tmp2_; GThread* _tmp3_; GError* e; GError* _tmp4_; const gchar* _tmp5_; GPtrArray* _tmp6_; GError* _inner_error0_; }; struct _Block43Data { int _ref_count_; PamacDatabase* self; GPtrArray* pkgs; gchar* group_name_copy; gpointer _async_data_; }; struct _PamacDatabaseGetGroupPkgsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* group_name; GPtrArray* result; Block43Data* _data43_; GPtrArray* _tmp0_; gchar* _tmp1_; GThread* _tmp2_; GThread* _tmp3_; GError* e; GError* _tmp4_; const gchar* _tmp5_; GPtrArray* _tmp6_; GError* _inner_error0_; }; struct _Block44Data { int _ref_count_; PamacDatabase* self; GPtrArray* files; gchar* pkgname; alpm_pkg_t* local_pkg; gpointer _async_data_; }; struct _PamacDatabaseGetPkgFilesAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* pkgname; alpm_pkg_t* local_pkg; GPtrArray* result; Block44Data* _data44_; GPtrArray* _tmp0_; GThread* _tmp1_; GThread* _tmp2_; GError* e; GError* _tmp3_; const gchar* _tmp4_; GPtrArray* _tmp5_; GError* _inner_error0_; }; struct _Block45Data { int _ref_count_; PamacDatabase* self; GFile* file; gchar* pkgname_copy; gboolean overwrite_files; GCancellable* cancellable; gpointer _async_data_; }; struct _PamacDatabaseCloneBuildFilesAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* pkgname; gboolean overwrite_files; GCancellable* cancellable; GFile* result; Block45Data* _data45_; gchar* _tmp0_; GThread* _tmp1_; GThread* _tmp2_; GError* e; GError* _tmp3_; const gchar* _tmp4_; GFile* _tmp5_; GError* _inner_error0_; }; struct _Block46Data { int _ref_count_; PamacDatabase* self; gboolean success; gchar* pkgname_copy; GCancellable* cancellable; gpointer _async_data_; }; struct _PamacDatabaseRegenerateSrcinfoAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* pkgname; GCancellable* cancellable; gboolean result; Block46Data* _data46_; gchar* _tmp0_; GThread* _tmp1_; GThread* _tmp2_; GError* e; GError* _tmp3_; const gchar* _tmp4_; GError* _inner_error0_; }; struct _Block47Data { int _ref_count_; PamacDatabase* self; PamacAURPackage* pkg; gpointer _async_data_; }; struct _Block48Data { int _ref_count_; Block47Data * _data47_; gchar* pkgname_copy; }; struct _PamacDatabaseGetAurPkgAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* pkgname; PamacAURPackage* result; Block47Data* _data47_; PamacConfig* _tmp0_; gboolean _tmp1_; gboolean _tmp2_; Block48Data* _data48_; gchar* _tmp3_; GThread* _tmp4_; GThread* _tmp5_; GError* e; GError* _tmp6_; const gchar* _tmp7_; PamacAURPackage* _tmp8_; GError* _inner_error0_; }; struct _Block49Data { int _ref_count_; PamacDatabase* self; GHashTable* data; GPtrArray* pkgnames; gpointer _async_data_; }; struct _PamacDatabaseGetAurPkgsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; GPtrArray* pkgnames; GHashTable* result; Block49Data* _data49_; GHashFunc _tmp0_; GEqualFunc _tmp1_; GHashTable* _tmp2_; PamacConfig* _tmp3_; gboolean _tmp4_; gboolean _tmp5_; GHashTable* _tmp6_; GHashTable* _tmp7_; GThread* _tmp8_; GThread* _tmp9_; GError* e; GError* _tmp10_; const gchar* _tmp11_; GHashTable* _tmp12_; GHashTable* _tmp13_; GError* _inner_error0_; }; struct _Block50Data { int _ref_count_; PamacDatabase* self; gpointer _async_data_; }; struct _PamacDatabaseRefreshTmpFilesDbsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; Block50Data* _data50_; GThread* _tmp0_; GThread* _tmp1_; GError* e; GError* _tmp2_; const gchar* _tmp3_; GError* _inner_error0_; }; struct _Block51Data { int _ref_count_; PamacDatabase* self; PamacUpdates* updates; gboolean use_timestamp; gpointer _async_data_; }; struct _PamacDatabaseGetUpdatesAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gboolean use_timestamp; PamacUpdates* result; Block51Data* _data51_; PamacUpdates* _tmp0_; GThread* _tmp1_; GThread* _tmp2_; GError* e; GError* _tmp3_; const gchar* _tmp4_; PamacUpdates* _tmp5_; GError* _inner_error0_; }; struct _Block52Data { int _ref_count_; PamacDatabase* self; PamacUpdates* updates; GHashTable* ignorepkgs; gpointer _async_data_; }; struct _PamacDatabaseGetAurUpdatesAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; GHashTable* ignorepkgs; PamacUpdates* result; Block52Data* _data52_; PamacUpdates* _tmp0_; GThread* _tmp1_; GThread* _tmp2_; GError* e; GError* _tmp3_; const gchar* _tmp4_; PamacUpdates* _tmp5_; GError* _inner_error0_; }; struct _Block53Data { int _ref_count_; PamacDatabase* self; gchar* search_string_down; GPtrArray* pkgs; gpointer _async_data_; }; struct _PamacDatabaseSearchSnapsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* search_string; GPtrArray* result; Block53Data* _data53_; gchar* _tmp0_; GPtrArray* _tmp1_; PamacConfig* _tmp2_; gboolean _tmp3_; gboolean _tmp4_; GThread* _tmp5_; GThread* _tmp6_; GError* e; GError* _tmp7_; const gchar* _tmp8_; GPtrArray* _tmp9_; GPtrArray* _tmp10_; GError* _inner_error0_; }; struct _Block54Data { int _ref_count_; PamacDatabase* self; PamacSnapPackage* pkg; gpointer _async_data_; }; struct _Block55Data { int _ref_count_; Block54Data * _data54_; gchar* name_copy; }; struct _PamacDatabaseGetSnapAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* name; PamacSnapPackage* result; Block54Data* _data54_; PamacConfig* _tmp0_; gboolean _tmp1_; gboolean _tmp2_; Block55Data* _data55_; gchar* _tmp3_; GThread* _tmp4_; GThread* _tmp5_; GError* e; GError* _tmp6_; const gchar* _tmp7_; PamacSnapPackage* _tmp8_; GError* _inner_error0_; }; struct _Block56Data { int _ref_count_; PamacDatabase* self; GPtrArray* pkgs; gpointer _async_data_; }; struct _PamacDatabaseGetInstalledSnapsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; GPtrArray* result; Block56Data* _data56_; GPtrArray* _tmp0_; PamacConfig* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; GThread* _tmp4_; GThread* _tmp5_; GError* e; GError* _tmp6_; const gchar* _tmp7_; GPtrArray* _tmp8_; GPtrArray* _tmp9_; GError* _inner_error0_; }; struct _Block57Data { int _ref_count_; PamacDatabase* self; gchar* icon; gpointer _async_data_; }; struct _Block58Data { int _ref_count_; Block57Data * _data57_; gchar* name_copy; }; struct _PamacDatabaseGetInstalledSnapIconAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* name; gchar* result; Block57Data* _data57_; gchar* _tmp0_; PamacConfig* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; Block58Data* _data58_; gchar* _tmp4_; GThread* _tmp5_; GThread* _tmp6_; GError* e; GError* _tmp7_; const gchar* _tmp8_; const gchar* _tmp9_; gchar* _tmp10_; GError* _inner_error0_; }; struct _Block59Data { int _ref_count_; PamacDatabase* self; GPtrArray* pkgs; gpointer _async_data_; }; struct _Block60Data { int _ref_count_; Block59Data * _data59_; gchar* category_copy; }; struct _PamacDatabaseGetCategorySnapsAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* category; GPtrArray* result; Block59Data* _data59_; GPtrArray* _tmp0_; PamacConfig* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; Block60Data* _data60_; gchar* _tmp4_; GThread* _tmp5_; GThread* _tmp6_; GError* e; GError* _tmp7_; const gchar* _tmp8_; GPtrArray* _tmp9_; GPtrArray* _tmp10_; GError* _inner_error0_; }; struct _Block61Data { int _ref_count_; PamacDatabase* self; gpointer _async_data_; }; struct _PamacDatabaseRefreshFlatpakAppstreamDataAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; Block61Data* _data61_; PamacConfig* _tmp0_; gboolean _tmp1_; gboolean _tmp2_; GThread* _tmp3_; GThread* _tmp4_; GError* e; GError* _tmp5_; const gchar* _tmp6_; GError* _inner_error0_; }; struct _Block62Data { int _ref_count_; PamacDatabase* self; GPtrArray* pkgs; gpointer _async_data_; }; struct _PamacDatabaseGetInstalledFlatpaksAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; GPtrArray* result; Block62Data* _data62_; GPtrArray* _tmp0_; PamacConfig* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; GThread* _tmp4_; GThread* _tmp5_; GError* e; GError* _tmp6_; const gchar* _tmp7_; GPtrArray* _tmp8_; GPtrArray* _tmp9_; GError* _inner_error0_; }; struct _Block63Data { int _ref_count_; PamacDatabase* self; GPtrArray* pkgs; gpointer _async_data_; }; struct _Block64Data { int _ref_count_; Block63Data * _data63_; gchar* search_string_down; }; struct _PamacDatabaseSearchFlatpaksAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* search_string; GPtrArray* result; Block63Data* _data63_; GPtrArray* _tmp0_; PamacConfig* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; Block64Data* _data64_; gchar* _tmp4_; GThread* _tmp5_; GThread* _tmp6_; GError* e; GError* _tmp7_; const gchar* _tmp8_; GPtrArray* _tmp9_; GPtrArray* _tmp10_; GError* _inner_error0_; }; struct _Block65Data { int _ref_count_; PamacDatabase* self; PamacFlatpakPackage* pkg; gpointer _async_data_; }; struct _Block66Data { int _ref_count_; Block65Data * _data65_; gchar* id_copy; }; struct _PamacDatabaseGetFlatpakAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* id; PamacFlatpakPackage* result; Block65Data* _data65_; PamacConfig* _tmp0_; gboolean _tmp1_; gboolean _tmp2_; Block66Data* _data66_; gchar* _tmp3_; GThread* _tmp4_; GThread* _tmp5_; GError* e; GError* _tmp6_; const gchar* _tmp7_; PamacFlatpakPackage* _tmp8_; GError* _inner_error0_; }; struct _Block67Data { int _ref_count_; PamacDatabase* self; GPtrArray* pkgs; gpointer _async_data_; }; struct _Block68Data { int _ref_count_; Block67Data * _data67_; gchar* category_copy; }; struct _PamacDatabaseGetCategoryFlatpaksAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; PamacDatabase* self; gchar* category; GPtrArray* result; Block67Data* _data67_; GPtrArray* _tmp0_; PamacConfig* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; Block68Data* _data68_; gchar* _tmp4_; GThread* _tmp5_; GThread* _tmp6_; GError* e; GError* _tmp7_; const gchar* _tmp8_; GPtrArray* _tmp9_; GPtrArray* _tmp10_; GError* _inner_error0_; }; struct _Block69Data { int _ref_count_; PamacDatabase* database; }; static gint PamacDatabase_private_offset; static gpointer pamac_database_parent_class = NULL; VALA_EXTERN GType pamac_database_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacDatabase, g_object_unref) VALA_EXTERN gpointer alpm_config_ref (gpointer instance); VALA_EXTERN void alpm_config_unref (gpointer instance); VALA_EXTERN GParamSpec* param_spec_alpm_config (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); VALA_EXTERN void value_set_alpm_config (GValue* value, gpointer v_object); VALA_EXTERN void value_take_alpm_config (GValue* value, gpointer v_object); VALA_EXTERN gpointer value_get_alpm_config (const GValue* value); VALA_EXTERN GType alpm_config_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (AlpmConfig, alpm_config_unref) VALA_EXTERN GType pamac_package_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacPackage, g_object_unref) VALA_EXTERN GType pamac_alpm_package_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacAlpmPackage, g_object_unref) VALA_EXTERN GType pamac_aur_package_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacAURPackage, g_object_unref) VALA_EXTERN GType pamac_aur_package_linked_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacAURPackageLinked, g_object_unref) VALA_EXTERN GType pamac_alpm_package_linked_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacAlpmPackageLinked, g_object_unref) VALA_EXTERN GType pamac_app_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacApp, g_object_unref) VALA_EXTERN GType pamac_appstream_plugin_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacAppstreamPlugin, g_object_unref) VALA_EXTERN GType pamac_snap_package_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacSnapPackage, g_object_unref) VALA_EXTERN GType pamac_snap_plugin_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacSnapPlugin, g_object_unref) VALA_EXTERN GType pamac_flatpak_package_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacFlatpakPackage, g_object_unref) VALA_EXTERN GType pamac_flatpak_plugin_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacFlatpakPlugin, g_object_unref) VALA_EXTERN GType pamac_config_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacConfig, g_object_unref) VALA_EXTERN GType pamac_aur_infos_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacAURInfos, g_object_unref) VALA_EXTERN GType pamac_aur_plugin_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacAURPlugin, g_object_unref) VALA_EXTERN GType pamac_alpm_utils_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacAlpmUtils, g_object_unref) static gint _alpm_pkg_vercmp_gcompare_func (gconstpointer a, gconstpointer b); VALA_EXTERN PamacDatabase* pamac_database_new (PamacConfig* config); VALA_EXTERN PamacDatabase* pamac_database_construct (GType object_type, PamacConfig* config); VALA_EXTERN void pamac_database_refresh (PamacDatabase* self); VALA_EXTERN void alpm_config_reload (AlpmConfig* self); VALA_EXTERN alpm_handle_t* alpm_config_get_handle (AlpmConfig* self, gboolean files_db, gboolean tmp_db, gboolean copy_dbs); VALA_EXTERN PamacConfig* pamac_database_get_config (PamacDatabase* self); VALA_EXTERN GHashTable* pamac_config_get_ignorepkgs (PamacConfig* self); VALA_EXTERN void alpm_config_register_syncdbs (AlpmConfig* self, alpm_handle_t* handle); VALA_EXTERN gboolean pamac_config_get_enable_snap (PamacConfig* self); VALA_EXTERN void pamac_snap_plugin_refresh (PamacSnapPlugin* self); VALA_EXTERN gboolean pamac_config_get_enable_flatpak (PamacConfig* self); VALA_EXTERN void pamac_flatpak_plugin_refresh (PamacFlatpakPlugin* self); VALA_EXTERN alpm_handle_t* pamac_database_get_tmp_handle (PamacDatabase* self); static void pamac_database_get_mirrors_countries_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_mirrors_countries_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_mirrors_countries_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_mirrors_countries_async_co (PamacDatabaseGetMirrorsCountriesAsyncData* _data_); static Block25Data* block25_data_ref (Block25Data* _data25_); static void block25_data_unref (void * _userdata_); static gint ___lambda6_ (Block25Data* _data25_); static void _g_free0_ (gpointer var); VALA_EXTERN GMainContext* pamac_database_get_context (PamacDatabase* self); static gboolean _pamac_database_get_mirrors_countries_async_co_gsource_func (gpointer self); static gpointer ____lambda6__gthread_func (gpointer self); static void pamac_database_get_mirrors_choosen_country_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_mirrors_choosen_country_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN const gchar* pamac_database_get_mirrors_choosen_country_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_mirrors_choosen_country_async_co (PamacDatabaseGetMirrorsChoosenCountryAsyncData* _data_); static Block26Data* block26_data_ref (Block26Data* _data26_); static void block26_data_unref (void * _userdata_); static gint ___lambda7_ (Block26Data* _data26_); static gboolean _pamac_database_get_mirrors_choosen_country_async_co_gsource_func (gpointer self); static gpointer ____lambda7__gthread_func (gpointer self); VALA_EXTERN gchar* pamac_database_get_alpm_dep_name (PamacDatabase* self, const gchar* dep_string); static void pamac_database_get_clean_cache_details_real (PamacDatabase* self, GHashTable** filenames_size); static void _g_ptr_array_unref0_ (gpointer var); VALA_EXTERN gboolean pamac_config_get_clean_rm_only_uninstalled (PamacConfig* self); VALA_EXTERN gboolean pamac_database_is_installed_pkg (PamacDatabase* self, const gchar* pkgname); static guint64* _uint64_dup (guint64* self); VALA_EXTERN guint64 pamac_config_get_clean_keep_num_pkgs (PamacConfig* self); static Block27Data* block27_data_ref (Block27Data* _data27_); static void block27_data_unref (void * _userdata_); static gint ___lambda0__gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); static gint ____lambda8_ (const gchar* version1, const gchar* version2); static gint _____lambda8__gcompare_func (gconstpointer a, gconstpointer b); VALA_EXTERN GHashTable* pamac_database_get_clean_cache_details (PamacDatabase* self); static void pamac_database_get_clean_cache_details_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_clean_cache_details_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GHashTable* pamac_database_get_clean_cache_details_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_clean_cache_details_async_co (PamacDatabaseGetCleanCacheDetailsAsyncData* _data_); static Block28Data* block28_data_ref (Block28Data* _data28_); static void block28_data_unref (void * _userdata_); static gint ___lambda9_ (Block28Data* _data28_); static gboolean _pamac_database_get_clean_cache_details_async_co_gsource_func (gpointer self); static gpointer ____lambda9__gthread_func (gpointer self); static void pamac_database_get_build_files_details_real (PamacDatabase* self, GHashTable** filenames_size); VALA_EXTERN PamacAURPlugin* pamac_database_get_aur_plugin (PamacDatabase* self); VALA_EXTERN const gchar* pamac_aur_plugin_get_real_build_dir (PamacAURPlugin* self); VALA_EXTERN GHashTable* pamac_database_get_build_files_details (PamacDatabase* self); static void pamac_database_get_build_files_details_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_build_files_details_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GHashTable* pamac_database_get_build_files_details_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_build_files_details_async_co (PamacDatabaseGetBuildFilesDetailsAsyncData* _data_); static Block29Data* block29_data_ref (Block29Data* _data29_); static void block29_data_unref (void * _userdata_); static gint ___lambda10_ (Block29Data* _data29_); static gboolean _pamac_database_get_build_files_details_async_co_gsource_func (gpointer self); static gpointer ____lambda10__gthread_func (gpointer self); VALA_EXTERN alpm_pkg_t* pamac_database_intern_get_local_pkg (PamacDatabase* self, const gchar* pkgname); VALA_EXTERN PamacAlpmPackage* pamac_database_get_installed_pkg (PamacDatabase* self, const gchar* pkgname); static PamacAlpmPackage* pamac_database_initialise_pkg (PamacDatabase* self, alpm_pkg_t* alpm_pkg, alpm_pkg_t* sync_pkg); VALA_EXTERN gboolean pamac_database_has_installed_satisfier (PamacDatabase* self, const gchar* depstring); VALA_EXTERN PamacAlpmPackage* pamac_database_get_installed_satisfier (PamacDatabase* self, const gchar* depstring); VALA_EXTERN GPtrArray* pamac_database_get_installed_pkgs_by_glob (PamacDatabase* self, const gchar* glob); VALA_EXTERN gboolean pamac_database_should_hold (PamacDatabase* self, const gchar* pkgname); static void pamac_database_get_uninstalled_optdeps_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_uninstalled_optdeps_async (PamacDatabase* self, const gchar* pkgname, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_uninstalled_optdeps_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_uninstalled_optdeps_async_co (PamacDatabaseGetUninstalledOptdepsAsyncData* _data_); static Block30Data* block30_data_ref (Block30Data* _data30_); static void block30_data_unref (void * _userdata_); static gint ___lambda11_ (Block30Data* _data30_); static alpm_pkg_t* pamac_database_get_syncpkg (PamacDatabase* self, alpm_handle_t* handle, const gchar* pkgname); static gboolean _pamac_database_get_uninstalled_optdeps_async_co_gsource_func (gpointer self); static gpointer ____lambda11__gthread_func (gpointer self); VALA_EXTERN GType pamac_alpm_package_static_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacAlpmPackageStatic, g_object_unref) static PamacAlpmPackageStatic* pamac_database_initialise_pkg_data (PamacDatabase* self, alpm_pkg_t* local_pkg, alpm_pkg_t* sync_pkg); VALA_EXTERN PamacAlpmPackageStatic* pamac_alpm_package_static_new (alpm_pkg_t* alpm_pkg, alpm_pkg_t* local_pkg, alpm_pkg_t* sync_pkg); VALA_EXTERN PamacAlpmPackageStatic* pamac_alpm_package_static_construct (GType object_type, alpm_pkg_t* alpm_pkg, alpm_pkg_t* local_pkg, alpm_pkg_t* sync_pkg); VALA_EXTERN gboolean pamac_config_get_enable_appstream (PamacConfig* self); VALA_EXTERN GPtrArray* pamac_appstream_plugin_get_pkgname_apps (PamacAppstreamPlugin* self, const gchar* pkgname); VALA_EXTERN void pamac_alpm_package_linked_set_app (PamacAlpmPackageLinked* self, PamacApp* app); VALA_EXTERN PamacAlpmPackageLinked* pamac_alpm_package_linked_new_from_alpm (alpm_pkg_t* alpm_pkg, PamacDatabase* database); VALA_EXTERN PamacAlpmPackageLinked* pamac_alpm_package_linked_construct_from_alpm (GType object_type, alpm_pkg_t* alpm_pkg, PamacDatabase* database); VALA_EXTERN void pamac_alpm_package_linked_set_sync_pkg (PamacAlpmPackageLinked* self, alpm_pkg_t* sync_pkg); VALA_EXTERN gboolean pamac_config_get_enable_aur (PamacConfig* self); VALA_EXTERN void pamac_alpm_package_linked_set_local_pkg (PamacAlpmPackageLinked* self, alpm_pkg_t* local_pkg); VALA_EXTERN PamacAURInfos* pamac_aur_plugin_get_infos (PamacAURPlugin* self, const gchar* pkgname); VALA_EXTERN void pamac_package_set_repo (PamacPackage* self, const gchar* value); VALA_EXTERN const gchar* pamac_package_get_id (PamacPackage* self); static void pamac_database_initialise_pkgs (PamacDatabase* self, alpm_list_t* alpm_pkgs, GPtrArray** pkgs); static void _g_object_unref0_ (gpointer var); VALA_EXTERN const gchar* pamac_app_get_name (PamacApp* self); VALA_EXTERN GPtrArray* pamac_aur_plugin_get_multi_infos (PamacAURPlugin* self, GPtrArray* pkgnames); VALA_EXTERN const gchar* pamac_aur_infos_get_name (PamacAURInfos* self); VALA_EXTERN GPtrArray* pamac_database_get_installed_pkgs (PamacDatabase* self); static void pamac_database_get_installed_pkgs_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_installed_pkgs_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_installed_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_installed_pkgs_async_co (PamacDatabaseGetInstalledPkgsAsyncData* _data_); static Block31Data* block31_data_ref (Block31Data* _data31_); static void block31_data_unref (void * _userdata_); static gint ___lambda12_ (Block31Data* _data31_); static gboolean _pamac_database_get_installed_pkgs_async_co_gsource_func (gpointer self); static gpointer ____lambda12__gthread_func (gpointer self); static void pamac_database_get_installed_apps_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_installed_apps_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_installed_apps_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_installed_apps_async_co (PamacDatabaseGetInstalledAppsAsyncData* _data_); static Block32Data* block32_data_ref (Block32Data* _data32_); static void block32_data_unref (void * _userdata_); static gint ____lambda13_ (Block32Data* _data32_); VALA_EXTERN GPtrArray* pamac_appstream_plugin_get_apps (PamacAppstreamPlugin* self); VALA_EXTERN const gchar* pamac_app_get_pkgname (PamacApp* self); static gboolean _pamac_database_get_installed_apps_async_co_gsource_func (gpointer self); static gpointer _____lambda13__gthread_func (gpointer self); static void pamac_database_get_explicitly_installed_pkgs_real (PamacDatabase* self, GPtrArray** pkgs); VALA_EXTERN GPtrArray* pamac_database_get_explicitly_installed_pkgs (PamacDatabase* self); static void pamac_database_get_explicitly_installed_pkgs_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_explicitly_installed_pkgs_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_explicitly_installed_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_explicitly_installed_pkgs_async_co (PamacDatabaseGetExplicitlyInstalledPkgsAsyncData* _data_); static Block33Data* block33_data_ref (Block33Data* _data33_); static void block33_data_unref (void * _userdata_); static gint ___lambda14_ (Block33Data* _data33_); static gboolean _pamac_database_get_explicitly_installed_pkgs_async_co_gsource_func (gpointer self); static gpointer ____lambda14__gthread_func (gpointer self); static void pamac_database_get_foreign_pkgs_real (PamacDatabase* self, GPtrArray** pkgs); static gboolean pamac_database_is_syncpkg (PamacDatabase* self, const gchar* pkgname); VALA_EXTERN GPtrArray* pamac_database_get_foreign_pkgs (PamacDatabase* self); static void pamac_database_get_foreign_pkgs_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_foreign_pkgs_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_foreign_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_foreign_pkgs_async_co (PamacDatabaseGetForeignPkgsAsyncData* _data_); static Block34Data* block34_data_ref (Block34Data* _data34_); static void block34_data_unref (void * _userdata_); static gint ___lambda15_ (Block34Data* _data34_); static gboolean _pamac_database_get_foreign_pkgs_async_co_gsource_func (gpointer self); static gpointer ____lambda15__gthread_func (gpointer self); static void pamac_database_get_orphans_real (PamacDatabase* self, GPtrArray** pkgs); static void _g_free_alpm_list_fn_free (gconstpointer a); VALA_EXTERN GPtrArray* pamac_database_get_orphans (PamacDatabase* self); static void pamac_database_get_orphans_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_orphans_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_orphans_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_orphans_async_co (PamacDatabaseGetOrphansAsyncData* _data_); static Block35Data* block35_data_ref (Block35Data* _data35_); static void block35_data_unref (void * _userdata_); static gint ___lambda16_ (Block35Data* _data35_); static gboolean _pamac_database_get_orphans_async_co_gsource_func (gpointer self); static gpointer ____lambda16__gthread_func (gpointer self); VALA_EXTERN alpm_pkg_t* pamac_database_intern_get_syncpkg (PamacDatabase* self, const gchar* pkgname); VALA_EXTERN gboolean pamac_database_is_sync_pkg (PamacDatabase* self, const gchar* pkgname); VALA_EXTERN PamacAlpmPackage* pamac_database_get_sync_pkg (PamacDatabase* self, const gchar* pkgname); static alpm_pkg_t* pamac_database_find_dbs_satisfier (PamacDatabase* self, const gchar* depstring); VALA_EXTERN gboolean pamac_database_has_sync_satisfier (PamacDatabase* self, const gchar* depstring); VALA_EXTERN PamacAlpmPackage* pamac_database_get_sync_satisfier (PamacDatabase* self, const gchar* depstring); VALA_EXTERN GPtrArray* pamac_database_get_sync_pkgs_by_glob (PamacDatabase* self, const gchar* glob); VALA_EXTERN PamacPackage* pamac_database_get_app_by_id (PamacDatabase* self, const gchar* app_id); VALA_EXTERN const gchar* pamac_app_get_id (PamacApp* self); VALA_EXTERN PamacFlatpakPackage* pamac_flatpak_plugin_get_flatpak_by_app_id (PamacFlatpakPlugin* self, const gchar* app_id); VALA_EXTERN PamacSnapPackage* pamac_snap_plugin_get_snap_by_app_id (PamacSnapPlugin* self, const gchar* app_id); static void pamac_database_get_url_stream_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_url_stream (PamacDatabase* self, const gchar* url, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GInputStream* pamac_database_get_url_stream_finish (PamacDatabase* self, GAsyncResult* _res_, GError** error); static gboolean pamac_database_get_url_stream_co (PamacDatabaseGetUrlStreamData* _data_); VALA_EXTERN SoupSession* pamac_database_get_soup_session (PamacDatabase* self); static void pamac_database_get_url_stream_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); static alpm_list_t* pamac_database_custom_db_search (PamacDatabase* self, alpm_db_t* db, alpm_list_t* needles); static alpm_list_t* pamac_database_search_local_db (PamacDatabase* self, const gchar* search_string); static alpm_list_t* pamac_database_search_sync_dbs (PamacDatabase* self, const gchar* search_string); VALA_EXTERN gint alpm_pkg_compare_name (alpm_pkg_t* pkg_a, alpm_pkg_t* pkg_b); static void pamac_database_search_installed_pkgs_real (PamacDatabase* self, const gchar* search_string, GPtrArray** pkgs); VALA_EXTERN GPtrArray* pamac_appstream_plugin_search (PamacAppstreamPlugin* self, gchar** search_tokens, gint search_tokens_length1); VALA_EXTERN GPtrArray* pamac_database_search_installed_pkgs (PamacDatabase* self, const gchar* search_string); static void pamac_database_search_installed_pkgs_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_search_installed_pkgs_async (PamacDatabase* self, const gchar* search_string, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_search_installed_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_search_installed_pkgs_async_co (PamacDatabaseSearchInstalledPkgsAsyncData* _data_); static Block36Data* block36_data_ref (Block36Data* _data36_); static void block36_data_unref (void * _userdata_); static gint ___lambda17_ (Block36Data* _data36_); static gboolean _pamac_database_search_installed_pkgs_async_co_gsource_func (gpointer self); static gpointer ____lambda17__gthread_func (gpointer self); static void pamac_database_search_repos_pkgs_real (PamacDatabase* self, const gchar* search_string, GPtrArray** pkgs); VALA_EXTERN GPtrArray* pamac_database_search_repos_pkgs (PamacDatabase* self, const gchar* search_string); static void pamac_database_search_repos_pkgs_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_search_repos_pkgs_async (PamacDatabase* self, const gchar* search_string, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_search_repos_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_search_repos_pkgs_async_co (PamacDatabaseSearchReposPkgsAsyncData* _data_); static Block37Data* block37_data_ref (Block37Data* _data37_); static void block37_data_unref (void * _userdata_); static gint ___lambda18_ (Block37Data* _data37_); static gboolean _pamac_database_search_repos_pkgs_async_co_gsource_func (gpointer self); static gpointer ____lambda18__gthread_func (gpointer self); static alpm_list_t* pamac_database_search_all_dbs (PamacDatabase* self, const gchar* search_string); VALA_EXTERN GPtrArray* pamac_database_search_uninstalled_apps (PamacDatabase* self, GPtrArray* search_terms); static void pamac_database_search_pkgs_real (PamacDatabase* self, const gchar* search_string, GPtrArray** pkgs); VALA_EXTERN GPtrArray* pamac_database_search_pkgs (PamacDatabase* self, const gchar* search_string); static void pamac_database_search_pkgs_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_search_pkgs_async (PamacDatabase* self, const gchar* search_string, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_search_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_search_pkgs_async_co (PamacDatabaseSearchPkgsAsyncData* _data_); static Block38Data* block38_data_ref (Block38Data* _data38_); static void block38_data_unref (void * _userdata_); static gint ___lambda19_ (Block38Data* _data38_); static gboolean _pamac_database_search_pkgs_async_co_gsource_func (gpointer self); static gpointer ____lambda19__gthread_func (gpointer self); static void pamac_database_search_aur_pkgs_real (PamacDatabase* self, const gchar* search_string, GPtrArray** pkgs); VALA_EXTERN GPtrArray* pamac_aur_plugin_search (PamacAURPlugin* self, const gchar* search_string); VALA_EXTERN PamacAURPackageLinked* pamac_aur_package_linked_new (void); VALA_EXTERN PamacAURPackageLinked* pamac_aur_package_linked_construct (GType object_type); VALA_EXTERN void pamac_aur_package_linked_initialise_from_aur_infos (PamacAURPackageLinked* self, PamacAURInfos* aur_infos, alpm_pkg_t* local_pkg, PamacDatabase* database, gboolean is_update); VALA_EXTERN GPtrArray* pamac_database_search_aur_pkgs (PamacDatabase* self, const gchar* search_string); static void pamac_database_search_aur_pkgs_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_search_aur_pkgs_async (PamacDatabase* self, const gchar* search_string, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_search_aur_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_search_aur_pkgs_async_co (PamacDatabaseSearchAurPkgsAsyncData* _data_); static Block39Data* block39_data_ref (Block39Data* _data39_); static void block39_data_unref (void * _userdata_); static gint ____lambda20_ (Block39Data* _data39_); static gboolean _pamac_database_search_aur_pkgs_async_co_gsource_func (gpointer self); static gpointer _____lambda20__gthread_func (gpointer self); VALA_EXTERN GHashTable* pamac_database_search_files (PamacDatabase* self, GPtrArray* files); VALA_EXTERN GPtrArray* pamac_database_get_categories_names (PamacDatabase* self); static GPtrArray* pamac_database_get_apps_pkgs (PamacDatabase* self, GHashTable* apps); static void pamac_database_get_category_pkgs_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_category_pkgs_async (PamacDatabase* self, const gchar* category, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_category_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_category_pkgs_async_co (PamacDatabaseGetCategoryPkgsAsyncData* _data_); static Block40Data* block40_data_ref (Block40Data* _data40_); static void block40_data_unref (void * _userdata_); static Block41Data* block41_data_ref (Block41Data* _data41_); static void block41_data_unref (void * _userdata_); static gint ____lambda21_ (Block41Data* _data41_); VALA_EXTERN GHashTable* pamac_appstream_plugin_get_category_apps (PamacAppstreamPlugin* self, const gchar* category); static gboolean _pamac_database_get_category_pkgs_async_co_gsource_func (gpointer self); static gpointer _____lambda21__gthread_func (gpointer self); VALA_EXTERN GPtrArray* pamac_database_get_repos_names (PamacDatabase* self); static void pamac_database_get_repo_pkgs_real (PamacDatabase* self, const gchar* repo, GPtrArray** pkgs); VALA_EXTERN GPtrArray* pamac_database_get_repo_pkgs (PamacDatabase* self, const gchar* repo); static void pamac_database_get_repo_pkgs_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_repo_pkgs_async (PamacDatabase* self, const gchar* repo, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_repo_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_repo_pkgs_async_co (PamacDatabaseGetRepoPkgsAsyncData* _data_); static Block42Data* block42_data_ref (Block42Data* _data42_); static void block42_data_unref (void * _userdata_); static gint ___lambda22_ (Block42Data* _data42_); static gboolean _pamac_database_get_repo_pkgs_async_co_gsource_func (gpointer self); static gpointer ____lambda22__gthread_func (gpointer self); VALA_EXTERN GPtrArray* pamac_database_get_groups_names (PamacDatabase* self); static void pamac_database_get_group_pkgs_real (PamacDatabase* self, const gchar* group_name, GPtrArray** pkgs); VALA_EXTERN gint pkg_compare_name (PamacPackage* pkg_a, PamacPackage* pkg_b); static gint _pkg_compare_name_gcompare_func (gconstpointer a, gconstpointer b); VALA_EXTERN GPtrArray* pamac_database_get_group_pkgs (PamacDatabase* self, const gchar* group_name); static void pamac_database_get_group_pkgs_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_group_pkgs_async (PamacDatabase* self, const gchar* group_name, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_group_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_group_pkgs_async_co (PamacDatabaseGetGroupPkgsAsyncData* _data_); static Block43Data* block43_data_ref (Block43Data* _data43_); static void block43_data_unref (void * _userdata_); static gint ___lambda23_ (Block43Data* _data43_); static gboolean _pamac_database_get_group_pkgs_async_co_gsource_func (gpointer self); static gpointer ____lambda23__gthread_func (gpointer self); VALA_EXTERN PamacAlpmPackage* pamac_database_get_pkg (PamacDatabase* self, const gchar* pkgname); static void pamac_database_get_pkg_files_real (PamacDatabase* self, const gchar* pkgname, alpm_pkg_t* local_pkg, GPtrArray** files); VALA_EXTERN GPtrArray* pamac_database_get_pkg_files (PamacDatabase* self, const gchar* pkgname, alpm_pkg_t* local_pkg); static void pamac_database_get_pkg_files_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_pkg_files_async (PamacDatabase* self, const gchar* pkgname, alpm_pkg_t* local_pkg, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_pkg_files_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_pkg_files_async_co (PamacDatabaseGetPkgFilesAsyncData* _data_); static Block44Data* block44_data_ref (Block44Data* _data44_); static void block44_data_unref (void * _userdata_); static gint ___lambda4_ (Block44Data* _data44_); static gboolean _pamac_database_get_pkg_files_async_co_gsource_func (gpointer self); static gpointer ____lambda4__gthread_func (gpointer self); static gint pamac_database_launch_subprocess (PamacDatabase* self, GSubprocessLauncher* launcher, GPtrArray* cmdline, GCancellable* cancellable); VALA_EXTERN GFile* pamac_database_clone_build_files (PamacDatabase* self, const gchar* pkgname, gboolean overwrite_files, GCancellable* cancellable); static GPtrArray* pamac_database_get_dynamic_user_cmdline (PamacDatabase* self, const gchar* cwd); static gpointer _g_strdup_gcopy_func (gconstpointer src, gpointer self); static void pamac_database_clone_build_files_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_clone_build_files_async (PamacDatabase* self, const gchar* pkgname, gboolean overwrite_files, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GFile* pamac_database_clone_build_files_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_clone_build_files_async_co (PamacDatabaseCloneBuildFilesAsyncData* _data_); static Block45Data* block45_data_ref (Block45Data* _data45_); static void block45_data_unref (void * _userdata_); static gint ___lambda24_ (Block45Data* _data45_); static gboolean _pamac_database_clone_build_files_async_co_gsource_func (gpointer self); static gpointer ____lambda24__gthread_func (gpointer self); VALA_EXTERN gboolean pamac_database_regenerate_srcinfo (PamacDatabase* self, const gchar* pkgname, GCancellable* cancellable); static void pamac_database_regenerate_srcinfo_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_regenerate_srcinfo_async (PamacDatabase* self, const gchar* pkgname, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN gboolean pamac_database_regenerate_srcinfo_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_regenerate_srcinfo_async_co (PamacDatabaseRegenerateSrcinfoAsyncData* _data_); static Block46Data* block46_data_ref (Block46Data* _data46_); static void block46_data_unref (void * _userdata_); static gint ___lambda25_ (Block46Data* _data46_); static gboolean _pamac_database_regenerate_srcinfo_async_co_gsource_func (gpointer self); static gpointer ____lambda25__gthread_func (gpointer self); VALA_EXTERN PamacAURPackage* pamac_database_get_aur_pkg (PamacDatabase* self, const gchar* pkgname); static void pamac_database_get_aur_pkg_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_aur_pkg_async (PamacDatabase* self, const gchar* pkgname, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN PamacAURPackage* pamac_database_get_aur_pkg_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_aur_pkg_async_co (PamacDatabaseGetAurPkgAsyncData* _data_); static Block47Data* block47_data_ref (Block47Data* _data47_); static void block47_data_unref (void * _userdata_); static Block48Data* block48_data_ref (Block48Data* _data48_); static void block48_data_unref (void * _userdata_); static gint ____lambda26_ (Block48Data* _data48_); static gboolean _pamac_database_get_aur_pkg_async_co_gsource_func (gpointer self); static gpointer _____lambda26__gthread_func (gpointer self); static void pamac_database_get_aur_pkgs_real (PamacDatabase* self, GPtrArray* pkgnames, GHashTable** data); VALA_EXTERN GHashTable* pamac_database_get_aur_pkgs (PamacDatabase* self, GPtrArray* pkgnames); static void pamac_database_get_aur_pkgs_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_aur_pkgs_async (PamacDatabase* self, GPtrArray* pkgnames, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GHashTable* pamac_database_get_aur_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_aur_pkgs_async_co (PamacDatabaseGetAurPkgsAsyncData* _data_); static Block49Data* block49_data_ref (Block49Data* _data49_); static void block49_data_unref (void * _userdata_); static gint ___lambda27_ (Block49Data* _data49_); static gboolean _pamac_database_get_aur_pkgs_async_co_gsource_func (gpointer self); static gpointer ____lambda27__gthread_func (gpointer self); static void pamac_database_refresh_tmp_files_dbs_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_refresh_tmp_files_dbs_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN void pamac_database_refresh_tmp_files_dbs_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_refresh_tmp_files_dbs_async_co (PamacDatabaseRefreshTmpFilesDbsAsyncData* _data_); static Block50Data* block50_data_ref (Block50Data* _data50_); static void block50_data_unref (void * _userdata_); static gint ___lambda28_ (Block50Data* _data50_); VALA_EXTERN void pamac_database_refresh_tmp_files_dbs (PamacDatabase* self); static gboolean _pamac_database_refresh_tmp_files_dbs_async_co_gsource_func (gpointer self); static gpointer ____lambda28__gthread_func (gpointer self); VALA_EXTERN GDateTime* pamac_database_get_last_refresh_time (PamacDatabase* self); static gint64 pamac_database_get_last_refresh_age (PamacDatabase* self); VALA_EXTERN gboolean pamac_database_need_refresh (PamacDatabase* self); VALA_EXTERN guint64 pamac_config_get_refresh_period (PamacConfig* self); VALA_EXTERN GType pamac_updates_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacUpdates, g_object_unref) static void pamac_database_get_updates_real (PamacDatabase* self, gboolean use_timestamp, PamacUpdates** updates); static gboolean ___lambda29_ (PamacDatabase* self); static gboolean ____lambda29__gsource_func (gpointer self); VALA_EXTERN gboolean pamac_config_get_support_aur (PamacConfig* self); VALA_EXTERN gboolean pamac_config_get_check_aur_updates (PamacConfig* self); VALA_EXTERN void pamac_database_set_dbs_count (PamacDatabase* self, gsize value); VALA_EXTERN void pamac_database_set_dbs_index (PamacDatabase* self, gsize value); VALA_EXTERN void cb_dl (void* ctx, const gchar* filename, alpm_download_event_type_t event_type, void* event_data); static void _cb_dl_alpm_cb_download (void* ctx, const gchar* filename, alpm_download_event_type_t event_type, void* event_data); VALA_EXTERN gboolean pamac_aur_plugin_update_db (PamacAURPlugin* self, gboolean force_refresh, gboolean emit_signal); static gboolean _____lambda31_ (PamacDatabase* self); static gboolean ______lambda31__gsource_func (gpointer self); static gboolean ____lambda32_ (PamacDatabase* self); static gboolean _____lambda32__gsource_func (gpointer self); VALA_EXTERN GPtrArray* pamac_updates_get_repos_updates (PamacUpdates* self); VALA_EXTERN GPtrArray* pamac_updates_get_ignored_repos_updates (PamacUpdates* self); VALA_EXTERN gboolean pamac_config_get_check_aur_vcs_updates (PamacConfig* self); VALA_EXTERN GPtrArray* pamac_updates_get_flatpak_updates (PamacUpdates* self); VALA_EXTERN gboolean pamac_config_get_check_flatpak_updates (PamacConfig* self); VALA_EXTERN void pamac_flatpak_plugin_get_flatpak_updates (PamacFlatpakPlugin* self, GPtrArray** pkgs); static void pamac_database_refresh_vcs_sources (PamacDatabase* self, GPtrArray* vcs_local_pkgs); static gboolean ____lambda33_ (PamacDatabase* self); static gboolean _____lambda33__gsource_func (gpointer self); static void pamac_database_get_aur_updates_real (PamacDatabase* self, GPtrArray* aur_infos_list, GPtrArray* vcs_local_pkgs, alpm_handle_t* handle, PamacUpdates** updates); static gboolean ____lambda34_ (PamacDatabase* self); static gboolean _____lambda34__gsource_func (gpointer self); static gboolean ____lambda35_ (PamacDatabase* self); static gboolean _____lambda35__gsource_func (gpointer self); VALA_EXTERN PamacUpdates* pamac_database_get_updates (PamacDatabase* self, gboolean use_timestamp); VALA_EXTERN PamacUpdates* pamac_updates_new (void); VALA_EXTERN PamacUpdates* pamac_updates_construct (GType object_type); static void pamac_database_get_updates_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_updates_async (PamacDatabase* self, gboolean use_timestamp, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN PamacUpdates* pamac_database_get_updates_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_updates_async_co (PamacDatabaseGetUpdatesAsyncData* _data_); static Block51Data* block51_data_ref (Block51Data* _data51_); static void block51_data_unref (void * _userdata_); static gint ___lambda36_ (Block51Data* _data51_); static gboolean _pamac_database_get_updates_async_co_gsource_func (gpointer self); static gpointer ____lambda36__gthread_func (gpointer self); VALA_EXTERN const gchar* pamac_aur_infos_get_packagebase (PamacAURInfos* self); static GHashTable* pamac_database_get_vcs_last_version (PamacDatabase* self, GPtrArray* vcs_local_pkgs); VALA_EXTERN GPtrArray* pamac_updates_get_aur_updates (PamacUpdates* self); VALA_EXTERN GPtrArray* pamac_updates_get_outofdate (PamacUpdates* self); VALA_EXTERN GPtrArray* pamac_updates_get_ignored_aur_updates (PamacUpdates* self); VALA_EXTERN const gchar* pamac_aur_infos_get_version (PamacAURInfos* self); VALA_EXTERN void pamac_package_set_version (PamacPackage* self, const gchar* value); VALA_EXTERN const gchar* pamac_package_get_version (PamacPackage* self); VALA_EXTERN GDateTime* pamac_aur_infos_get_outofdate (PamacAURInfos* self); static void pamac_database_get_aur_updates_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_aur_updates_async (PamacDatabase* self, GHashTable* ignorepkgs, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN PamacUpdates* pamac_database_get_aur_updates_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_aur_updates_async_co (PamacDatabaseGetAurUpdatesAsyncData* _data_); static Block52Data* block52_data_ref (Block52Data* _data52_); static void block52_data_unref (void * _userdata_); static gint ___lambda37_ (Block52Data* _data52_); static gboolean _pamac_database_get_aur_updates_async_co_gsource_func (gpointer self); static gpointer ____lambda37__gthread_func (gpointer self); static void pamac_database_search_snaps_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_search_snaps_async (PamacDatabase* self, const gchar* search_string, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_search_snaps_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_search_snaps_async_co (PamacDatabaseSearchSnapsAsyncData* _data_); static Block53Data* block53_data_ref (Block53Data* _data53_); static void block53_data_unref (void * _userdata_); static gint ____lambda38_ (Block53Data* _data53_); VALA_EXTERN void pamac_snap_plugin_search_snaps (PamacSnapPlugin* self, const gchar* search_string, GPtrArray** pkgs); static gboolean _pamac_database_search_snaps_async_co_gsource_func (gpointer self); static gpointer _____lambda38__gthread_func (gpointer self); VALA_EXTERN gboolean pamac_database_is_installed_snap (PamacDatabase* self, const gchar* name); VALA_EXTERN gboolean pamac_snap_plugin_is_installed_snap (PamacSnapPlugin* self, const gchar* name); static void pamac_database_get_snap_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_snap_async (PamacDatabase* self, const gchar* name, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN PamacSnapPackage* pamac_database_get_snap_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_snap_async_co (PamacDatabaseGetSnapAsyncData* _data_); static Block54Data* block54_data_ref (Block54Data* _data54_); static void block54_data_unref (void * _userdata_); static Block55Data* block55_data_ref (Block55Data* _data55_); static void block55_data_unref (void * _userdata_); static gint ____lambda39_ (Block55Data* _data55_); VALA_EXTERN PamacSnapPackage* pamac_snap_plugin_get_snap (PamacSnapPlugin* self, const gchar* name); static gboolean _pamac_database_get_snap_async_co_gsource_func (gpointer self); static gpointer _____lambda39__gthread_func (gpointer self); static void pamac_database_get_installed_snaps_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_installed_snaps_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_installed_snaps_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_installed_snaps_async_co (PamacDatabaseGetInstalledSnapsAsyncData* _data_); static Block56Data* block56_data_ref (Block56Data* _data56_); static void block56_data_unref (void * _userdata_); static gint ____lambda40_ (Block56Data* _data56_); VALA_EXTERN void pamac_snap_plugin_get_installed_snaps (PamacSnapPlugin* self, GPtrArray** pkgs); static gboolean _pamac_database_get_installed_snaps_async_co_gsource_func (gpointer self); static gpointer _____lambda40__gthread_func (gpointer self); static void pamac_database_get_installed_snap_icon_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_installed_snap_icon_async (PamacDatabase* self, const gchar* name, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN gchar* pamac_database_get_installed_snap_icon_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_installed_snap_icon_async_co (PamacDatabaseGetInstalledSnapIconAsyncData* _data_); static Block57Data* block57_data_ref (Block57Data* _data57_); static void block57_data_unref (void * _userdata_); static Block58Data* block58_data_ref (Block58Data* _data58_); static void block58_data_unref (void * _userdata_); static gint ____lambda41_ (Block58Data* _data58_); VALA_EXTERN gchar* pamac_snap_plugin_get_installed_snap_icon (PamacSnapPlugin* self, const gchar* name, GError** error); static gboolean _pamac_database_get_installed_snap_icon_async_co_gsource_func (gpointer self); static gpointer _____lambda41__gthread_func (gpointer self); static void pamac_database_get_category_snaps_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_category_snaps_async (PamacDatabase* self, const gchar* category, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_category_snaps_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_category_snaps_async_co (PamacDatabaseGetCategorySnapsAsyncData* _data_); static Block59Data* block59_data_ref (Block59Data* _data59_); static void block59_data_unref (void * _userdata_); static Block60Data* block60_data_ref (Block60Data* _data60_); static void block60_data_unref (void * _userdata_); static gint ____lambda42_ (Block60Data* _data60_); VALA_EXTERN void pamac_snap_plugin_get_category_snaps (PamacSnapPlugin* self, const gchar* category, GPtrArray** pkgs); static gboolean _pamac_database_get_category_snaps_async_co_gsource_func (gpointer self); static gpointer _____lambda42__gthread_func (gpointer self); VALA_EXTERN void pamac_database_refresh_flatpak_appstream_data (PamacDatabase* self); VALA_EXTERN gboolean pamac_flatpak_plugin_refresh_appstream_data (PamacFlatpakPlugin* self); static void pamac_database_refresh_flatpak_appstream_data_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_refresh_flatpak_appstream_data_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN void pamac_database_refresh_flatpak_appstream_data_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_refresh_flatpak_appstream_data_async_co (PamacDatabaseRefreshFlatpakAppstreamDataAsyncData* _data_); static Block61Data* block61_data_ref (Block61Data* _data61_); static void block61_data_unref (void * _userdata_); static gint ____lambda43_ (Block61Data* _data61_); static gboolean _pamac_database_refresh_flatpak_appstream_data_async_co_gsource_func (gpointer self); static gpointer _____lambda43__gthread_func (gpointer self); VALA_EXTERN GPtrArray* pamac_database_get_flatpak_remotes_names (PamacDatabase* self); VALA_EXTERN void pamac_flatpak_plugin_get_remotes_names (PamacFlatpakPlugin* self, GPtrArray** remotes_names); static void pamac_database_get_installed_flatpaks_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_installed_flatpaks_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_installed_flatpaks_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_installed_flatpaks_async_co (PamacDatabaseGetInstalledFlatpaksAsyncData* _data_); static Block62Data* block62_data_ref (Block62Data* _data62_); static void block62_data_unref (void * _userdata_); static gint ____lambda44_ (Block62Data* _data62_); VALA_EXTERN void pamac_flatpak_plugin_get_installed_flatpaks (PamacFlatpakPlugin* self, GPtrArray** pkgs); static gboolean _pamac_database_get_installed_flatpaks_async_co_gsource_func (gpointer self); static gpointer _____lambda44__gthread_func (gpointer self); static void pamac_database_search_flatpaks_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_search_flatpaks_async (PamacDatabase* self, const gchar* search_string, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_search_flatpaks_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_search_flatpaks_async_co (PamacDatabaseSearchFlatpaksAsyncData* _data_); static Block63Data* block63_data_ref (Block63Data* _data63_); static void block63_data_unref (void * _userdata_); static Block64Data* block64_data_ref (Block64Data* _data64_); static void block64_data_unref (void * _userdata_); static gint ____lambda45_ (Block64Data* _data64_); VALA_EXTERN void pamac_flatpak_plugin_search_flatpaks (PamacFlatpakPlugin* self, const gchar* search_string, GPtrArray** pkgs); static gboolean _pamac_database_search_flatpaks_async_co_gsource_func (gpointer self); static gpointer _____lambda45__gthread_func (gpointer self); VALA_EXTERN gboolean pamac_database_is_installed_flatpak (PamacDatabase* self, const gchar* name); VALA_EXTERN gboolean pamac_flatpak_plugin_is_installed_flatpak (PamacFlatpakPlugin* self, const gchar* name); static void pamac_database_get_flatpak_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_flatpak_async (PamacDatabase* self, const gchar* id, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN PamacFlatpakPackage* pamac_database_get_flatpak_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_flatpak_async_co (PamacDatabaseGetFlatpakAsyncData* _data_); static Block65Data* block65_data_ref (Block65Data* _data65_); static void block65_data_unref (void * _userdata_); static Block66Data* block66_data_ref (Block66Data* _data66_); static void block66_data_unref (void * _userdata_); static gint ____lambda46_ (Block66Data* _data66_); VALA_EXTERN PamacFlatpakPackage* pamac_flatpak_plugin_get_flatpak (PamacFlatpakPlugin* self, const gchar* id); static gboolean _pamac_database_get_flatpak_async_co_gsource_func (gpointer self); static gpointer _____lambda46__gthread_func (gpointer self); static void pamac_database_get_category_flatpaks_async_data_free (gpointer _data); VALA_EXTERN void pamac_database_get_category_flatpaks_async (PamacDatabase* self, const gchar* category, GAsyncReadyCallback _callback_, gpointer _user_data_); VALA_EXTERN GPtrArray* pamac_database_get_category_flatpaks_finish (PamacDatabase* self, GAsyncResult* _res_); static gboolean pamac_database_get_category_flatpaks_async_co (PamacDatabaseGetCategoryFlatpaksAsyncData* _data_); static Block67Data* block67_data_ref (Block67Data* _data67_); static void block67_data_unref (void * _userdata_); static Block68Data* block68_data_ref (Block68Data* _data68_); static void block68_data_unref (void * _userdata_); static gint ____lambda47_ (Block68Data* _data68_); VALA_EXTERN void pamac_flatpak_plugin_get_category_flatpaks (PamacFlatpakPlugin* self, const gchar* category, GPtrArray** pkgs); static gboolean _pamac_database_get_category_flatpaks_async_co_gsource_func (gpointer self); static gpointer _____lambda47__gthread_func (gpointer self); VALA_EXTERN void pamac_database_set_config (PamacDatabase* self, PamacConfig* value); static void pamac_database_set_context (PamacDatabase* self, GMainContext* value); static void pamac_database_set_soup_session (PamacDatabase* self, SoupSession* value); static void pamac_database_set_aur_plugin (PamacDatabase* self, PamacAURPlugin* value); VALA_EXTERN PamacAlpmUtils* pamac_database_get_alpm_utils (PamacDatabase* self); static void pamac_database_set_alpm_utils (PamacDatabase* self, PamacAlpmUtils* value); VALA_EXTERN gsize pamac_database_get_dbs_count (PamacDatabase* self); VALA_EXTERN gsize pamac_database_get_dbs_index (PamacDatabase* self); VALA_EXTERN gboolean pamac_database_get_dbs_missing (PamacDatabase* self); static void pamac_database_set_dbs_missing (PamacDatabase* self, gboolean value); static GObject * pamac_database_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); VALA_EXTERN AlpmConfig* pamac_config_get_alpm_config (PamacConfig* self); VALA_EXTERN gchar* get_user_agent (void); VALA_EXTERN PamacAlpmUtils* pamac_alpm_utils_new (PamacConfig* config); VALA_EXTERN PamacAlpmUtils* pamac_alpm_utils_construct (GType object_type, PamacConfig* config); VALA_EXTERN void cb_evt (void* ctx, alpm_event_t* data); static void _cb_evt_alpm_cb_event (void* ctx, alpm_event_t* data); VALA_EXTERN PamacAURPlugin* pamac_config_get_aur_plugin (PamacConfig* self); VALA_EXTERN void pamac_config_set_enable_aur (PamacConfig* self, gboolean value); VALA_EXTERN void pamac_aur_plugin_set_real_build_dir (PamacAURPlugin* self, const gchar* config_aur_build_dir); VALA_EXTERN const gchar* pamac_config_get_aur_build_dir (PamacConfig* self); static void _pamac_database_____lambda48_ (PamacDatabase* self); static void __pamac_database_____lambda48__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self); VALA_EXTERN gboolean pamac_config_get_support_appstream (PamacConfig* self); VALA_EXTERN PamacAppstreamPlugin* pamac_config_get_appstream_plugin (PamacConfig* self); VALA_EXTERN void pamac_config_set_enable_appstream (PamacConfig* self, gboolean value); VALA_EXTERN void pamac_appstream_plugin_load (PamacAppstreamPlugin* self, GPtrArray* repos_names); VALA_EXTERN gboolean pamac_config_get_support_snap (PamacConfig* self); VALA_EXTERN PamacSnapPlugin* pamac_config_get_snap_plugin (PamacConfig* self); VALA_EXTERN void pamac_config_set_enable_snap (PamacConfig* self, gboolean value); VALA_EXTERN gboolean pamac_config_get_support_flatpak (PamacConfig* self); VALA_EXTERN PamacFlatpakPlugin* pamac_config_get_flatpak_plugin (PamacConfig* self); VALA_EXTERN void pamac_config_set_enable_flatpak (PamacConfig* self, gboolean value); VALA_EXTERN void pamac_flatpak_plugin_set_refresh_period (PamacFlatpakPlugin* self, guint64 value); VALA_EXTERN void pamac_flatpak_plugin_load_appstream_data (PamacFlatpakPlugin* self); static void pamac_database_finalize (GObject * obj); static GType pamac_database_get_type_once (void); static void _vala_pamac_database_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void _vala_pamac_database_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); VALA_EXTERN const gchar* pamac_package_get_name (PamacPackage* self); static Block69Data* block69_data_ref (Block69Data* _data69_); static void block69_data_unref (void * _userdata_); static gboolean ____lambda30_ (Block69Data* _data69_); static gboolean _____lambda30__gsource_func (gpointer self); 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 gssize _vala_array_length (gpointer array); static inline gpointer pamac_database_get_instance_private (PamacDatabase* self) { return G_STRUCT_MEMBER_P (self, PamacDatabase_private_offset); } static gint _alpm_pkg_vercmp_gcompare_func (gconstpointer a, gconstpointer b) { gint result; result = alpm_pkg_vercmp ((const gchar*) a, (const gchar*) b); return result; } PamacDatabase* pamac_database_construct (GType object_type, PamacConfig* config) { PamacDatabase * self = NULL; g_return_val_if_fail (config != NULL, NULL); self = (PamacDatabase*) g_object_new (object_type, "config", config, NULL); return self; } PamacDatabase* pamac_database_new (PamacConfig* config) { return pamac_database_construct (PAMAC_TYPE_DATABASE, config); } static gconstpointer _vala_hash_set_next_value (GHashTableIter *self) { void* vi = NULL; GHashTableIter* htp = NULL; void* _tmp0_; gconstpointer value = NULL; gconstpointer _tmp1_ = NULL; gconstpointer _tmp2_ = NULL; gboolean _tmp3_; gconstpointer result; vi = &(*self); _tmp0_ = vi; htp = _tmp0_; _tmp3_ = g_hash_table_iter_next (htp, (gpointer*) (&_tmp2_), (gpointer*) NULL); value = _tmp2_; if (_tmp3_) { gconstpointer _tmp4_; _tmp4_ = value; _tmp1_ = _tmp4_; } else { _tmp1_ = NULL; } result = _tmp1_; return result; } void pamac_database_refresh (PamacDatabase* self) { PamacConfig* _tmp24_; gboolean _tmp25_; gboolean _tmp26_; PamacConfig* _tmp28_; gboolean _tmp29_; gboolean _tmp30_; GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { AlpmConfig* _tmp1_; AlpmConfig* _tmp2_; alpm_handle_t* _tmp3_; alpm_handle_t* _tmp4_; GHashTable* _tmp20_; GHashTable* _tmp21_; GHashTable* _tmp22_; _tmp1_ = self->priv->alpm_config; alpm_config_reload (_tmp1_); _tmp2_ = self->priv->alpm_config; _tmp3_ = alpm_config_get_handle (_tmp2_, FALSE, FALSE, TRUE); _alpm_release0 (self->priv->alpm_handle); self->priv->alpm_handle = _tmp3_; _tmp4_ = self->priv->alpm_handle; if (_tmp4_ == NULL) { { AlpmConfig* _tmp5_; _tmp5_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return; } else { AlpmConfig* _tmp14_; alpm_handle_t* _tmp15_; AlpmConfig* _tmp16_; alpm_handle_t* _tmp17_; AlpmConfig* _tmp18_; alpm_handle_t* _tmp19_; { GHashTableIter _name_it = {0}; PamacConfig* _tmp6_; GHashTable* _tmp7_; GHashTable* _tmp8_; GHashTableIter _tmp9_ = {0}; const gchar* name = NULL; _tmp6_ = self->priv->_config; _tmp7_ = pamac_config_get_ignorepkgs (_tmp6_); _tmp8_ = _tmp7_; g_hash_table_iter_init (&_tmp9_, _tmp8_); _name_it = _tmp9_; while (TRUE) { gconstpointer _tmp10_; const gchar* _tmp11_; alpm_handle_t* _tmp12_; const gchar* _tmp13_; _tmp10_ = _vala_hash_set_next_value (&_name_it); name = (const gchar*) _tmp10_; _tmp11_ = name; if (!(_tmp11_ != NULL)) { break; } _tmp12_ = self->priv->alpm_handle; _tmp13_ = name; alpm_option_add_ignorepkg (_tmp12_, _tmp13_); } } _tmp14_ = self->priv->alpm_config; _tmp15_ = self->priv->alpm_handle; alpm_config_register_syncdbs (_tmp14_, _tmp15_); _tmp16_ = self->priv->alpm_config; _tmp17_ = alpm_config_get_handle (_tmp16_, TRUE, FALSE, TRUE); _alpm_release0 (self->priv->files_handle); self->priv->files_handle = _tmp17_; _tmp18_ = self->priv->alpm_config; _tmp19_ = self->priv->files_handle; alpm_config_register_syncdbs (_tmp18_, _tmp19_); } _tmp20_ = self->priv->aur_vcs_pkgs; g_hash_table_remove_all (_tmp20_); _tmp21_ = self->priv->pkgs_cache; g_hash_table_remove_all (_tmp21_); _tmp22_ = self->priv->aur_pkgs_cache; g_hash_table_remove_all (_tmp22_); } __finally0: { AlpmConfig* _tmp23_; _tmp23_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } _tmp24_ = self->priv->_config; _tmp25_ = pamac_config_get_enable_snap (_tmp24_); _tmp26_ = _tmp25_; if (_tmp26_) { PamacSnapPlugin* _tmp27_; _tmp27_ = self->priv->snap_plugin; pamac_snap_plugin_refresh (_tmp27_); } _tmp28_ = self->priv->_config; _tmp29_ = pamac_config_get_enable_flatpak (_tmp28_); _tmp30_ = _tmp29_; if (_tmp30_) { PamacFlatpakPlugin* _tmp31_; _tmp31_ = self->priv->flatpak_plugin; pamac_flatpak_plugin_refresh (_tmp31_); } } alpm_handle_t* pamac_database_get_tmp_handle (PamacDatabase* self) { GError* _inner_error0_ = NULL; alpm_handle_t* result; g_return_val_if_fail (self != NULL, NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_handle_t* tmp_handle = NULL; AlpmConfig* _tmp1_; alpm_handle_t* _tmp2_; alpm_handle_t* _tmp3_; _tmp1_ = self->priv->alpm_config; _tmp2_ = alpm_config_get_handle (_tmp1_, FALSE, TRUE, TRUE); tmp_handle = _tmp2_; _tmp3_ = tmp_handle; if (_tmp3_ != NULL) { AlpmConfig* _tmp4_; alpm_handle_t* _tmp5_; _tmp4_ = self->priv->alpm_config; _tmp5_ = tmp_handle; alpm_config_register_syncdbs (_tmp4_, _tmp5_); } result = tmp_handle; { AlpmConfig* _tmp6_; _tmp6_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return result; } __finally0: { AlpmConfig* _tmp7_; _tmp7_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } static void pamac_database_get_mirrors_countries_async_data_free (gpointer _data) { PamacDatabaseGetMirrorsCountriesAsyncData* _data_; _data_ = _data; _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetMirrorsCountriesAsyncData, _data_); } static gpointer _g_object_ref0 (gpointer self) { return self ? g_object_ref (self) : NULL; } void pamac_database_get_mirrors_countries_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetMirrorsCountriesAsyncData* _data_; PamacDatabase* _tmp0_; g_return_if_fail (self != NULL); _data_ = g_slice_new0 (PamacDatabaseGetMirrorsCountriesAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_mirrors_countries_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; pamac_database_get_mirrors_countries_async_co (_data_); } GPtrArray* pamac_database_get_mirrors_countries_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetMirrorsCountriesAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block25Data* block25_data_ref (Block25Data* _data25_) { g_atomic_int_inc (&_data25_->_ref_count_); return _data25_; } static void block25_data_unref (void * _userdata_) { Block25Data* _data25_; _data25_ = (Block25Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data25_->_ref_count_)) { PamacDatabase* self; self = _data25_->self; _g_object_unref0 (self); g_slice_free (Block25Data, _data25_); } } static void _g_free0_ (gpointer var) { var = (g_free (var), NULL); } static gboolean _pamac_database_get_mirrors_countries_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_mirrors_countries_async_co (self); return result; } static gint ___lambda6_ (Block25Data* _data25_) { PamacDatabase* self; GMainContext* _tmp13_; GError* _inner_error0_ = NULL; gint result; self = _data25_->self; { gchar* countries_str = NULL; gint status = 0; gchar* _tmp0_ = NULL; gint _tmp1_ = 0; g_spawn_command_line_sync ("pacman-mirrors -l", &_tmp0_, NULL, &_tmp1_, &_inner_error0_); _g_free0 (countries_str); countries_str = _tmp0_; status = _tmp1_; if (G_UNLIKELY (_inner_error0_ != NULL)) { gint _tmp2_ = -1; _g_free0 (countries_str); if (_inner_error0_->domain == G_SPAWN_ERROR) { goto __catch0_g_spawn_error; } g_critical ("file %s: line %d: unexpected 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 _tmp2_; } if (status == 0) { GPtrArray* _tmp3_; gchar** _tmp4_; gchar** _tmp5_; _tmp3_ = g_ptr_array_new_full ((guint) 0, _g_free0_); _g_ptr_array_unref0 (self->priv->mirrors_countries); self->priv->mirrors_countries = _tmp3_; _tmp5_ = _tmp4_ = g_strsplit (countries_str, "\n", 0); { gchar** country_collection = NULL; gint country_collection_length1 = 0; gint _country_collection_size_ = 0; gint country_it = 0; country_collection = _tmp5_; country_collection_length1 = _vala_array_length (_tmp4_); for (country_it = 0; country_it < country_collection_length1; country_it = country_it + 1) { const gchar* country = NULL; country = country_collection[country_it]; { const gchar* _tmp6_; _tmp6_ = country; if (g_strcmp0 (_tmp6_, "") != 0) { GPtrArray* _tmp7_; const gchar* _tmp8_; gchar* _tmp9_; _tmp7_ = self->priv->mirrors_countries; _tmp8_ = country; _tmp9_ = g_strdup (_tmp8_); g_ptr_array_add (_tmp7_, _tmp9_); } } } country_collection = (_vala_array_free (country_collection, country_collection_length1, (GDestroyNotify) g_free), NULL); } } _g_free0 (countries_str); } goto __finally0; __catch0_g_spawn_error: { GError* e = NULL; GError* _tmp10_; const gchar* _tmp11_; e = _inner_error0_; _inner_error0_ = NULL; _tmp10_ = e; _tmp11_ = _tmp10_->message; g_warning ("database.vala:192: %s", _tmp11_); _g_error_free0 (e); } __finally0: if (G_UNLIKELY (_inner_error0_ != NULL)) { gint _tmp12_ = -1; 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 _tmp12_; } _tmp13_ = self->priv->_context; g_main_context_invoke_full (_tmp13_, G_PRIORITY_DEFAULT, _pamac_database_get_mirrors_countries_async_co_gsource_func, _data25_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda6__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda6_ (self)); block25_data_unref (self); return result; } static gboolean pamac_database_get_mirrors_countries_async_co (PamacDatabaseGetMirrorsCountriesAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data25_ = g_slice_new0 (Block25Data); _data_->_data25_->_ref_count_ = 1; _data_->_data25_->self = g_object_ref (_data_->self); _data_->_data25_->_async_data_ = _data_; _data_->_tmp0_ = _data_->self->priv->mirrors_countries; if (_data_->_tmp0_ != NULL) { _data_->_tmp1_ = _data_->self->priv->mirrors_countries; _data_->result = _data_->_tmp1_; block25_data_unref (_data_->_data25_); _data_->_data25_ = NULL; 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; } { _data_->_tmp2_ = g_thread_try_new ("get_mirrors_countries", ____lambda6__gthread_func, block25_data_ref (_data_->_data25_), &_data_->_inner_error0_); _data_->_tmp3_ = _data_->_tmp2_; _g_thread_unref0 (_data_->_tmp3_); 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_->_tmp4_ = _data_->e; _data_->_tmp5_ = _data_->_tmp4_->message; g_warning ("database.vala:199: %s", _data_->_tmp5_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block25_data_unref (_data_->_data25_); _data_->_data25_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp6_ = _data_->self->priv->mirrors_countries; _data_->result = _data_->_tmp6_; block25_data_unref (_data_->_data25_); _data_->_data25_ = NULL; 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_database_get_mirrors_choosen_country_async_data_free (gpointer _data) { PamacDatabaseGetMirrorsChoosenCountryAsyncData* _data_; _data_ = _data; _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetMirrorsChoosenCountryAsyncData, _data_); } void pamac_database_get_mirrors_choosen_country_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetMirrorsChoosenCountryAsyncData* _data_; PamacDatabase* _tmp0_; g_return_if_fail (self != NULL); _data_ = g_slice_new0 (PamacDatabaseGetMirrorsChoosenCountryAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_mirrors_choosen_country_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; pamac_database_get_mirrors_choosen_country_async_co (_data_); } const gchar* pamac_database_get_mirrors_choosen_country_finish (PamacDatabase* self, GAsyncResult* _res_) { const gchar* result; PamacDatabaseGetMirrorsChoosenCountryAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block26Data* block26_data_ref (Block26Data* _data26_) { g_atomic_int_inc (&_data26_->_ref_count_); return _data26_; } static void block26_data_unref (void * _userdata_) { Block26Data* _data26_; _data26_ = (Block26Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data26_->_ref_count_)) { PamacDatabase* self; self = _data26_->self; _g_object_unref0 (self); g_slice_free (Block26Data, _data26_); } } static gboolean _pamac_database_get_mirrors_choosen_country_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_mirrors_choosen_country_async_co (self); return result; } static gint ___lambda7_ (Block26Data* _data26_) { PamacDatabase* self; GMainContext* _tmp11_; GError* _inner_error0_ = NULL; gint result; self = _data26_->self; { gchar* countries_str = NULL; gint status = 0; gchar* _tmp0_ = NULL; gint _tmp1_ = 0; g_spawn_command_line_sync ("pacman-mirrors -lc", &_tmp0_, NULL, &_tmp1_, &_inner_error0_); _g_free0 (countries_str); countries_str = _tmp0_; status = _tmp1_; if (G_UNLIKELY (_inner_error0_ != NULL)) { gint _tmp2_ = -1; _g_free0 (countries_str); if (_inner_error0_->domain == G_SPAWN_ERROR) { goto __catch0_g_spawn_error; } g_critical ("file %s: line %d: unexpected 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 _tmp2_; } if (status == 0) { gchar** _tmp3_; gchar** _tmp4_; gchar** _tmp5_; gint _tmp5__length1; const gchar* _tmp6_; gchar* _tmp7_; _tmp4_ = _tmp3_ = g_strsplit (countries_str, "\n", 2); _tmp5_ = _tmp4_; _tmp5__length1 = _vala_array_length (_tmp3_); _tmp6_ = _tmp5_[0]; _tmp7_ = g_strdup (_tmp6_); _g_free0 (self->priv->mirrors_choosen_country); self->priv->mirrors_choosen_country = _tmp7_; _tmp5_ = (_vala_array_free (_tmp5_, _tmp5__length1, (GDestroyNotify) g_free), NULL); } _g_free0 (countries_str); } goto __finally0; __catch0_g_spawn_error: { GError* e = NULL; GError* _tmp8_; const gchar* _tmp9_; e = _inner_error0_; _inner_error0_ = NULL; _tmp8_ = e; _tmp9_ = _tmp8_->message; g_warning ("database.vala:223: %s", _tmp9_); _g_error_free0 (e); } __finally0: if (G_UNLIKELY (_inner_error0_ != NULL)) { gint _tmp10_ = -1; 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 _tmp10_; } _tmp11_ = self->priv->_context; g_main_context_invoke_full (_tmp11_, G_PRIORITY_DEFAULT, _pamac_database_get_mirrors_choosen_country_async_co_gsource_func, _data26_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda7__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda7_ (self)); block26_data_unref (self); return result; } static gboolean pamac_database_get_mirrors_choosen_country_async_co (PamacDatabaseGetMirrorsChoosenCountryAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data26_ = g_slice_new0 (Block26Data); _data_->_data26_->_ref_count_ = 1; _data_->_data26_->self = g_object_ref (_data_->self); _data_->_data26_->_async_data_ = _data_; _data_->_tmp0_ = _data_->self->priv->mirrors_choosen_country; if (_data_->_tmp0_ != NULL) { _data_->_tmp1_ = _data_->self->priv->mirrors_choosen_country; _data_->result = _data_->_tmp1_; block26_data_unref (_data_->_data26_); _data_->_data26_ = NULL; 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; } _data_->_tmp2_ = g_strdup (""); _g_free0 (_data_->self->priv->mirrors_choosen_country); _data_->self->priv->mirrors_choosen_country = _data_->_tmp2_; { _data_->_tmp3_ = g_thread_try_new ("get_mirrors_choosen_country", ____lambda7__gthread_func, block26_data_ref (_data_->_data26_), &_data_->_inner_error0_); _data_->_tmp4_ = _data_->_tmp3_; _g_thread_unref0 (_data_->_tmp4_); 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_->_tmp5_ = _data_->e; _data_->_tmp6_ = _data_->_tmp5_->message; g_warning ("database.vala:230: %s", _data_->_tmp6_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block26_data_unref (_data_->_data26_); _data_->_data26_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp7_ = _data_->self->priv->mirrors_choosen_country; _data_->result = _data_->_tmp7_; block26_data_unref (_data_->_data26_); _data_->_data26_ = NULL; 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; } gchar* pamac_database_get_alpm_dep_name (PamacDatabase* self, const gchar* dep_string) { alpm_depend_t* _tmp0_; alpm_depend_t* _tmp1_; const gchar* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; gchar* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (dep_string != NULL, NULL); _tmp0_ = alpm_dep_from_string (dep_string); _tmp1_ = _tmp0_; _tmp2_ = _tmp1_->name; _tmp3_ = g_strdup (_tmp2_); _tmp4_ = _tmp3_; _alpm_dep_free0 (_tmp1_); result = _tmp4_; return result; } static void _g_ptr_array_unref0_ (gpointer var) { (var == NULL) ? NULL : (var = (g_ptr_array_unref (var), NULL)); } static gchar* string_slice (const gchar* self, glong start, glong end) { glong string_length = 0L; gint _tmp0_; gint _tmp1_; gboolean _tmp2_ = FALSE; gboolean _tmp3_ = FALSE; gchar* _tmp4_; gchar* result; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = strlen (self); _tmp1_ = _tmp0_; string_length = (glong) _tmp1_; if (start < ((glong) 0)) { start = string_length + start; } if (end < ((glong) 0)) { end = string_length + end; } if (start >= ((glong) 0)) { _tmp2_ = start <= string_length; } else { _tmp2_ = FALSE; } g_return_val_if_fail (_tmp2_, NULL); if (end >= ((glong) 0)) { _tmp3_ = end <= string_length; } else { _tmp3_ = FALSE; } g_return_val_if_fail (_tmp3_, NULL); g_return_val_if_fail (start <= end, NULL); _tmp4_ = g_strndup (((gchar*) self) + start, (gsize) (end - start)); result = _tmp4_; return result; } static gint string_last_index_of_char (const gchar* self, gunichar c, gint start_index) { gchar* _result_ = NULL; gchar* _tmp0_; gchar* _tmp1_; gint result; g_return_val_if_fail (self != NULL, 0); _tmp0_ = g_utf8_strrchr (((gchar*) self) + start_index, (gssize) -1, c); _result_ = _tmp0_; _tmp1_ = _result_; if (_tmp1_ != NULL) { gchar* _tmp2_; _tmp2_ = _result_; result = (gint) (_tmp2_ - ((gchar*) self)); return result; } else { result = -1; return result; } } static guint64* _uint64_dup (guint64* self) { guint64* dup; dup = g_new0 (guint64, 1); memcpy (dup, self, sizeof (guint64)); return dup; } static gpointer __uint64_dup0 (gpointer self) { return self ? _uint64_dup (self) : NULL; } static gint vala_g_ptr_array_get_length (GPtrArray* self) { gint result; g_return_val_if_fail (self != NULL, 0); result = (gint) self->len; return result; } static Block27Data* block27_data_ref (Block27Data* _data27_) { g_atomic_int_inc (&_data27_->_ref_count_); return _data27_; } static void block27_data_unref (void * _userdata_) { Block27Data* _data27_; _data27_ = (Block27Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data27_->_ref_count_)) { GPtrArray* self; self = _data27_->self; _g_ptr_array_unref0 (self); g_slice_free (Block27Data, _data27_); } } static gint __lambda0_ (Block27Data* _data27_, gconstpointer** a, gconstpointer** b) { GPtrArray* self; gint result; self = _data27_->self; result = _data27_->compare_func ((gconstpointer**) (*a), (gconstpointer**) (*b)); return result; } static gint ___lambda0__gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { gint result; result = __lambda0_ (self, a, b); return result; } static void vala_g_ptr_array_sort (GPtrArray* self, GCompareFunc compare_func) { Block27Data* _data27_; g_return_if_fail (self != NULL); _data27_ = g_slice_new0 (Block27Data); _data27_->_ref_count_ = 1; _data27_->self = g_ptr_array_ref (self); _data27_->compare_func = compare_func; g_ptr_array_sort_with_data (self, ___lambda0__gcompare_data_func, _data27_); block27_data_unref (_data27_); _data27_ = NULL; } static gint ____lambda8_ (const gchar* version1, const gchar* version2) { gint result; g_return_val_if_fail (version1 != NULL, 0); g_return_val_if_fail (version2 != NULL, 0); result = alpm_pkg_vercmp (version2, version1); return result; } static gint _____lambda8__gcompare_func (gconstpointer a, gconstpointer b) { gint result; result = ____lambda8_ ((const gchar*) a, (const gchar*) b); return result; } static void pamac_database_get_clean_cache_details_real (PamacDatabase* self, GHashTable** filenames_size) { GHashTable* pkg_version_filenames = NULL; GHashFunc _tmp0_; GEqualFunc _tmp1_; GHashTable* _tmp2_; GHashTable* pkg_versions = NULL; GHashFunc _tmp3_; GEqualFunc _tmp4_; GHashTable* _tmp5_; PamacConfig* _tmp97_; guint64 _tmp98_; guint64 _tmp99_; GHashTableIter iter = {0}; GHashTable* _tmp100_; const gchar* name = NULL; GPtrArray* versions = NULL; GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (*filenames_size != NULL); _tmp0_ = g_str_hash; _tmp1_ = g_str_equal; _tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_free0_, _g_ptr_array_unref0_); pkg_version_filenames = _tmp2_; _tmp3_ = g_str_hash; _tmp4_ = g_str_equal; _tmp5_ = g_hash_table_new_full (_tmp3_, _tmp4_, _g_free0_, _g_ptr_array_unref0_); pkg_versions = _tmp5_; { AlpmConfig* _tmp6_; _tmp6_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_list_t* cachedirs_names = NULL; alpm_handle_t* _tmp7_; alpm_list_t* _tmp8_; alpm_list_t* _tmp9_; _tmp7_ = self->priv->alpm_handle; _tmp8_ = alpm_option_get_cachedirs (_tmp7_); _tmp9_ = _tmp8_; cachedirs_names = _tmp9_; while (TRUE) { alpm_list_t* _tmp10_; const gchar* cachedir_name = NULL; alpm_list_t* _tmp11_; gconstpointer _tmp12_; GFile* cachedir = NULL; const gchar* _tmp13_; GFile* _tmp14_; _tmp10_ = cachedirs_names; if (!(_tmp10_ != NULL)) { break; } _tmp11_ = cachedirs_names; _tmp12_ = _tmp11_->data; cachedir_name = (const gchar*) _tmp12_; _tmp13_ = cachedir_name; _tmp14_ = g_file_new_for_path (_tmp13_); cachedir = _tmp14_; { GFileEnumerator* enumerator = NULL; GFile* _tmp15_; GFileEnumerator* _tmp16_; GFileInfo* info = NULL; _tmp15_ = cachedir; _tmp16_ = g_file_enumerate_children (_tmp15_, "standard::*", G_FILE_QUERY_INFO_NONE, NULL, &_inner_error0_); enumerator = _tmp16_; if (G_UNLIKELY (_inner_error0_ != NULL)) { goto __catch1_g_error; } while (TRUE) { GFileInfo* _tmp17_ = NULL; GFileEnumerator* _tmp18_; GFileInfo* _tmp19_; GFileInfo* _tmp20_; GFileInfo* _tmp21_; const gchar* filename = NULL; GFileInfo* _tmp22_; const gchar* _tmp23_; gchar* absolute_filename = NULL; const gchar* _tmp24_; const gchar* _tmp25_; gchar* _tmp26_; gchar* name_version_release = NULL; const gchar* _tmp27_; const gchar* _tmp28_; gchar* _tmp29_; const gchar* _tmp30_; gint release_index = 0; const gchar* _tmp31_; gchar* name_version = NULL; const gchar* _tmp32_; gchar* _tmp33_; const gchar* _tmp34_; gint version_index = 0; const gchar* _tmp35_; gchar* name = NULL; const gchar* _tmp36_; gchar* _tmp37_; const gchar* _tmp38_; gboolean _tmp39_ = FALSE; PamacConfig* _tmp40_; gboolean _tmp41_; gboolean _tmp42_; const gchar* _tmp44_; gchar* _tmp45_; GFileInfo* _tmp46_; guint64 _tmp47_; guint64* _tmp48_; GHashTable* _tmp49_; const gchar* _tmp50_; _tmp18_ = enumerator; _tmp19_ = g_file_enumerator_next_file (_tmp18_, NULL, &_inner_error0_); _tmp17_ = _tmp19_; if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (info); _g_object_unref0 (enumerator); goto __catch1_g_error; } _tmp20_ = _tmp17_; _tmp17_ = NULL; _g_object_unref0 (info); info = _tmp20_; _tmp21_ = info; if (!(_tmp21_ != NULL)) { _g_object_unref0 (_tmp17_); break; } _tmp22_ = info; _tmp23_ = g_file_info_get_name (_tmp22_); filename = _tmp23_; _tmp24_ = cachedir_name; _tmp25_ = filename; _tmp26_ = g_strdup_printf ("%s%s", _tmp24_, _tmp25_); absolute_filename = _tmp26_; _tmp27_ = filename; _tmp28_ = filename; _tmp29_ = string_slice (_tmp27_, (glong) 0, (glong) string_last_index_of_char (_tmp28_, (gunichar) '-', 0)); name_version_release = _tmp29_; _tmp30_ = name_version_release; if (_tmp30_ == NULL) { _g_free0 (name_version_release); _g_free0 (absolute_filename); _g_object_unref0 (_tmp17_); continue; } _tmp31_ = name_version_release; release_index = string_last_index_of_char (_tmp31_, (gunichar) '-', 0); _tmp32_ = name_version_release; _tmp33_ = string_slice (_tmp32_, (glong) 0, (glong) release_index); name_version = _tmp33_; _tmp34_ = name_version; if (_tmp34_ == NULL) { _g_free0 (name_version); _g_free0 (name_version_release); _g_free0 (absolute_filename); _g_object_unref0 (_tmp17_); continue; } _tmp35_ = name_version; version_index = string_last_index_of_char (_tmp35_, (gunichar) '-', 0); _tmp36_ = name_version; _tmp37_ = string_slice (_tmp36_, (glong) 0, (glong) version_index); name = _tmp37_; _tmp38_ = name; if (_tmp38_ == NULL) { _g_free0 (name); _g_free0 (name_version); _g_free0 (name_version_release); _g_free0 (absolute_filename); _g_object_unref0 (_tmp17_); continue; } _tmp40_ = self->priv->_config; _tmp41_ = pamac_config_get_clean_rm_only_uninstalled (_tmp40_); _tmp42_ = _tmp41_; if (_tmp42_) { const gchar* _tmp43_; _tmp43_ = name; _tmp39_ = pamac_database_is_installed_pkg (self, _tmp43_); } else { _tmp39_ = FALSE; } if (_tmp39_) { _g_free0 (name); _g_free0 (name_version); _g_free0 (name_version_release); _g_free0 (absolute_filename); _g_object_unref0 (_tmp17_); continue; } _tmp44_ = absolute_filename; _tmp45_ = g_strdup (_tmp44_); _tmp46_ = info; _tmp47_ = (guint64) g_file_info_get_size (_tmp46_); _tmp48_ = __uint64_dup0 (&_tmp47_); g_hash_table_insert (*filenames_size, _tmp45_, _tmp48_); _tmp49_ = pkg_versions; _tmp50_ = name; if (g_hash_table_contains (_tmp49_, _tmp50_)) { GHashTable* _tmp51_; const gchar* _tmp52_; _tmp51_ = pkg_version_filenames; _tmp52_ = name_version_release; if (g_hash_table_contains (_tmp51_, _tmp52_)) { GPtrArray* filenames = NULL; GHashTable* _tmp53_; const gchar* _tmp54_; gconstpointer _tmp55_; GPtrArray* _tmp56_; gchar* _tmp57_; _tmp53_ = pkg_version_filenames; _tmp54_ = name_version_release; _tmp55_ = g_hash_table_lookup (_tmp53_, _tmp54_); filenames = (GPtrArray*) _tmp55_; _tmp56_ = filenames; _tmp57_ = absolute_filename; absolute_filename = NULL; g_ptr_array_add (_tmp56_, _tmp57_); } else { GPtrArray* versions = NULL; GHashTable* _tmp58_; const gchar* _tmp59_; gconstpointer _tmp60_; gchar* version_release = NULL; const gchar* _tmp61_; const gchar* _tmp62_; gint _tmp63_; gint _tmp64_; gchar* _tmp65_; const gchar* _tmp66_; GPtrArray* _tmp67_; gchar* _tmp68_; GPtrArray* filenames = NULL; GPtrArray* _tmp69_; GPtrArray* _tmp70_; gchar* _tmp71_; GHashTable* _tmp72_; gchar* _tmp73_; GPtrArray* _tmp74_; _tmp58_ = pkg_versions; _tmp59_ = name; _tmp60_ = g_hash_table_lookup (_tmp58_, _tmp59_); versions = (GPtrArray*) _tmp60_; _tmp61_ = name_version_release; _tmp62_ = name_version_release; _tmp63_ = strlen (_tmp62_); _tmp64_ = _tmp63_; _tmp65_ = string_slice (_tmp61_, (glong) (version_index + 1), (glong) _tmp64_); version_release = _tmp65_; _tmp66_ = version_release; if (_tmp66_ == NULL) { _g_free0 (version_release); _g_free0 (name); _g_free0 (name_version); _g_free0 (name_version_release); _g_free0 (absolute_filename); _g_object_unref0 (_tmp17_); continue; } _tmp67_ = versions; _tmp68_ = version_release; version_release = NULL; g_ptr_array_add (_tmp67_, _tmp68_); _tmp69_ = g_ptr_array_new_full ((guint) 0, _g_free0_); filenames = _tmp69_; _tmp70_ = filenames; _tmp71_ = absolute_filename; absolute_filename = NULL; g_ptr_array_add (_tmp70_, _tmp71_); _tmp72_ = pkg_version_filenames; _tmp73_ = name_version_release; name_version_release = NULL; _tmp74_ = filenames; filenames = NULL; g_hash_table_insert (_tmp72_, _tmp73_, _tmp74_); _g_ptr_array_unref0 (filenames); _g_free0 (version_release); } } else { GPtrArray* versions = NULL; GPtrArray* _tmp75_; gchar* version_release = NULL; const gchar* _tmp76_; const gchar* _tmp77_; gint _tmp78_; gint _tmp79_; gchar* _tmp80_; const gchar* _tmp81_; GPtrArray* _tmp82_; gchar* _tmp83_; GHashTable* _tmp84_; const gchar* _tmp85_; gchar* _tmp86_; GPtrArray* _tmp87_; GPtrArray* filenames = NULL; GPtrArray* _tmp88_; GPtrArray* _tmp89_; gchar* _tmp90_; GHashTable* _tmp91_; gchar* _tmp92_; GPtrArray* _tmp93_; _tmp75_ = g_ptr_array_new_full ((guint) 0, _g_free0_); versions = _tmp75_; _tmp76_ = name_version_release; _tmp77_ = name_version_release; _tmp78_ = strlen (_tmp77_); _tmp79_ = _tmp78_; _tmp80_ = string_slice (_tmp76_, (glong) (version_index + 1), (glong) _tmp79_); version_release = _tmp80_; _tmp81_ = version_release; if (_tmp81_ == NULL) { _g_free0 (version_release); _g_ptr_array_unref0 (versions); _g_free0 (name); _g_free0 (name_version); _g_free0 (name_version_release); _g_free0 (absolute_filename); _g_object_unref0 (_tmp17_); continue; } _tmp82_ = versions; _tmp83_ = version_release; version_release = NULL; g_ptr_array_add (_tmp82_, _tmp83_); _tmp84_ = pkg_versions; _tmp85_ = name; _tmp86_ = g_strdup (_tmp85_); _tmp87_ = versions; versions = NULL; g_hash_table_insert (_tmp84_, _tmp86_, _tmp87_); _tmp88_ = g_ptr_array_new_full ((guint) 0, _g_free0_); filenames = _tmp88_; _tmp89_ = filenames; _tmp90_ = absolute_filename; absolute_filename = NULL; g_ptr_array_add (_tmp89_, _tmp90_); _tmp91_ = pkg_version_filenames; _tmp92_ = name_version_release; name_version_release = NULL; _tmp93_ = filenames; filenames = NULL; g_hash_table_insert (_tmp91_, _tmp92_, _tmp93_); _g_ptr_array_unref0 (filenames); _g_free0 (version_release); _g_ptr_array_unref0 (versions); } _g_free0 (name); _g_free0 (name_version); _g_free0 (name_version_release); _g_free0 (absolute_filename); _g_object_unref0 (_tmp17_); } _g_object_unref0 (info); _g_object_unref0 (enumerator); } goto __finally1; __catch1_g_error: { GError* e = NULL; GError* _tmp94_; const gchar* _tmp95_; e = _inner_error0_; _inner_error0_ = NULL; _tmp94_ = e; _tmp95_ = _tmp94_->message; g_warning ("database.vala:303: %s", _tmp95_); _g_error_free0 (e); } __finally1: if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (cachedir); _g_hash_table_unref0 (pkg_versions); _g_hash_table_unref0 (pkg_version_filenames); g_critical ("file %s: line %d: unexpected 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; } cachedirs_names = alpm_list_next (cachedirs_names); _g_object_unref0 (cachedir); } } __finally0: { AlpmConfig* _tmp96_; _tmp96_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_hash_table_unref0 (pkg_versions); _g_hash_table_unref0 (pkg_version_filenames); 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; } } _tmp97_ = self->priv->_config; _tmp98_ = pamac_config_get_clean_keep_num_pkgs (_tmp97_); _tmp99_ = _tmp98_; if (_tmp99_ == ((guint64) 0)) { _g_hash_table_unref0 (pkg_versions); _g_hash_table_unref0 (pkg_version_filenames); return; } _tmp100_ = pkg_versions; g_hash_table_iter_init (&iter, _tmp100_); while (TRUE) { gconstpointer _tmp101_ = NULL; gconstpointer _tmp102_ = NULL; gboolean _tmp103_; GPtrArray* _tmp104_; gint _tmp105_; gint _tmp106_; PamacConfig* _tmp107_; guint64 _tmp108_; guint64 _tmp109_; guint i = 0U; guint length = 0U; GPtrArray* _tmp111_; gint _tmp112_; gint _tmp113_; _tmp103_ = g_hash_table_iter_next (&iter, (gpointer*) (&_tmp101_), (gpointer*) (&_tmp102_)); name = (const gchar*) _tmp101_; versions = (GPtrArray*) _tmp102_; if (!_tmp103_) { break; } _tmp104_ = versions; _tmp105_ = vala_g_ptr_array_get_length (_tmp104_); _tmp106_ = _tmp105_; _tmp107_ = self->priv->_config; _tmp108_ = pamac_config_get_clean_keep_num_pkgs (_tmp107_); _tmp109_ = _tmp108_; if (((guint64) _tmp106_) > _tmp109_) { GPtrArray* _tmp110_; _tmp110_ = versions; vala_g_ptr_array_sort (_tmp110_, _____lambda8__gcompare_func); } _tmp111_ = versions; _tmp112_ = vala_g_ptr_array_get_length (_tmp111_); _tmp113_ = _tmp112_; length = (guint) _tmp113_; { gboolean _tmp114_ = FALSE; i = (guint) 0; _tmp114_ = TRUE; while (TRUE) { PamacConfig* _tmp116_; guint64 _tmp117_; guint64 _tmp118_; GPtrArray* filenames = NULL; GHashTable* _tmp119_; const gchar* _tmp120_; GPtrArray* _tmp121_; gconstpointer _tmp122_; gchar* _tmp123_; gchar* _tmp124_; gconstpointer _tmp125_; GPtrArray* _tmp126_; GPtrArray* _tmp127_; if (!_tmp114_) { guint _tmp115_; _tmp115_ = i; i = _tmp115_ + 1; } _tmp114_ = FALSE; if (!(i < length)) { break; } _tmp116_ = self->priv->_config; _tmp117_ = pamac_config_get_clean_keep_num_pkgs (_tmp116_); _tmp118_ = _tmp117_; if (((guint64) i) == _tmp118_) { break; } _tmp119_ = pkg_version_filenames; _tmp120_ = name; _tmp121_ = versions; _tmp122_ = g_ptr_array_index (_tmp121_, i); _tmp123_ = g_strdup_printf ("%s-%s", _tmp120_, (const gchar*) _tmp122_); _tmp124_ = _tmp123_; _tmp125_ = g_hash_table_lookup (_tmp119_, _tmp124_); _tmp126_ = (GPtrArray*) _tmp125_; _g_free0 (_tmp124_); filenames = _tmp126_; _tmp127_ = filenames; if (_tmp127_ != NULL) { GPtrArray* _tmp128_; _tmp128_ = filenames; { GPtrArray* filename_collection = NULL; guint filename_index = 0U; filename_collection = _tmp128_; for (filename_index = 0; filename_index < filename_collection->len; filename_index = filename_index + 1) { const gchar* filename = NULL; filename = (const gchar*) g_ptr_array_index (filename_collection, filename_index); { const gchar* _tmp129_; _tmp129_ = filename; g_hash_table_remove (*filenames_size, _tmp129_); } } } } } } } _g_hash_table_unref0 (pkg_versions); _g_hash_table_unref0 (pkg_version_filenames); } GHashTable* pamac_database_get_clean_cache_details (PamacDatabase* self) { GHashTable* filenames_size = NULL; GHashFunc _tmp0_; GEqualFunc _tmp1_; GHashTable* _tmp2_; GHashTable* result; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_str_hash; _tmp1_ = g_str_equal; _tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_free0_, _g_free0_); filenames_size = _tmp2_; pamac_database_get_clean_cache_details_real (self, &filenames_size); result = filenames_size; return result; } static void pamac_database_get_clean_cache_details_async_data_free (gpointer _data) { PamacDatabaseGetCleanCacheDetailsAsyncData* _data_; _data_ = _data; _g_hash_table_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetCleanCacheDetailsAsyncData, _data_); } void pamac_database_get_clean_cache_details_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetCleanCacheDetailsAsyncData* _data_; PamacDatabase* _tmp0_; g_return_if_fail (self != NULL); _data_ = g_slice_new0 (PamacDatabaseGetCleanCacheDetailsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_clean_cache_details_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; pamac_database_get_clean_cache_details_async_co (_data_); } GHashTable* pamac_database_get_clean_cache_details_finish (PamacDatabase* self, GAsyncResult* _res_) { GHashTable* result; PamacDatabaseGetCleanCacheDetailsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block28Data* block28_data_ref (Block28Data* _data28_) { g_atomic_int_inc (&_data28_->_ref_count_); return _data28_; } static void block28_data_unref (void * _userdata_) { Block28Data* _data28_; _data28_ = (Block28Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data28_->_ref_count_)) { PamacDatabase* self; self = _data28_->self; _g_hash_table_unref0 (_data28_->filenames_size); _g_object_unref0 (self); g_slice_free (Block28Data, _data28_); } } static gboolean _pamac_database_get_clean_cache_details_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_clean_cache_details_async_co (self); return result; } static gint ___lambda9_ (Block28Data* _data28_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data28_->self; pamac_database_get_clean_cache_details_real (self, &_data28_->filenames_size); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_get_clean_cache_details_async_co_gsource_func, _data28_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda9__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda9_ (self)); block28_data_unref (self); return result; } static gpointer _g_hash_table_ref0 (gpointer self) { return self ? g_hash_table_ref (self) : NULL; } static gboolean pamac_database_get_clean_cache_details_async_co (PamacDatabaseGetCleanCacheDetailsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data28_ = g_slice_new0 (Block28Data); _data_->_data28_->_ref_count_ = 1; _data_->_data28_->self = g_object_ref (_data_->self); _data_->_data28_->_async_data_ = _data_; _data_->_tmp0_ = g_str_hash; _data_->_tmp1_ = g_str_equal; _data_->_tmp2_ = g_hash_table_new_full (_data_->_tmp0_, _data_->_tmp1_, _g_free0_, _g_free0_); _data_->_data28_->filenames_size = _data_->_tmp2_; { _data_->_tmp3_ = g_thread_try_new ("get_clean_cache_details", ____lambda9__gthread_func, block28_data_ref (_data_->_data28_), &_data_->_inner_error0_); _data_->_tmp4_ = _data_->_tmp3_; _g_thread_unref0 (_data_->_tmp4_); 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_->_tmp5_ = _data_->e; _data_->_tmp6_ = _data_->_tmp5_->message; g_warning ("database.vala:355: %s", _data_->_tmp6_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block28_data_unref (_data_->_data28_); _data_->_data28_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp7_ = _g_hash_table_ref0 (_data_->_data28_->filenames_size); _data_->result = _data_->_tmp7_; block28_data_unref (_data_->_data28_); _data_->_data28_ = NULL; 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_database_get_build_files_details_real (PamacDatabase* self, GHashTable** filenames_size) { const gchar* real_aur_build_dir = NULL; PamacAURPlugin* _tmp0_; const gchar* _tmp1_; GFile* build_directory = NULL; const gchar* _tmp2_; GFile* _tmp3_; GFile* _tmp4_; GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (*filenames_size != NULL); _tmp0_ = self->priv->_aur_plugin; _tmp1_ = pamac_aur_plugin_get_real_build_dir (_tmp0_); real_aur_build_dir = _tmp1_; _tmp2_ = real_aur_build_dir; _tmp3_ = g_file_new_for_path (_tmp2_); build_directory = _tmp3_; _tmp4_ = build_directory; if (!g_file_query_exists (_tmp4_, NULL)) { _g_object_unref0 (build_directory); return; } { GFileEnumerator* enumerator = NULL; GFile* _tmp5_; GFileEnumerator* _tmp6_; GFileInfo* info = NULL; _tmp5_ = build_directory; _tmp6_ = g_file_enumerate_children (_tmp5_, "standard::*", G_FILE_QUERY_INFO_NONE, NULL, &_inner_error0_); enumerator = _tmp6_; if (G_UNLIKELY (_inner_error0_ != NULL)) { goto __catch0_g_error; } while (TRUE) { GFileInfo* _tmp7_ = NULL; GFileEnumerator* _tmp8_; GFileInfo* _tmp9_; GFileInfo* _tmp10_; GFileInfo* _tmp11_; GFileInfo* _tmp12_; const gchar* _tmp13_; gchar* absolute_filename = NULL; GFile* _tmp14_; gchar* _tmp15_; gchar* _tmp16_; GFileInfo* _tmp17_; const gchar* _tmp18_; gchar* _tmp19_; gchar* _tmp20_; GFile* child = NULL; const gchar* _tmp21_; GFile* _tmp22_; guint64 disk_usage = 0ULL; GFile* _tmp23_; guint64 _tmp24_ = 0ULL; const gchar* _tmp25_; gchar* _tmp26_; guint64* _tmp27_; _tmp8_ = enumerator; _tmp9_ = g_file_enumerator_next_file (_tmp8_, NULL, &_inner_error0_); _tmp7_ = _tmp9_; if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (info); _g_object_unref0 (enumerator); goto __catch0_g_error; } _tmp10_ = _tmp7_; _tmp7_ = NULL; _g_object_unref0 (info); info = _tmp10_; _tmp11_ = info; if (!(_tmp11_ != NULL)) { _g_object_unref0 (_tmp7_); break; } _tmp12_ = info; _tmp13_ = g_file_info_get_name (_tmp12_); if (g_strcmp0 (_tmp13_, "packages-meta-ext-v1.json.gz") == 0) { _g_object_unref0 (_tmp7_); continue; } _tmp14_ = build_directory; _tmp15_ = g_file_get_path (_tmp14_); _tmp16_ = _tmp15_; _tmp17_ = info; _tmp18_ = g_file_info_get_name (_tmp17_); _tmp19_ = g_build_filename (_tmp16_, _tmp18_, NULL); _tmp20_ = _tmp19_; _g_free0 (_tmp16_); absolute_filename = _tmp20_; _tmp21_ = absolute_filename; _tmp22_ = g_file_new_for_path (_tmp21_); child = _tmp22_; _tmp23_ = child; g_file_measure_disk_usage (_tmp23_, G_FILE_MEASURE_NONE, NULL, NULL, NULL, &_tmp24_, NULL, NULL, &_inner_error0_); disk_usage = _tmp24_; if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (child); _g_free0 (absolute_filename); _g_object_unref0 (_tmp7_); _g_object_unref0 (info); _g_object_unref0 (enumerator); goto __catch0_g_error; } _tmp25_ = absolute_filename; _tmp26_ = g_strdup (_tmp25_); _tmp27_ = __uint64_dup0 (&disk_usage); g_hash_table_insert (*filenames_size, _tmp26_, _tmp27_); _g_object_unref0 (child); _g_free0 (absolute_filename); _g_object_unref0 (_tmp7_); } _g_object_unref0 (info); _g_object_unref0 (enumerator); } goto __finally0; __catch0_g_error: { GError* e = NULL; GError* _tmp28_; const gchar* _tmp29_; e = _inner_error0_; _inner_error0_ = NULL; _tmp28_ = e; _tmp29_ = _tmp28_->message; g_warning ("database.vala:380: %s", _tmp29_); _g_error_free0 (e); } __finally0: if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (build_directory); 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; } _g_object_unref0 (build_directory); } GHashTable* pamac_database_get_build_files_details (PamacDatabase* self) { GHashTable* filenames_size = NULL; GHashFunc _tmp0_; GEqualFunc _tmp1_; GHashTable* _tmp2_; GHashTable* result; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_str_hash; _tmp1_ = g_str_equal; _tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_free0_, _g_free0_); filenames_size = _tmp2_; pamac_database_get_build_files_details_real (self, &filenames_size); result = filenames_size; return result; } static void pamac_database_get_build_files_details_async_data_free (gpointer _data) { PamacDatabaseGetBuildFilesDetailsAsyncData* _data_; _data_ = _data; _g_hash_table_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetBuildFilesDetailsAsyncData, _data_); } void pamac_database_get_build_files_details_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetBuildFilesDetailsAsyncData* _data_; PamacDatabase* _tmp0_; g_return_if_fail (self != NULL); _data_ = g_slice_new0 (PamacDatabaseGetBuildFilesDetailsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_build_files_details_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; pamac_database_get_build_files_details_async_co (_data_); } GHashTable* pamac_database_get_build_files_details_finish (PamacDatabase* self, GAsyncResult* _res_) { GHashTable* result; PamacDatabaseGetBuildFilesDetailsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block29Data* block29_data_ref (Block29Data* _data29_) { g_atomic_int_inc (&_data29_->_ref_count_); return _data29_; } static void block29_data_unref (void * _userdata_) { Block29Data* _data29_; _data29_ = (Block29Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data29_->_ref_count_)) { PamacDatabase* self; self = _data29_->self; _g_hash_table_unref0 (_data29_->filenames_size); _g_object_unref0 (self); g_slice_free (Block29Data, _data29_); } } static gboolean _pamac_database_get_build_files_details_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_build_files_details_async_co (self); return result; } static gint ___lambda10_ (Block29Data* _data29_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data29_->self; pamac_database_get_build_files_details_real (self, &_data29_->filenames_size); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_get_build_files_details_async_co_gsource_func, _data29_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda10__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda10_ (self)); block29_data_unref (self); return result; } static gboolean pamac_database_get_build_files_details_async_co (PamacDatabaseGetBuildFilesDetailsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data29_ = g_slice_new0 (Block29Data); _data_->_data29_->_ref_count_ = 1; _data_->_data29_->self = g_object_ref (_data_->self); _data_->_data29_->_async_data_ = _data_; _data_->_tmp0_ = g_str_hash; _data_->_tmp1_ = g_str_equal; _data_->_tmp2_ = g_hash_table_new_full (_data_->_tmp0_, _data_->_tmp1_, _g_free0_, _g_free0_); _data_->_data29_->filenames_size = _data_->_tmp2_; { _data_->_tmp3_ = g_thread_try_new ("get_build_files_details", ____lambda10__gthread_func, block29_data_ref (_data_->_data29_), &_data_->_inner_error0_); _data_->_tmp4_ = _data_->_tmp3_; _g_thread_unref0 (_data_->_tmp4_); 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_->_tmp5_ = _data_->e; _data_->_tmp6_ = _data_->_tmp5_->message; g_warning ("database.vala:400: %s", _data_->_tmp6_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block29_data_unref (_data_->_data29_); _data_->_data29_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp7_ = _g_hash_table_ref0 (_data_->_data29_->filenames_size); _data_->result = _data_->_tmp7_; block29_data_unref (_data_->_data29_); _data_->_data29_ = NULL; 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; } gboolean pamac_database_is_installed_pkg (PamacDatabase* self, const gchar* pkgname) { GError* _inner_error0_ = NULL; gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (pkgname != NULL, FALSE); { AlpmConfig* _tmp0_; gboolean _tmp7_ = FALSE; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_handle_t* _tmp1_; alpm_db_t* _tmp2_; alpm_db_t* _tmp3_; alpm_pkg_t* _tmp4_; _tmp1_ = self->priv->alpm_handle; _tmp2_ = alpm_get_localdb (_tmp1_); _tmp3_ = _tmp2_; _tmp4_ = alpm_db_get_pkg (_tmp3_, pkgname); result = _tmp4_ != NULL; { AlpmConfig* _tmp5_; _tmp5_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return result; } __finally0: { AlpmConfig* _tmp6_; _tmp6_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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 _tmp7_; } } alpm_pkg_t* pamac_database_intern_get_local_pkg (PamacDatabase* self, const gchar* pkgname) { GError* _inner_error0_ = NULL; alpm_pkg_t* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (pkgname != NULL, NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_handle_t* _tmp1_; alpm_db_t* _tmp2_; alpm_db_t* _tmp3_; alpm_pkg_t* _tmp4_; _tmp1_ = self->priv->alpm_handle; _tmp2_ = alpm_get_localdb (_tmp1_); _tmp3_ = _tmp2_; _tmp4_ = alpm_db_get_pkg (_tmp3_, pkgname); result = _tmp4_; { AlpmConfig* _tmp5_; _tmp5_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return result; } __finally0: { AlpmConfig* _tmp6_; _tmp6_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } PamacAlpmPackage* pamac_database_get_installed_pkg (PamacDatabase* self, const gchar* pkgname) { GError* _inner_error0_ = NULL; PamacAlpmPackage* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (pkgname != NULL, NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_handle_t* _tmp1_; alpm_db_t* _tmp2_; alpm_db_t* _tmp3_; alpm_pkg_t* _tmp4_; PamacAlpmPackage* _tmp5_; _tmp1_ = self->priv->alpm_handle; _tmp2_ = alpm_get_localdb (_tmp1_); _tmp3_ = _tmp2_; _tmp4_ = alpm_db_get_pkg (_tmp3_, pkgname); _tmp5_ = pamac_database_initialise_pkg (self, _tmp4_, NULL); result = _tmp5_; { AlpmConfig* _tmp6_; _tmp6_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return result; } __finally0: { AlpmConfig* _tmp7_; _tmp7_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } gboolean pamac_database_has_installed_satisfier (PamacDatabase* self, const gchar* depstring) { GError* _inner_error0_ = NULL; gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (depstring != NULL, FALSE); { AlpmConfig* _tmp0_; gboolean _tmp9_ = FALSE; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_handle_t* _tmp1_; alpm_db_t* _tmp2_; alpm_db_t* _tmp3_; alpm_list_t* _tmp4_; alpm_list_t* _tmp5_; alpm_pkg_t* _tmp6_; _tmp1_ = self->priv->alpm_handle; _tmp2_ = alpm_get_localdb (_tmp1_); _tmp3_ = _tmp2_; _tmp4_ = alpm_db_get_pkgcache (_tmp3_); _tmp5_ = _tmp4_; _tmp6_ = alpm_find_satisfier (_tmp5_, depstring); result = _tmp6_ != NULL; { AlpmConfig* _tmp7_; _tmp7_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return result; } __finally0: { AlpmConfig* _tmp8_; _tmp8_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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 _tmp9_; } } PamacAlpmPackage* pamac_database_get_installed_satisfier (PamacDatabase* self, const gchar* depstring) { GError* _inner_error0_ = NULL; PamacAlpmPackage* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (depstring != NULL, NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_handle_t* _tmp1_; alpm_db_t* _tmp2_; alpm_db_t* _tmp3_; alpm_list_t* _tmp4_; alpm_list_t* _tmp5_; alpm_pkg_t* _tmp6_; PamacAlpmPackage* _tmp7_; _tmp1_ = self->priv->alpm_handle; _tmp2_ = alpm_get_localdb (_tmp1_); _tmp3_ = _tmp2_; _tmp4_ = alpm_db_get_pkgcache (_tmp3_); _tmp5_ = _tmp4_; _tmp6_ = alpm_find_satisfier (_tmp5_, depstring); _tmp7_ = pamac_database_initialise_pkg (self, _tmp6_, NULL); result = _tmp7_; { AlpmConfig* _tmp8_; _tmp8_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return result; } __finally0: { AlpmConfig* _tmp9_; _tmp9_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } GPtrArray* pamac_database_get_installed_pkgs_by_glob (PamacDatabase* self, const gchar* glob) { GPtrArray* pkgs = NULL; GPtrArray* _tmp0_; GError* _inner_error0_ = NULL; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (glob != NULL, NULL); _tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); pkgs = _tmp0_; { AlpmConfig* _tmp1_; _tmp1_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_list_t* pkgcache = NULL; alpm_handle_t* _tmp2_; alpm_db_t* _tmp3_; alpm_db_t* _tmp4_; alpm_list_t* _tmp5_; alpm_list_t* _tmp6_; _tmp2_ = self->priv->alpm_handle; _tmp3_ = alpm_get_localdb (_tmp2_); _tmp4_ = _tmp3_; _tmp5_ = alpm_db_get_pkgcache (_tmp4_); _tmp6_ = _tmp5_; pkgcache = _tmp6_; while (TRUE) { alpm_list_t* _tmp7_; alpm_pkg_t* local_pkg = NULL; alpm_list_t* _tmp8_; gconstpointer _tmp9_; alpm_pkg_t* _tmp10_; const gchar* _tmp11_; const gchar* _tmp12_; _tmp7_ = pkgcache; if (!(_tmp7_ != NULL)) { break; } _tmp8_ = pkgcache; _tmp9_ = _tmp8_->data; local_pkg = (alpm_pkg_t*) _tmp9_; _tmp10_ = local_pkg; _tmp11_ = alpm_pkg_get_name (_tmp10_); _tmp12_ = _tmp11_; if (fnmatch (glob, _tmp12_, 0) == 0) { GPtrArray* _tmp13_; alpm_pkg_t* _tmp14_; PamacAlpmPackage* _tmp15_; _tmp13_ = pkgs; _tmp14_ = local_pkg; _tmp15_ = pamac_database_initialise_pkg (self, _tmp14_, NULL); g_ptr_array_add (_tmp13_, _tmp15_); } pkgcache = alpm_list_next (pkgcache); } } __finally0: { AlpmConfig* _tmp16_; _tmp16_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_ptr_array_unref0 (pkgs); 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; } } result = pkgs; return result; } gboolean pamac_database_should_hold (PamacDatabase* self, const gchar* pkgname) { GError* _inner_error0_ = NULL; gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (pkgname != NULL, FALSE); { AlpmConfig* _tmp0_; gboolean _tmp5_ = FALSE; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { AlpmConfig* _tmp1_; GHashTable* _tmp2_; _tmp1_ = self->priv->alpm_config; _tmp2_ = _tmp1_->holdpkgs; result = g_hash_table_contains (_tmp2_, pkgname); { AlpmConfig* _tmp3_; _tmp3_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return result; } __finally0: { AlpmConfig* _tmp4_; _tmp4_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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 _tmp5_; } } static void pamac_database_get_uninstalled_optdeps_async_data_free (gpointer _data) { PamacDatabaseGetUninstalledOptdepsAsyncData* _data_; _data_ = _data; _g_free0 (_data_->pkgname); _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetUninstalledOptdepsAsyncData, _data_); } void pamac_database_get_uninstalled_optdeps_async (PamacDatabase* self, const gchar* pkgname, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetUninstalledOptdepsAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (pkgname != NULL); _data_ = g_slice_new0 (PamacDatabaseGetUninstalledOptdepsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_uninstalled_optdeps_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (pkgname); _g_free0 (_data_->pkgname); _data_->pkgname = _tmp1_; pamac_database_get_uninstalled_optdeps_async_co (_data_); } GPtrArray* pamac_database_get_uninstalled_optdeps_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetUninstalledOptdepsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block30Data* block30_data_ref (Block30Data* _data30_) { g_atomic_int_inc (&_data30_->_ref_count_); return _data30_; } static void block30_data_unref (void * _userdata_) { Block30Data* _data30_; _data30_ = (Block30Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data30_->_ref_count_)) { PamacDatabase* self; self = _data30_->self; _g_free0 (_data30_->pkgname_copy); _g_ptr_array_unref0 (_data30_->optdeps); _g_object_unref0 (self); g_slice_free (Block30Data, _data30_); } } static gboolean _pamac_database_get_uninstalled_optdeps_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_uninstalled_optdeps_async_co (self); return result; } static gint ___lambda11_ (Block30Data* _data30_) { PamacDatabase* self; GMainContext* _tmp22_; GError* _inner_error0_ = NULL; gint result; self = _data30_->self; { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_pkg_t* pkg = NULL; alpm_handle_t* _tmp1_; alpm_pkg_t* _tmp2_; alpm_pkg_t* _tmp3_; _tmp1_ = self->priv->alpm_handle; _tmp2_ = pamac_database_get_syncpkg (self, _tmp1_, _data30_->pkgname_copy); pkg = _tmp2_; _tmp3_ = pkg; if (_tmp3_ != NULL) { alpm_list_t* optdepends = NULL; alpm_pkg_t* _tmp4_; alpm_list_t* _tmp5_; alpm_list_t* _tmp6_; _tmp4_ = pkg; _tmp5_ = alpm_pkg_get_optdepends (_tmp4_); _tmp6_ = _tmp5_; optdepends = _tmp6_; while (TRUE) { alpm_list_t* _tmp7_; gchar* optdep = NULL; alpm_list_t* _tmp8_; gconstpointer _tmp9_; gchar* _tmp10_; alpm_pkg_t* satisfier = NULL; alpm_handle_t* _tmp11_; alpm_db_t* _tmp12_; alpm_db_t* _tmp13_; alpm_list_t* _tmp14_; alpm_list_t* _tmp15_; const gchar* _tmp16_; alpm_pkg_t* _tmp17_; alpm_pkg_t* _tmp18_; _tmp7_ = optdepends; if (!(_tmp7_ != NULL)) { break; } _tmp8_ = optdepends; _tmp9_ = _tmp8_->data; _tmp10_ = alpm_dep_compute_string ((alpm_depend_t*) _tmp9_); optdep = _tmp10_; _tmp11_ = self->priv->alpm_handle; _tmp12_ = alpm_get_localdb (_tmp11_); _tmp13_ = _tmp12_; _tmp14_ = alpm_db_get_pkgcache (_tmp13_); _tmp15_ = _tmp14_; _tmp16_ = optdep; _tmp17_ = alpm_find_satisfier (_tmp15_, _tmp16_); satisfier = _tmp17_; _tmp18_ = satisfier; if (_tmp18_ == NULL) { gchar* _tmp19_; _tmp19_ = optdep; optdep = NULL; g_ptr_array_add (_data30_->optdeps, _tmp19_); } optdepends = alpm_list_next (optdepends); _g_free0 (optdep); } } } __finally0: { AlpmConfig* _tmp20_; _tmp20_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { gint _tmp21_ = -1; 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 _tmp21_; } } _tmp22_ = self->priv->_context; g_main_context_invoke_full (_tmp22_, G_PRIORITY_DEFAULT, _pamac_database_get_uninstalled_optdeps_async_co_gsource_func, _data30_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda11__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda11_ (self)); block30_data_unref (self); return result; } static gpointer _g_ptr_array_ref0 (gpointer self) { return self ? g_ptr_array_ref (self) : NULL; } static gboolean pamac_database_get_uninstalled_optdeps_async_co (PamacDatabaseGetUninstalledOptdepsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data30_ = g_slice_new0 (Block30Data); _data_->_data30_->_ref_count_ = 1; _data_->_data30_->self = g_object_ref (_data_->self); _data_->_data30_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, _g_free0_); _data_->_data30_->optdeps = _data_->_tmp0_; _data_->_tmp1_ = g_strdup (_data_->pkgname); _data_->_data30_->pkgname_copy = _data_->_tmp1_; { _data_->_tmp2_ = g_thread_try_new ("get_uninstalled_optdeps", ____lambda11__gthread_func, block30_data_ref (_data_->_data30_), &_data_->_inner_error0_); _data_->_tmp3_ = _data_->_tmp2_; _g_thread_unref0 (_data_->_tmp3_); 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_->_tmp4_ = _data_->e; _data_->_tmp5_ = _data_->_tmp4_->message; g_warning ("database.vala:481: %s", _data_->_tmp5_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block30_data_unref (_data_->_data30_); _data_->_data30_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp6_ = _g_ptr_array_ref0 (_data_->_data30_->optdeps); _data_->result = _data_->_tmp6_; block30_data_unref (_data_->_data30_); _data_->_data30_ = NULL; 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 PamacAlpmPackageStatic* pamac_database_initialise_pkg_data (PamacDatabase* self, alpm_pkg_t* local_pkg, alpm_pkg_t* sync_pkg) { PamacAlpmPackageStatic* pkg = NULL; PamacAlpmPackageStatic* _tmp0_; PamacConfig* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; PamacAlpmPackageStatic* result; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = pamac_alpm_package_static_new (sync_pkg, local_pkg, sync_pkg); pkg = _tmp0_; _tmp1_ = self->priv->_config; _tmp2_ = pamac_config_get_enable_appstream (_tmp1_); _tmp3_ = _tmp2_; if (_tmp3_) { GPtrArray* matching_apps = NULL; PamacAppstreamPlugin* _tmp4_; const gchar* _tmp5_; const gchar* _tmp6_; GPtrArray* _tmp7_; GPtrArray* _tmp8_; gint _tmp9_; gint _tmp10_; _tmp4_ = self->priv->appstream_plugin; _tmp5_ = alpm_pkg_get_name (sync_pkg); _tmp6_ = _tmp5_; _tmp7_ = pamac_appstream_plugin_get_pkgname_apps (_tmp4_, _tmp6_); matching_apps = _tmp7_; _tmp8_ = matching_apps; _tmp9_ = vala_g_ptr_array_get_length (_tmp8_); _tmp10_ = _tmp9_; if (_tmp10_ == 1) { PamacAlpmPackageStatic* _tmp11_; GPtrArray* _tmp12_; gconstpointer _tmp13_; _tmp11_ = pkg; _tmp12_ = matching_apps; _tmp13_ = g_ptr_array_index (_tmp12_, (guint) 0); pamac_alpm_package_linked_set_app ((PamacAlpmPackageLinked*) _tmp11_, (PamacApp*) _tmp13_); } _g_ptr_array_unref0 (matching_apps); } result = pkg; return result; } static PamacAlpmPackage* pamac_database_initialise_pkg (PamacDatabase* self, alpm_pkg_t* alpm_pkg, alpm_pkg_t* sync_pkg) { PamacAlpmPackageLinked* pkg = NULL; const gchar* pkgname = NULL; const gchar* _tmp0_; const gchar* _tmp1_; GHashTable* _tmp2_; const gchar* _tmp3_; gconstpointer _tmp4_; PamacAlpmPackageLinked* _tmp5_; PamacAlpmPackageLinked* new_pkg = NULL; PamacAlpmPackageLinked* _tmp7_; PamacConfig* _tmp29_; gboolean _tmp30_; gboolean _tmp31_; PamacAlpmPackageLinked* _tmp41_; GHashTable* _tmp42_; PamacAlpmPackageLinked* _tmp43_; const gchar* _tmp44_; const gchar* _tmp45_; PamacAlpmPackageLinked* _tmp46_; PamacAlpmPackageLinked* _tmp47_; PamacAlpmPackageLinked* _tmp48_; PamacAlpmPackage* result; g_return_val_if_fail (self != NULL, NULL); if (alpm_pkg == NULL) { result = NULL; return result; } pkg = NULL; _tmp0_ = alpm_pkg_get_name (alpm_pkg); _tmp1_ = _tmp0_; pkgname = _tmp1_; _tmp2_ = self->priv->pkgs_cache; _tmp3_ = pkgname; _tmp4_ = g_hash_table_lookup (_tmp2_, _tmp3_); pkg = (PamacAlpmPackageLinked*) _tmp4_; _tmp5_ = pkg; if (_tmp5_ != NULL) { PamacAlpmPackageLinked* _tmp6_; _tmp6_ = pkg; result = (PamacAlpmPackage*) _tmp6_; return result; } _tmp7_ = pamac_alpm_package_linked_new_from_alpm (alpm_pkg, self); new_pkg = _tmp7_; if (sync_pkg != NULL) { PamacAlpmPackageLinked* _tmp8_; _tmp8_ = new_pkg; pamac_alpm_package_linked_set_sync_pkg (_tmp8_, sync_pkg); } else { gboolean _tmp9_ = FALSE; PamacConfig* _tmp10_; gboolean _tmp11_; gboolean _tmp12_; _tmp10_ = self->priv->_config; _tmp11_ = pamac_config_get_enable_aur (_tmp10_); _tmp12_ = _tmp11_; if (_tmp12_) { alpm_pkgfrom_t _tmp13_; alpm_pkgfrom_t _tmp14_; _tmp13_ = alpm_pkg_get_origin (alpm_pkg); _tmp14_ = _tmp13_; _tmp9_ = _tmp14_ == ALPM_PKG_FROM_LOCALDB; } else { _tmp9_ = FALSE; } if (_tmp9_) { alpm_pkg_t* found_sync_pkg = NULL; alpm_handle_t* _tmp15_; const gchar* _tmp16_; alpm_pkg_t* _tmp17_; PamacAlpmPackageLinked* _tmp18_; alpm_pkg_t* _tmp19_; PamacAlpmPackageLinked* _tmp20_; alpm_pkg_t* _tmp21_; _tmp15_ = self->priv->alpm_handle; _tmp16_ = pkgname; _tmp17_ = pamac_database_get_syncpkg (self, _tmp15_, _tmp16_); found_sync_pkg = _tmp17_; _tmp18_ = new_pkg; _tmp19_ = found_sync_pkg; pamac_alpm_package_linked_set_sync_pkg (_tmp18_, _tmp19_); _tmp20_ = new_pkg; pamac_alpm_package_linked_set_local_pkg (_tmp20_, alpm_pkg); _tmp21_ = found_sync_pkg; if (_tmp21_ == NULL) { PamacAURPlugin* _tmp22_; const gchar* _tmp23_; const gchar* _tmp24_; PamacAURInfos* _tmp25_; PamacAURInfos* _tmp26_; gboolean _tmp27_; _tmp22_ = self->priv->_aur_plugin; _tmp23_ = alpm_pkg_get_name (alpm_pkg); _tmp24_ = _tmp23_; _tmp25_ = pamac_aur_plugin_get_infos (_tmp22_, _tmp24_); _tmp26_ = _tmp25_; _tmp27_ = _tmp26_ != NULL; _g_object_unref0 (_tmp26_); if (_tmp27_) { PamacAlpmPackageLinked* _tmp28_; _tmp28_ = new_pkg; pamac_package_set_repo ((PamacPackage*) _tmp28_, g_dgettext (NULL, "AUR")); } } } } _tmp29_ = self->priv->_config; _tmp30_ = pamac_config_get_enable_appstream (_tmp29_); _tmp31_ = _tmp30_; if (_tmp31_) { GPtrArray* matching_apps = NULL; PamacAppstreamPlugin* _tmp32_; const gchar* _tmp33_; GPtrArray* _tmp34_; GPtrArray* _tmp35_; gint _tmp36_; gint _tmp37_; _tmp32_ = self->priv->appstream_plugin; _tmp33_ = pkgname; _tmp34_ = pamac_appstream_plugin_get_pkgname_apps (_tmp32_, _tmp33_); matching_apps = _tmp34_; _tmp35_ = matching_apps; _tmp36_ = vala_g_ptr_array_get_length (_tmp35_); _tmp37_ = _tmp36_; if (_tmp37_ == 1) { PamacAlpmPackageLinked* _tmp38_; GPtrArray* _tmp39_; gconstpointer _tmp40_; _tmp38_ = new_pkg; _tmp39_ = matching_apps; _tmp40_ = g_ptr_array_index (_tmp39_, (guint) 0); pamac_alpm_package_linked_set_app (_tmp38_, (PamacApp*) _tmp40_); } _g_ptr_array_unref0 (matching_apps); } _tmp41_ = new_pkg; pkg = _tmp41_; _tmp42_ = self->priv->pkgs_cache; _tmp43_ = pkg; _tmp44_ = pamac_package_get_id ((PamacPackage*) _tmp43_); _tmp45_ = _tmp44_; _tmp46_ = new_pkg; _tmp47_ = _g_object_ref0 (_tmp46_); g_hash_table_replace (_tmp42_, _tmp45_, _tmp47_); _tmp48_ = pkg; result = (PamacAlpmPackage*) _tmp48_; _g_object_unref0 (new_pkg); return result; } static void _g_object_unref0_ (gpointer var) { (var == NULL) ? NULL : (var = (g_object_unref (var), NULL)); } static void pamac_database_initialise_pkgs (PamacDatabase* self, alpm_list_t* alpm_pkgs, GPtrArray** pkgs) { GHashTable* data = NULL; GHashFunc _tmp0_; GEqualFunc _tmp1_; GHashTable* _tmp2_; GPtrArray* foreign_pkgnames = NULL; GPtrArray* _tmp3_; GPtrArray* _tmp104_; gint _tmp105_; gint _tmp106_; g_return_if_fail (self != NULL); g_return_if_fail (*pkgs != NULL); _tmp0_ = g_str_hash; _tmp1_ = g_str_equal; _tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, NULL, _g_object_unref0_); data = _tmp2_; _tmp3_ = g_ptr_array_new_full ((guint) 0, _g_free0_); foreign_pkgnames = _tmp3_; while (TRUE) { alpm_pkg_t* alpm_pkg = NULL; gconstpointer _tmp4_; const gchar* pkgname = NULL; alpm_pkg_t* _tmp5_; const gchar* _tmp6_; const gchar* _tmp7_; PamacAlpmPackageLinked* pkg = NULL; GHashTable* _tmp8_; const gchar* _tmp9_; gconstpointer _tmp10_; PamacAlpmPackageLinked* _tmp11_; PamacAlpmPackageLinked* _tmp12_; alpm_pkg_t* _tmp14_; PamacAlpmPackageLinked* _tmp15_; gboolean _tmp16_ = FALSE; PamacConfig* _tmp17_; gboolean _tmp18_; gboolean _tmp19_; PamacConfig* _tmp38_; gboolean _tmp39_; gboolean _tmp40_; PamacAlpmPackageLinked* _tmp103_; if (!(alpm_pkgs != NULL)) { break; } _tmp4_ = alpm_pkgs->data; alpm_pkg = (alpm_pkg_t*) _tmp4_; _tmp5_ = alpm_pkg; _tmp6_ = alpm_pkg_get_name (_tmp5_); _tmp7_ = _tmp6_; pkgname = _tmp7_; _tmp8_ = self->priv->pkgs_cache; _tmp9_ = pkgname; _tmp10_ = g_hash_table_lookup (_tmp8_, _tmp9_); _tmp11_ = _g_object_ref0 ((PamacAlpmPackageLinked*) _tmp10_); pkg = _tmp11_; _tmp12_ = pkg; if (_tmp12_ != NULL) { PamacAlpmPackageLinked* _tmp13_; _tmp13_ = pkg; g_ptr_array_add (*pkgs, (PamacAlpmPackage*) _tmp13_); alpm_pkgs = alpm_list_next (alpm_pkgs); _g_object_unref0 (pkg); continue; } _tmp14_ = alpm_pkg; _tmp15_ = pamac_alpm_package_linked_new_from_alpm (_tmp14_, self); _g_object_unref0 (pkg); pkg = _tmp15_; _tmp17_ = self->priv->_config; _tmp18_ = pamac_config_get_enable_aur (_tmp17_); _tmp19_ = _tmp18_; if (_tmp19_) { alpm_pkg_t* _tmp20_; alpm_pkgfrom_t _tmp21_; alpm_pkgfrom_t _tmp22_; _tmp20_ = alpm_pkg; _tmp21_ = alpm_pkg_get_origin (_tmp20_); _tmp22_ = _tmp21_; _tmp16_ = _tmp22_ == ALPM_PKG_FROM_LOCALDB; } else { _tmp16_ = FALSE; } if (_tmp16_) { alpm_pkg_t* sync_pkg = NULL; alpm_handle_t* _tmp23_; const gchar* _tmp24_; alpm_pkg_t* _tmp25_; PamacAlpmPackageLinked* _tmp26_; alpm_pkg_t* _tmp27_; PamacAlpmPackageLinked* _tmp28_; alpm_pkg_t* _tmp29_; alpm_pkg_t* _tmp30_; _tmp23_ = self->priv->alpm_handle; _tmp24_ = pkgname; _tmp25_ = pamac_database_get_syncpkg (self, _tmp23_, _tmp24_); sync_pkg = _tmp25_; _tmp26_ = pkg; _tmp27_ = sync_pkg; pamac_alpm_package_linked_set_sync_pkg (_tmp26_, _tmp27_); _tmp28_ = pkg; _tmp29_ = alpm_pkg; pamac_alpm_package_linked_set_local_pkg (_tmp28_, _tmp29_); _tmp30_ = sync_pkg; if (_tmp30_ == NULL) { GPtrArray* _tmp31_; const gchar* _tmp32_; gchar* _tmp33_; GHashTable* _tmp34_; const gchar* _tmp35_; PamacAlpmPackageLinked* _tmp36_; PamacAlpmPackageLinked* _tmp37_; _tmp31_ = foreign_pkgnames; _tmp32_ = pkgname; _tmp33_ = g_strdup (_tmp32_); g_ptr_array_add (_tmp31_, _tmp33_); _tmp34_ = data; _tmp35_ = pkgname; _tmp36_ = pkg; _tmp37_ = _g_object_ref0 (_tmp36_); g_hash_table_insert (_tmp34_, _tmp35_, _tmp37_); } } _tmp38_ = self->priv->_config; _tmp39_ = pamac_config_get_enable_appstream (_tmp38_); _tmp40_ = _tmp39_; if (_tmp40_) { GPtrArray* apps = NULL; PamacAppstreamPlugin* _tmp41_; const gchar* _tmp42_; GPtrArray* _tmp43_; guint apps_length = 0U; GPtrArray* _tmp44_; gint _tmp45_; gint _tmp46_; _tmp41_ = self->priv->appstream_plugin; _tmp42_ = pkgname; _tmp43_ = pamac_appstream_plugin_get_pkgname_apps (_tmp41_, _tmp42_); apps = _tmp43_; _tmp44_ = apps; _tmp45_ = vala_g_ptr_array_get_length (_tmp44_); _tmp46_ = _tmp45_; apps_length = (guint) _tmp46_; if (apps_length > ((guint) 0)) { PamacApp* app = NULL; GPtrArray* _tmp47_; gconstpointer _tmp48_; PamacAlpmPackageLinked* _tmp49_; PamacApp* _tmp50_; PamacAlpmPackageLinked* cached_pkg = NULL; GHashTable* _tmp51_; PamacAlpmPackageLinked* _tmp52_; const gchar* _tmp53_; const gchar* _tmp54_; gconstpointer _tmp55_; PamacAlpmPackageLinked* _tmp56_; _tmp47_ = apps; _tmp48_ = g_ptr_array_index (_tmp47_, (guint) 0); app = (PamacApp*) _tmp48_; _tmp49_ = pkg; _tmp50_ = app; pamac_alpm_package_linked_set_app (_tmp49_, _tmp50_); _tmp51_ = self->priv->pkgs_cache; _tmp52_ = pkg; _tmp53_ = pamac_package_get_id ((PamacPackage*) _tmp52_); _tmp54_ = _tmp53_; _tmp55_ = g_hash_table_lookup (_tmp51_, _tmp54_); cached_pkg = (PamacAlpmPackageLinked*) _tmp55_; _tmp56_ = cached_pkg; if (_tmp56_ == NULL) { GHashTable* _tmp57_; PamacAlpmPackageLinked* _tmp58_; const gchar* _tmp59_; const gchar* _tmp60_; PamacAlpmPackageLinked* _tmp61_; PamacAlpmPackageLinked* _tmp62_; _tmp57_ = self->priv->pkgs_cache; _tmp58_ = pkg; _tmp59_ = pamac_package_get_id ((PamacPackage*) _tmp58_); _tmp60_ = _tmp59_; _tmp61_ = pkg; _tmp62_ = _g_object_ref0 (_tmp61_); g_hash_table_replace (_tmp57_, _tmp60_, _tmp62_); } else { PamacAlpmPackageLinked* _tmp63_; PamacAlpmPackageLinked* _tmp64_; _tmp63_ = cached_pkg; _tmp64_ = _g_object_ref0 (_tmp63_); _g_object_unref0 (pkg); pkg = _tmp64_; } { guint i = 0U; i = (guint) 1; { gboolean _tmp65_ = FALSE; _tmp65_ = TRUE; while (TRUE) { GPtrArray* _tmp67_; gconstpointer _tmp68_; gchar* id = NULL; const gchar* _tmp69_; PamacApp* _tmp70_; const gchar* _tmp71_; const gchar* _tmp72_; gchar* _tmp73_; GHashTable* _tmp74_; const gchar* _tmp75_; gconstpointer _tmp76_; PamacAlpmPackageLinked* _tmp77_; if (!_tmp65_) { guint _tmp66_; _tmp66_ = i; i = _tmp66_ + 1; } _tmp65_ = FALSE; if (!(i < apps_length)) { break; } _tmp67_ = apps; _tmp68_ = g_ptr_array_index (_tmp67_, i); app = (PamacApp*) _tmp68_; _tmp69_ = pkgname; _tmp70_ = app; _tmp71_ = pamac_app_get_name (_tmp70_); _tmp72_ = _tmp71_; _tmp73_ = g_strdup_printf ("%s/%s", _tmp69_, _tmp72_); id = _tmp73_; _tmp74_ = self->priv->pkgs_cache; _tmp75_ = id; _tmp76_ = g_hash_table_lookup (_tmp74_, _tmp75_); cached_pkg = (PamacAlpmPackageLinked*) _tmp76_; _tmp77_ = cached_pkg; if (_tmp77_ == NULL) { PamacAlpmPackageLinked* pkg_dup = NULL; alpm_pkg_t* _tmp78_; PamacAlpmPackageLinked* _tmp79_; PamacAlpmPackageLinked* _tmp80_; GPtrArray* _tmp81_; gconstpointer _tmp82_; PamacAlpmPackageLinked* _tmp83_; GHashTable* _tmp84_; PamacAlpmPackageLinked* _tmp85_; const gchar* _tmp86_; const gchar* _tmp87_; PamacAlpmPackageLinked* _tmp88_; PamacAlpmPackageLinked* _tmp89_; _tmp78_ = alpm_pkg; _tmp79_ = pamac_alpm_package_linked_new_from_alpm (_tmp78_, self); pkg_dup = _tmp79_; _tmp80_ = pkg_dup; _tmp81_ = apps; _tmp82_ = g_ptr_array_index (_tmp81_, i); pamac_alpm_package_linked_set_app (_tmp80_, (PamacApp*) _tmp82_); _tmp83_ = pkg_dup; g_ptr_array_add (*pkgs, (PamacAlpmPackage*) _tmp83_); _tmp84_ = self->priv->pkgs_cache; _tmp85_ = pkg_dup; _tmp86_ = pamac_package_get_id ((PamacPackage*) _tmp85_); _tmp87_ = _tmp86_; _tmp88_ = pkg_dup; _tmp89_ = _g_object_ref0 (_tmp88_); g_hash_table_replace (_tmp84_, _tmp87_, _tmp89_); _g_object_unref0 (pkg_dup); } else { PamacAlpmPackageLinked* _tmp90_; _tmp90_ = cached_pkg; g_ptr_array_add (*pkgs, (PamacAlpmPackage*) _tmp90_); } _g_free0 (id); } } } } else { GHashTable* _tmp91_; PamacAlpmPackageLinked* _tmp92_; const gchar* _tmp93_; const gchar* _tmp94_; PamacAlpmPackageLinked* _tmp95_; PamacAlpmPackageLinked* _tmp96_; _tmp91_ = self->priv->pkgs_cache; _tmp92_ = pkg; _tmp93_ = pamac_package_get_id ((PamacPackage*) _tmp92_); _tmp94_ = _tmp93_; _tmp95_ = pkg; _tmp96_ = _g_object_ref0 (_tmp95_); g_hash_table_replace (_tmp91_, _tmp94_, _tmp96_); } _g_ptr_array_unref0 (apps); } else { GHashTable* _tmp97_; PamacAlpmPackageLinked* _tmp98_; const gchar* _tmp99_; const gchar* _tmp100_; PamacAlpmPackageLinked* _tmp101_; PamacAlpmPackageLinked* _tmp102_; _tmp97_ = self->priv->pkgs_cache; _tmp98_ = pkg; _tmp99_ = pamac_package_get_id ((PamacPackage*) _tmp98_); _tmp100_ = _tmp99_; _tmp101_ = pkg; _tmp102_ = _g_object_ref0 (_tmp101_); g_hash_table_replace (_tmp97_, _tmp100_, _tmp102_); } _tmp103_ = pkg; g_ptr_array_add (*pkgs, (PamacAlpmPackage*) _tmp103_); alpm_pkgs = alpm_list_next (alpm_pkgs); _g_object_unref0 (pkg); } _tmp104_ = foreign_pkgnames; _tmp105_ = vala_g_ptr_array_get_length (_tmp104_); _tmp106_ = _tmp105_; if (_tmp106_ > 0) { GPtrArray* aur_infos_list = NULL; PamacAURPlugin* _tmp107_; GPtrArray* _tmp108_; GPtrArray* _tmp109_; GPtrArray* _tmp110_; _tmp107_ = self->priv->_aur_plugin; _tmp108_ = foreign_pkgnames; _tmp109_ = pamac_aur_plugin_get_multi_infos (_tmp107_, _tmp108_); aur_infos_list = _tmp109_; _tmp110_ = aur_infos_list; { GPtrArray* aur_infos_collection = NULL; guint aur_infos_index = 0U; aur_infos_collection = _tmp110_; for (aur_infos_index = 0; aur_infos_index < aur_infos_collection->len; aur_infos_index = aur_infos_index + 1) { PamacAURInfos* aur_infos = NULL; aur_infos = (PamacAURInfos*) g_ptr_array_index (aur_infos_collection, aur_infos_index); { PamacAlpmPackageLinked* pkg = NULL; GHashTable* _tmp111_; PamacAURInfos* _tmp112_; const gchar* _tmp113_; const gchar* _tmp114_; gconstpointer _tmp115_; PamacAlpmPackageLinked* _tmp116_; _tmp111_ = data; _tmp112_ = aur_infos; _tmp113_ = pamac_aur_infos_get_name (_tmp112_); _tmp114_ = _tmp113_; _tmp115_ = g_hash_table_lookup (_tmp111_, _tmp114_); pkg = (PamacAlpmPackageLinked*) _tmp115_; _tmp116_ = pkg; if (_tmp116_ != NULL) { PamacAlpmPackageLinked* _tmp117_; _tmp117_ = pkg; pamac_package_set_repo ((PamacPackage*) _tmp117_, g_dgettext (NULL, "AUR")); } } } } _g_ptr_array_unref0 (aur_infos_list); } _g_ptr_array_unref0 (foreign_pkgnames); _g_hash_table_unref0 (data); } GPtrArray* pamac_database_get_installed_pkgs (PamacDatabase* self) { GPtrArray* pkgs = NULL; GPtrArray* _tmp0_; GError* _inner_error0_ = NULL; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); pkgs = _tmp0_; { AlpmConfig* _tmp1_; _tmp1_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_handle_t* _tmp2_; alpm_db_t* _tmp3_; alpm_db_t* _tmp4_; alpm_list_t* _tmp5_; alpm_list_t* _tmp6_; _tmp2_ = self->priv->alpm_handle; _tmp3_ = alpm_get_localdb (_tmp2_); _tmp4_ = _tmp3_; _tmp5_ = alpm_db_get_pkgcache (_tmp4_); _tmp6_ = _tmp5_; pamac_database_initialise_pkgs (self, _tmp6_, &pkgs); } __finally0: { AlpmConfig* _tmp7_; _tmp7_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_ptr_array_unref0 (pkgs); 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; } } result = pkgs; return result; } static void pamac_database_get_installed_pkgs_async_data_free (gpointer _data) { PamacDatabaseGetInstalledPkgsAsyncData* _data_; _data_ = _data; _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetInstalledPkgsAsyncData, _data_); } void pamac_database_get_installed_pkgs_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetInstalledPkgsAsyncData* _data_; PamacDatabase* _tmp0_; g_return_if_fail (self != NULL); _data_ = g_slice_new0 (PamacDatabaseGetInstalledPkgsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_installed_pkgs_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; pamac_database_get_installed_pkgs_async_co (_data_); } GPtrArray* pamac_database_get_installed_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetInstalledPkgsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block31Data* block31_data_ref (Block31Data* _data31_) { g_atomic_int_inc (&_data31_->_ref_count_); return _data31_; } static void block31_data_unref (void * _userdata_) { Block31Data* _data31_; _data31_ = (Block31Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data31_->_ref_count_)) { PamacDatabase* self; self = _data31_->self; _g_ptr_array_unref0 (_data31_->pkgs); _g_object_unref0 (self); g_slice_free (Block31Data, _data31_); } } static gboolean _pamac_database_get_installed_pkgs_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_installed_pkgs_async_co (self); return result; } static gint ___lambda12_ (Block31Data* _data31_) { PamacDatabase* self; GMainContext* _tmp8_; GError* _inner_error0_ = NULL; gint result; self = _data31_->self; { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_handle_t* _tmp1_; alpm_db_t* _tmp2_; alpm_db_t* _tmp3_; alpm_list_t* _tmp4_; alpm_list_t* _tmp5_; _tmp1_ = self->priv->alpm_handle; _tmp2_ = alpm_get_localdb (_tmp1_); _tmp3_ = _tmp2_; _tmp4_ = alpm_db_get_pkgcache (_tmp3_); _tmp5_ = _tmp4_; pamac_database_initialise_pkgs (self, _tmp5_, &_data31_->pkgs); } __finally0: { AlpmConfig* _tmp6_; _tmp6_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { gint _tmp7_ = -1; 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 _tmp7_; } } _tmp8_ = self->priv->_context; g_main_context_invoke_full (_tmp8_, G_PRIORITY_DEFAULT, _pamac_database_get_installed_pkgs_async_co_gsource_func, _data31_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda12__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda12_ (self)); block31_data_unref (self); return result; } static gboolean pamac_database_get_installed_pkgs_async_co (PamacDatabaseGetInstalledPkgsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data31_ = g_slice_new0 (Block31Data); _data_->_data31_->_ref_count_ = 1; _data_->_data31_->self = g_object_ref (_data_->self); _data_->_data31_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data31_->pkgs = _data_->_tmp0_; { _data_->_tmp1_ = g_thread_try_new ("get_installed_pkgs", ____lambda12__gthread_func, block31_data_ref (_data_->_data31_), &_data_->_inner_error0_); _data_->_tmp2_ = _data_->_tmp1_; _g_thread_unref0 (_data_->_tmp2_); 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_->_tmp3_ = _data_->e; _data_->_tmp4_ = _data_->_tmp3_->message; g_warning ("database.vala:632: %s", _data_->_tmp4_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block31_data_unref (_data_->_data31_); _data_->_data31_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp5_ = _g_ptr_array_ref0 (_data_->_data31_->pkgs); _data_->result = _data_->_tmp5_; block31_data_unref (_data_->_data31_); _data_->_data31_ = NULL; 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_database_get_installed_apps_async_data_free (gpointer _data) { PamacDatabaseGetInstalledAppsAsyncData* _data_; _data_ = _data; _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetInstalledAppsAsyncData, _data_); } void pamac_database_get_installed_apps_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetInstalledAppsAsyncData* _data_; PamacDatabase* _tmp0_; g_return_if_fail (self != NULL); _data_ = g_slice_new0 (PamacDatabaseGetInstalledAppsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_installed_apps_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; pamac_database_get_installed_apps_async_co (_data_); } GPtrArray* pamac_database_get_installed_apps_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetInstalledAppsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block32Data* block32_data_ref (Block32Data* _data32_) { g_atomic_int_inc (&_data32_->_ref_count_); return _data32_; } static void block32_data_unref (void * _userdata_) { Block32Data* _data32_; _data32_ = (Block32Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data32_->_ref_count_)) { PamacDatabase* self; self = _data32_->self; _g_ptr_array_unref0 (_data32_->pkgs); _g_object_unref0 (self); g_slice_free (Block32Data, _data32_); } } static gboolean _pamac_database_get_installed_apps_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_installed_apps_async_co (self); return result; } static gint ____lambda13_ (Block32Data* _data32_) { PamacDatabase* self; GMainContext* _tmp48_; GError* _inner_error0_ = NULL; gint result; self = _data32_->self; { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { PamacAppstreamPlugin* _tmp1_; GPtrArray* _tmp2_; _tmp1_ = self->priv->appstream_plugin; _tmp2_ = pamac_appstream_plugin_get_apps (_tmp1_); { GPtrArray* apps_collection = NULL; guint apps_index = 0U; apps_collection = _tmp2_; for (apps_index = 0; apps_index < apps_collection->len; apps_index = apps_index + 1) { GHashTable* apps = NULL; apps = (GHashTable*) g_ptr_array_index (apps_collection, apps_index); { GHashTableIter iter = {0}; GHashTable* _tmp3_; PamacApp* app = NULL; _tmp3_ = apps; g_hash_table_iter_init (&iter, _tmp3_); while (TRUE) { gconstpointer _tmp4_ = NULL; gboolean _tmp5_; const gchar* pkgname = NULL; PamacApp* _tmp6_; const gchar* _tmp7_; const gchar* _tmp8_; alpm_pkg_t* local_pkg = NULL; alpm_handle_t* _tmp9_; alpm_db_t* _tmp10_; alpm_db_t* _tmp11_; const gchar* _tmp12_; alpm_pkg_t* _tmp13_; alpm_pkg_t* _tmp14_; _tmp5_ = g_hash_table_iter_next (&iter, (gpointer*) NULL, (gpointer*) (&_tmp4_)); app = (PamacApp*) _tmp4_; if (!_tmp5_) { break; } _tmp6_ = app; _tmp7_ = pamac_app_get_pkgname (_tmp6_); _tmp8_ = _tmp7_; pkgname = _tmp8_; _tmp9_ = self->priv->alpm_handle; _tmp10_ = alpm_get_localdb (_tmp9_); _tmp11_ = _tmp10_; _tmp12_ = pkgname; _tmp13_ = alpm_db_get_pkg (_tmp11_, _tmp12_); local_pkg = _tmp13_; _tmp14_ = local_pkg; if (_tmp14_ != NULL) { const gchar* app_name = NULL; PamacApp* _tmp15_; const gchar* _tmp16_; const gchar* _tmp17_; const gchar* _tmp18_; PamacAlpmPackageLinked* pkg = NULL; alpm_pkg_t* _tmp32_; PamacAlpmPackageLinked* _tmp33_; PamacAlpmPackageLinked* _tmp34_; alpm_pkg_t* _tmp35_; PamacAlpmPackageLinked* _tmp36_; PamacApp* _tmp37_; GPtrArray* _tmp38_; PamacAlpmPackageLinked* _tmp39_; GHashTable* _tmp40_; PamacAlpmPackageLinked* _tmp41_; const gchar* _tmp42_; const gchar* _tmp43_; PamacAlpmPackageLinked* _tmp44_; PamacAlpmPackageLinked* _tmp45_; _tmp15_ = app; _tmp16_ = pamac_app_get_name (_tmp15_); _tmp17_ = _tmp16_; app_name = _tmp17_; _tmp18_ = app_name; if (_tmp18_ != NULL) { PamacAlpmPackageLinked* pkg = NULL; GHashTable* _tmp19_; alpm_pkg_t* _tmp20_; const gchar* _tmp21_; const gchar* _tmp22_; const gchar* _tmp23_; gchar* _tmp24_; gchar* _tmp25_; gconstpointer _tmp26_; PamacAlpmPackageLinked* _tmp27_; PamacAlpmPackageLinked* _tmp28_; PamacAlpmPackageLinked* _tmp29_; _tmp19_ = self->priv->pkgs_cache; _tmp20_ = local_pkg; _tmp21_ = alpm_pkg_get_name (_tmp20_); _tmp22_ = _tmp21_; _tmp23_ = app_name; _tmp24_ = g_strdup_printf ("%s/%s", _tmp22_, _tmp23_); _tmp25_ = _tmp24_; _tmp26_ = g_hash_table_lookup (_tmp19_, _tmp25_); _tmp27_ = _g_object_ref0 ((PamacAlpmPackageLinked*) _tmp26_); _tmp28_ = _tmp27_; _g_free0 (_tmp25_); pkg = _tmp28_; _tmp29_ = pkg; if (_tmp29_ != NULL) { GPtrArray* _tmp30_; PamacAlpmPackageLinked* _tmp31_; _tmp30_ = _data32_->pkgs; _tmp31_ = pkg; g_ptr_array_add (_tmp30_, (PamacAlpmPackage*) _tmp31_); _g_object_unref0 (pkg); continue; } _g_object_unref0 (pkg); } _tmp32_ = local_pkg; _tmp33_ = pamac_alpm_package_linked_new_from_alpm (_tmp32_, self); pkg = _tmp33_; _tmp34_ = pkg; _tmp35_ = local_pkg; pamac_alpm_package_linked_set_local_pkg (_tmp34_, _tmp35_); _tmp36_ = pkg; _tmp37_ = app; pamac_alpm_package_linked_set_app (_tmp36_, _tmp37_); _tmp38_ = _data32_->pkgs; _tmp39_ = pkg; g_ptr_array_add (_tmp38_, (PamacAlpmPackage*) _tmp39_); _tmp40_ = self->priv->pkgs_cache; _tmp41_ = pkg; _tmp42_ = pamac_package_get_id ((PamacPackage*) _tmp41_); _tmp43_ = _tmp42_; _tmp44_ = pkg; _tmp45_ = _g_object_ref0 (_tmp44_); g_hash_table_replace (_tmp40_, _tmp43_, _tmp45_); _g_object_unref0 (pkg); } } } } } } __finally0: { AlpmConfig* _tmp46_; _tmp46_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { gint _tmp47_ = -1; 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 _tmp47_; } } _tmp48_ = self->priv->_context; g_main_context_invoke_full (_tmp48_, G_PRIORITY_DEFAULT, _pamac_database_get_installed_apps_async_co_gsource_func, _data32_->_async_data_, NULL); result = 0; return result; } static gpointer _____lambda13__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ____lambda13_ (self)); block32_data_unref (self); return result; } static gboolean pamac_database_get_installed_apps_async_co (PamacDatabaseGetInstalledAppsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data32_ = g_slice_new0 (Block32Data); _data_->_data32_->_ref_count_ = 1; _data_->_data32_->self = g_object_ref (_data_->self); _data_->_data32_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data32_->pkgs = _data_->_tmp0_; _data_->_tmp1_ = _data_->self->priv->_config; _data_->_tmp2_ = pamac_config_get_enable_appstream (_data_->_tmp1_); _data_->_tmp3_ = _data_->_tmp2_; if (_data_->_tmp3_) { { _data_->_tmp4_ = g_thread_try_new ("get_installed_apps", _____lambda13__gthread_func, block32_data_ref (_data_->_data32_), &_data_->_inner_error0_); _data_->_tmp5_ = _data_->_tmp4_; _g_thread_unref0 (_data_->_tmp5_); 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_->_tmp6_ = _data_->e; _data_->_tmp7_ = _data_->_tmp6_->message; g_warning ("database.vala:672: %s", _data_->_tmp7_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block32_data_unref (_data_->_data32_); _data_->_data32_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } } _data_->_tmp8_ = _data_->_data32_->pkgs; _data_->_tmp9_ = _g_ptr_array_ref0 (_data_->_tmp8_); _data_->result = _data_->_tmp9_; block32_data_unref (_data_->_data32_); _data_->_data32_ = NULL; 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_database_get_explicitly_installed_pkgs_real (PamacDatabase* self, GPtrArray** pkgs) { GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (*pkgs != NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_list_t* alpm_pkgs = NULL; alpm_list_t* pkgcache = NULL; alpm_handle_t* _tmp1_; alpm_db_t* _tmp2_; alpm_db_t* _tmp3_; alpm_list_t* _tmp4_; alpm_list_t* _tmp5_; alpm_list_t* _tmp13_; alpm_pkgs = NULL; _tmp1_ = self->priv->alpm_handle; _tmp2_ = alpm_get_localdb (_tmp1_); _tmp3_ = _tmp2_; _tmp4_ = alpm_db_get_pkgcache (_tmp3_); _tmp5_ = _tmp4_; pkgcache = _tmp5_; while (TRUE) { alpm_list_t* _tmp6_; alpm_pkg_t* alpm_pkg = NULL; alpm_list_t* _tmp7_; gconstpointer _tmp8_; alpm_pkg_t* _tmp9_; alpm_pkgreason_t _tmp10_; alpm_pkgreason_t _tmp11_; _tmp6_ = pkgcache; if (!(_tmp6_ != NULL)) { break; } _tmp7_ = pkgcache; _tmp8_ = _tmp7_->data; alpm_pkg = (alpm_pkg_t*) _tmp8_; _tmp9_ = alpm_pkg; _tmp10_ = alpm_pkg_get_reason (_tmp9_); _tmp11_ = _tmp10_; if (_tmp11_ == ALPM_PKG_REASON_EXPLICIT) { alpm_pkg_t* _tmp12_; _tmp12_ = alpm_pkg; alpm_pkgs = alpm_list_add (alpm_pkgs, _tmp12_); } pkgcache = alpm_list_next (pkgcache); } _tmp13_ = alpm_pkgs; pamac_database_initialise_pkgs (self, _tmp13_, pkgs); _alpm_list_free0 (alpm_pkgs); } __finally0: { AlpmConfig* _tmp14_; _tmp14_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } } GPtrArray* pamac_database_get_explicitly_installed_pkgs (PamacDatabase* self) { GPtrArray* pkgs = NULL; GPtrArray* _tmp0_; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); pkgs = _tmp0_; pamac_database_get_explicitly_installed_pkgs_real (self, &pkgs); result = pkgs; return result; } static void pamac_database_get_explicitly_installed_pkgs_async_data_free (gpointer _data) { PamacDatabaseGetExplicitlyInstalledPkgsAsyncData* _data_; _data_ = _data; _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetExplicitlyInstalledPkgsAsyncData, _data_); } void pamac_database_get_explicitly_installed_pkgs_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetExplicitlyInstalledPkgsAsyncData* _data_; PamacDatabase* _tmp0_; g_return_if_fail (self != NULL); _data_ = g_slice_new0 (PamacDatabaseGetExplicitlyInstalledPkgsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_explicitly_installed_pkgs_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; pamac_database_get_explicitly_installed_pkgs_async_co (_data_); } GPtrArray* pamac_database_get_explicitly_installed_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetExplicitlyInstalledPkgsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block33Data* block33_data_ref (Block33Data* _data33_) { g_atomic_int_inc (&_data33_->_ref_count_); return _data33_; } static void block33_data_unref (void * _userdata_) { Block33Data* _data33_; _data33_ = (Block33Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data33_->_ref_count_)) { PamacDatabase* self; self = _data33_->self; _g_ptr_array_unref0 (_data33_->pkgs); _g_object_unref0 (self); g_slice_free (Block33Data, _data33_); } } static gboolean _pamac_database_get_explicitly_installed_pkgs_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_explicitly_installed_pkgs_async_co (self); return result; } static gint ___lambda14_ (Block33Data* _data33_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data33_->self; pamac_database_get_explicitly_installed_pkgs_real (self, &_data33_->pkgs); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_get_explicitly_installed_pkgs_async_co_gsource_func, _data33_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda14__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda14_ (self)); block33_data_unref (self); return result; } static gboolean pamac_database_get_explicitly_installed_pkgs_async_co (PamacDatabaseGetExplicitlyInstalledPkgsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data33_ = g_slice_new0 (Block33Data); _data_->_data33_->_ref_count_ = 1; _data_->_data33_->self = g_object_ref (_data_->self); _data_->_data33_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data33_->pkgs = _data_->_tmp0_; { _data_->_tmp1_ = g_thread_try_new ("get_explicitly_installed_pkgs", ____lambda14__gthread_func, block33_data_ref (_data_->_data33_), &_data_->_inner_error0_); _data_->_tmp2_ = _data_->_tmp1_; _g_thread_unref0 (_data_->_tmp2_); 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_->_tmp3_ = _data_->e; _data_->_tmp4_ = _data_->_tmp3_->message; g_warning ("database.vala:709: %s", _data_->_tmp4_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block33_data_unref (_data_->_data33_); _data_->_data33_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp5_ = _g_ptr_array_ref0 (_data_->_data33_->pkgs); _data_->result = _data_->_tmp5_; block33_data_unref (_data_->_data33_); _data_->_data33_ = NULL; 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_database_get_foreign_pkgs_real (PamacDatabase* self, GPtrArray** pkgs) { GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (*pkgs != NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_list_t* alpm_pkgs = NULL; alpm_list_t* pkgcache = NULL; alpm_handle_t* _tmp1_; alpm_db_t* _tmp2_; alpm_db_t* _tmp3_; alpm_list_t* _tmp4_; alpm_list_t* _tmp5_; alpm_list_t* _tmp13_; alpm_pkgs = NULL; _tmp1_ = self->priv->alpm_handle; _tmp2_ = alpm_get_localdb (_tmp1_); _tmp3_ = _tmp2_; _tmp4_ = alpm_db_get_pkgcache (_tmp3_); _tmp5_ = _tmp4_; pkgcache = _tmp5_; while (TRUE) { alpm_list_t* _tmp6_; alpm_pkg_t* alpm_pkg = NULL; alpm_list_t* _tmp7_; gconstpointer _tmp8_; alpm_pkg_t* _tmp9_; const gchar* _tmp10_; const gchar* _tmp11_; _tmp6_ = pkgcache; if (!(_tmp6_ != NULL)) { break; } _tmp7_ = pkgcache; _tmp8_ = _tmp7_->data; alpm_pkg = (alpm_pkg_t*) _tmp8_; _tmp9_ = alpm_pkg; _tmp10_ = alpm_pkg_get_name (_tmp9_); _tmp11_ = _tmp10_; if (!pamac_database_is_syncpkg (self, _tmp11_)) { alpm_pkg_t* _tmp12_; _tmp12_ = alpm_pkg; alpm_pkgs = alpm_list_add (alpm_pkgs, _tmp12_); } pkgcache = alpm_list_next (pkgcache); } _tmp13_ = alpm_pkgs; pamac_database_initialise_pkgs (self, _tmp13_, pkgs); _alpm_list_free0 (alpm_pkgs); } __finally0: { AlpmConfig* _tmp14_; _tmp14_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } } GPtrArray* pamac_database_get_foreign_pkgs (PamacDatabase* self) { GPtrArray* pkgs = NULL; GPtrArray* _tmp0_; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); pkgs = _tmp0_; pamac_database_get_foreign_pkgs_real (self, &pkgs); result = pkgs; return result; } static void pamac_database_get_foreign_pkgs_async_data_free (gpointer _data) { PamacDatabaseGetForeignPkgsAsyncData* _data_; _data_ = _data; _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetForeignPkgsAsyncData, _data_); } void pamac_database_get_foreign_pkgs_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetForeignPkgsAsyncData* _data_; PamacDatabase* _tmp0_; g_return_if_fail (self != NULL); _data_ = g_slice_new0 (PamacDatabaseGetForeignPkgsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_foreign_pkgs_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; pamac_database_get_foreign_pkgs_async_co (_data_); } GPtrArray* pamac_database_get_foreign_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetForeignPkgsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block34Data* block34_data_ref (Block34Data* _data34_) { g_atomic_int_inc (&_data34_->_ref_count_); return _data34_; } static void block34_data_unref (void * _userdata_) { Block34Data* _data34_; _data34_ = (Block34Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data34_->_ref_count_)) { PamacDatabase* self; self = _data34_->self; _g_ptr_array_unref0 (_data34_->pkgs); _g_object_unref0 (self); g_slice_free (Block34Data, _data34_); } } static gboolean _pamac_database_get_foreign_pkgs_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_foreign_pkgs_async_co (self); return result; } static gint ___lambda15_ (Block34Data* _data34_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data34_->self; pamac_database_get_foreign_pkgs_real (self, &_data34_->pkgs); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_get_foreign_pkgs_async_co_gsource_func, _data34_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda15__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda15_ (self)); block34_data_unref (self); return result; } static gboolean pamac_database_get_foreign_pkgs_async_co (PamacDatabaseGetForeignPkgsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data34_ = g_slice_new0 (Block34Data); _data_->_data34_->_ref_count_ = 1; _data_->_data34_->self = g_object_ref (_data_->self); _data_->_data34_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data34_->pkgs = _data_->_tmp0_; { _data_->_tmp1_ = g_thread_try_new ("get_foreign_pkgs", ____lambda15__gthread_func, block34_data_ref (_data_->_data34_), &_data_->_inner_error0_); _data_->_tmp2_ = _data_->_tmp1_; _g_thread_unref0 (_data_->_tmp2_); 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_->_tmp3_ = _data_->e; _data_->_tmp4_ = _data_->_tmp3_->message; g_warning ("database.vala:745: %s", _data_->_tmp4_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block34_data_unref (_data_->_data34_); _data_->_data34_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp5_ = _g_ptr_array_ref0 (_data_->_data34_->pkgs); _data_->result = _data_->_tmp5_; block34_data_unref (_data_->_data34_); _data_->_data34_ = NULL; 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 _g_free_alpm_list_fn_free (gconstpointer a) { g_free (a); } static void pamac_database_get_orphans_real (PamacDatabase* self, GPtrArray** pkgs) { GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (*pkgs != NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_list_t* alpm_pkgs = NULL; alpm_list_t* pkgcache = NULL; alpm_handle_t* _tmp1_; alpm_db_t* _tmp2_; alpm_db_t* _tmp3_; alpm_list_t* _tmp4_; alpm_list_t* _tmp5_; alpm_list_t* _tmp21_; alpm_pkgs = NULL; _tmp1_ = self->priv->alpm_handle; _tmp2_ = alpm_get_localdb (_tmp1_); _tmp3_ = _tmp2_; _tmp4_ = alpm_db_get_pkgcache (_tmp3_); _tmp5_ = _tmp4_; pkgcache = _tmp5_; while (TRUE) { alpm_list_t* _tmp6_; alpm_pkg_t* alpm_pkg = NULL; alpm_list_t* _tmp7_; gconstpointer _tmp8_; alpm_pkg_t* _tmp9_; alpm_pkgreason_t _tmp10_; alpm_pkgreason_t _tmp11_; _tmp6_ = pkgcache; if (!(_tmp6_ != NULL)) { break; } _tmp7_ = pkgcache; _tmp8_ = _tmp7_->data; alpm_pkg = (alpm_pkg_t*) _tmp8_; _tmp9_ = alpm_pkg; _tmp10_ = alpm_pkg_get_reason (_tmp9_); _tmp11_ = _tmp10_; if (_tmp11_ == ALPM_PKG_REASON_DEPEND) { alpm_list_t* requiredby = NULL; alpm_pkg_t* _tmp12_; alpm_list_t* _tmp13_; alpm_list_t* _tmp14_; _tmp12_ = alpm_pkg; _tmp13_ = alpm_pkg_compute_requiredby (_tmp12_); requiredby = _tmp13_; _tmp14_ = requiredby; if (_tmp14_ == NULL) { alpm_list_t* optionalfor = NULL; alpm_pkg_t* _tmp15_; alpm_list_t* _tmp16_; alpm_list_t* _tmp17_; _tmp15_ = alpm_pkg; _tmp16_ = alpm_pkg_compute_optionalfor (_tmp15_); optionalfor = _tmp16_; _tmp17_ = optionalfor; if (_tmp17_ == NULL) { alpm_pkg_t* _tmp18_; _tmp18_ = alpm_pkg; alpm_pkgs = alpm_list_add (alpm_pkgs, _tmp18_); } else { alpm_list_t* _tmp19_; _tmp19_ = optionalfor; alpm_list_free_inner (_tmp19_, _g_free_alpm_list_fn_free); } _alpm_list_free0 (optionalfor); } else { alpm_list_t* _tmp20_; _tmp20_ = requiredby; alpm_list_free_inner (_tmp20_, _g_free_alpm_list_fn_free); } _alpm_list_free0 (requiredby); } pkgcache = alpm_list_next (pkgcache); } _tmp21_ = alpm_pkgs; pamac_database_initialise_pkgs (self, _tmp21_, pkgs); _alpm_list_free0 (alpm_pkgs); } __finally0: { AlpmConfig* _tmp22_; _tmp22_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } } GPtrArray* pamac_database_get_orphans (PamacDatabase* self) { GPtrArray* pkgs = NULL; GPtrArray* _tmp0_; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); pkgs = _tmp0_; pamac_database_get_orphans_real (self, &pkgs); result = pkgs; return result; } static void pamac_database_get_orphans_async_data_free (gpointer _data) { PamacDatabaseGetOrphansAsyncData* _data_; _data_ = _data; _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetOrphansAsyncData, _data_); } void pamac_database_get_orphans_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetOrphansAsyncData* _data_; PamacDatabase* _tmp0_; g_return_if_fail (self != NULL); _data_ = g_slice_new0 (PamacDatabaseGetOrphansAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_orphans_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; pamac_database_get_orphans_async_co (_data_); } GPtrArray* pamac_database_get_orphans_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetOrphansAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block35Data* block35_data_ref (Block35Data* _data35_) { g_atomic_int_inc (&_data35_->_ref_count_); return _data35_; } static void block35_data_unref (void * _userdata_) { Block35Data* _data35_; _data35_ = (Block35Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data35_->_ref_count_)) { PamacDatabase* self; self = _data35_->self; _g_ptr_array_unref0 (_data35_->pkgs); _g_object_unref0 (self); g_slice_free (Block35Data, _data35_); } } static gboolean _pamac_database_get_orphans_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_orphans_async_co (self); return result; } static gint ___lambda16_ (Block35Data* _data35_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data35_->self; pamac_database_get_orphans_real (self, &_data35_->pkgs); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_get_orphans_async_co_gsource_func, _data35_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda16__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda16_ (self)); block35_data_unref (self); return result; } static gboolean pamac_database_get_orphans_async_co (PamacDatabaseGetOrphansAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data35_ = g_slice_new0 (Block35Data); _data_->_data35_->_ref_count_ = 1; _data_->_data35_->self = g_object_ref (_data_->self); _data_->_data35_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data35_->pkgs = _data_->_tmp0_; { _data_->_tmp1_ = g_thread_try_new ("get_orphans", ____lambda16__gthread_func, block35_data_ref (_data_->_data35_), &_data_->_inner_error0_); _data_->_tmp2_ = _data_->_tmp1_; _g_thread_unref0 (_data_->_tmp2_); 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_->_tmp3_ = _data_->e; _data_->_tmp4_ = _data_->_tmp3_->message; g_warning ("database.vala:791: %s", _data_->_tmp4_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block35_data_unref (_data_->_data35_); _data_->_data35_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp5_ = _g_ptr_array_ref0 (_data_->_data35_->pkgs); _data_->result = _data_->_tmp5_; block35_data_unref (_data_->_data35_); _data_->_data35_ = NULL; 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; } alpm_pkg_t* pamac_database_intern_get_syncpkg (PamacDatabase* self, const gchar* pkgname) { GError* _inner_error0_ = NULL; alpm_pkg_t* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (pkgname != NULL, NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_handle_t* _tmp1_; alpm_pkg_t* _tmp2_; _tmp1_ = self->priv->alpm_handle; _tmp2_ = pamac_database_get_syncpkg (self, _tmp1_, pkgname); result = _tmp2_; { AlpmConfig* _tmp3_; _tmp3_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return result; } __finally0: { AlpmConfig* _tmp4_; _tmp4_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } static alpm_pkg_t* pamac_database_get_syncpkg (PamacDatabase* self, alpm_handle_t* handle, const gchar* pkgname) { alpm_pkg_t* pkg = NULL; alpm_list_t* syncdbs = NULL; alpm_list_t* _tmp0_; alpm_list_t* _tmp1_; alpm_pkg_t* _tmp8_; alpm_pkg_t* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (pkgname != NULL, NULL); pkg = NULL; _tmp0_ = alpm_get_syncdbs (handle); _tmp1_ = _tmp0_; syncdbs = _tmp1_; while (TRUE) { alpm_list_t* _tmp2_; alpm_db_t* db = NULL; alpm_list_t* _tmp3_; gconstpointer _tmp4_; alpm_db_t* _tmp5_; alpm_pkg_t* _tmp6_; alpm_pkg_t* _tmp7_; _tmp2_ = syncdbs; if (!(_tmp2_ != NULL)) { break; } _tmp3_ = syncdbs; _tmp4_ = _tmp3_->data; db = (alpm_db_t*) _tmp4_; _tmp5_ = db; _tmp6_ = alpm_db_get_pkg (_tmp5_, pkgname); pkg = _tmp6_; _tmp7_ = pkg; if (_tmp7_ != NULL) { break; } syncdbs = alpm_list_next (syncdbs); } _tmp8_ = pkg; result = _tmp8_; return result; } static gboolean pamac_database_is_syncpkg (PamacDatabase* self, const gchar* pkgname) { alpm_pkg_t* pkg = NULL; alpm_handle_t* _tmp0_; alpm_pkg_t* _tmp1_; alpm_pkg_t* _tmp2_; gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (pkgname != NULL, FALSE); _tmp0_ = self->priv->alpm_handle; _tmp1_ = pamac_database_get_syncpkg (self, _tmp0_, pkgname); pkg = _tmp1_; _tmp2_ = pkg; if (_tmp2_ != NULL) { result = TRUE; return result; } result = FALSE; return result; } gboolean pamac_database_is_sync_pkg (PamacDatabase* self, const gchar* pkgname) { GError* _inner_error0_ = NULL; gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (pkgname != NULL, FALSE); { AlpmConfig* _tmp0_; gboolean _tmp3_ = FALSE; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { result = pamac_database_is_syncpkg (self, pkgname); { AlpmConfig* _tmp1_; _tmp1_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return result; } __finally0: { AlpmConfig* _tmp2_; _tmp2_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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 _tmp3_; } } PamacAlpmPackage* pamac_database_get_sync_pkg (PamacDatabase* self, const gchar* pkgname) { GError* _inner_error0_ = NULL; PamacAlpmPackage* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (pkgname != NULL, NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_pkg_t* sync_pkg = NULL; alpm_handle_t* _tmp1_; alpm_pkg_t* _tmp2_; PamacAlpmPackage* _tmp3_; _tmp1_ = self->priv->alpm_handle; _tmp2_ = pamac_database_get_syncpkg (self, _tmp1_, pkgname); sync_pkg = _tmp2_; _tmp3_ = pamac_database_initialise_pkg (self, sync_pkg, sync_pkg); result = _tmp3_; { AlpmConfig* _tmp4_; _tmp4_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return result; } __finally0: { AlpmConfig* _tmp5_; _tmp5_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } static alpm_pkg_t* pamac_database_find_dbs_satisfier (PamacDatabase* self, const gchar* depstring) { alpm_pkg_t* pkg = NULL; alpm_list_t* syncdbs = NULL; alpm_handle_t* _tmp0_; alpm_list_t* _tmp1_; alpm_list_t* _tmp2_; alpm_pkg_t* _tmp11_; alpm_pkg_t* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (depstring != NULL, NULL); pkg = NULL; _tmp0_ = self->priv->alpm_handle; _tmp1_ = alpm_get_syncdbs (_tmp0_); _tmp2_ = _tmp1_; syncdbs = _tmp2_; while (TRUE) { alpm_list_t* _tmp3_; alpm_db_t* db = NULL; alpm_list_t* _tmp4_; gconstpointer _tmp5_; alpm_db_t* _tmp6_; alpm_list_t* _tmp7_; alpm_list_t* _tmp8_; alpm_pkg_t* _tmp9_; alpm_pkg_t* _tmp10_; _tmp3_ = syncdbs; if (!(_tmp3_ != NULL)) { break; } _tmp4_ = syncdbs; _tmp5_ = _tmp4_->data; db = (alpm_db_t*) _tmp5_; _tmp6_ = db; _tmp7_ = alpm_db_get_pkgcache (_tmp6_); _tmp8_ = _tmp7_; _tmp9_ = alpm_find_satisfier (_tmp8_, depstring); pkg = _tmp9_; _tmp10_ = pkg; if (_tmp10_ != NULL) { break; } syncdbs = alpm_list_next (syncdbs); } _tmp11_ = pkg; result = _tmp11_; return result; } gboolean pamac_database_has_sync_satisfier (PamacDatabase* self, const gchar* depstring) { GError* _inner_error0_ = NULL; gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (depstring != NULL, FALSE); { AlpmConfig* _tmp0_; gboolean _tmp4_ = FALSE; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_pkg_t* _tmp1_; _tmp1_ = pamac_database_find_dbs_satisfier (self, depstring); result = _tmp1_ != NULL; { AlpmConfig* _tmp2_; _tmp2_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return result; } __finally0: { AlpmConfig* _tmp3_; _tmp3_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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 _tmp4_; } } PamacAlpmPackage* pamac_database_get_sync_satisfier (PamacDatabase* self, const gchar* depstring) { GError* _inner_error0_ = NULL; PamacAlpmPackage* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (depstring != NULL, NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_pkg_t* sync_pkg = NULL; alpm_pkg_t* _tmp1_; PamacAlpmPackage* _tmp2_; _tmp1_ = pamac_database_find_dbs_satisfier (self, depstring); sync_pkg = _tmp1_; _tmp2_ = pamac_database_initialise_pkg (self, sync_pkg, sync_pkg); result = _tmp2_; { AlpmConfig* _tmp3_; _tmp3_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return result; } __finally0: { AlpmConfig* _tmp4_; _tmp4_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } GPtrArray* pamac_database_get_sync_pkgs_by_glob (PamacDatabase* self, const gchar* glob) { GPtrArray* pkgs = NULL; GPtrArray* _tmp0_; GError* _inner_error0_ = NULL; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (glob != NULL, NULL); _tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); pkgs = _tmp0_; { AlpmConfig* _tmp1_; _tmp1_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_list_t* syncdbs = NULL; alpm_handle_t* _tmp2_; alpm_list_t* _tmp3_; alpm_list_t* _tmp4_; _tmp2_ = self->priv->alpm_handle; _tmp3_ = alpm_get_syncdbs (_tmp2_); _tmp4_ = _tmp3_; syncdbs = _tmp4_; syncdbs = alpm_list_reverse (syncdbs); while (TRUE) { alpm_list_t* _tmp5_; alpm_db_t* db = NULL; alpm_list_t* _tmp6_; gconstpointer _tmp7_; alpm_list_t* pkgcache = NULL; alpm_db_t* _tmp8_; alpm_list_t* _tmp9_; alpm_list_t* _tmp10_; _tmp5_ = syncdbs; if (!(_tmp5_ != NULL)) { break; } _tmp6_ = syncdbs; _tmp7_ = _tmp6_->data; db = (alpm_db_t*) _tmp7_; _tmp8_ = db; _tmp9_ = alpm_db_get_pkgcache (_tmp8_); _tmp10_ = _tmp9_; pkgcache = _tmp10_; while (TRUE) { alpm_list_t* _tmp11_; alpm_pkg_t* sync_pkg = NULL; alpm_list_t* _tmp12_; gconstpointer _tmp13_; alpm_pkg_t* _tmp14_; const gchar* _tmp15_; const gchar* _tmp16_; _tmp11_ = pkgcache; if (!(_tmp11_ != NULL)) { break; } _tmp12_ = pkgcache; _tmp13_ = _tmp12_->data; sync_pkg = (alpm_pkg_t*) _tmp13_; _tmp14_ = sync_pkg; _tmp15_ = alpm_pkg_get_name (_tmp14_); _tmp16_ = _tmp15_; if (fnmatch (glob, _tmp16_, 0) == 0) { GPtrArray* _tmp17_; alpm_pkg_t* _tmp18_; alpm_pkg_t* _tmp19_; PamacAlpmPackage* _tmp20_; _tmp17_ = pkgs; _tmp18_ = sync_pkg; _tmp19_ = sync_pkg; _tmp20_ = pamac_database_initialise_pkg (self, _tmp18_, _tmp19_); g_ptr_array_add (_tmp17_, _tmp20_); } pkgcache = alpm_list_next (pkgcache); } syncdbs = alpm_list_next (syncdbs); } } __finally0: { AlpmConfig* _tmp21_; _tmp21_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_ptr_array_unref0 (pkgs); 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; } } result = pkgs; return result; } static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { gboolean _tmp0_ = FALSE; gboolean _tmp1_ = FALSE; GError* _inner_error0_ = NULL; gchar* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (old != NULL, NULL); g_return_val_if_fail (replacement != NULL, NULL); if ((*((gchar*) self)) == '\0') { _tmp1_ = TRUE; } else { _tmp1_ = (*((gchar*) old)) == '\0'; } if (_tmp1_) { _tmp0_ = TRUE; } else { _tmp0_ = g_strcmp0 (old, replacement) == 0; } if (_tmp0_) { gchar* _tmp2_; _tmp2_ = g_strdup (self); result = _tmp2_; return result; } { GRegex* regex = NULL; gchar* _tmp3_; gchar* _tmp4_; GRegex* _tmp5_; GRegex* _tmp6_; gchar* _tmp7_ = NULL; GRegex* _tmp8_; gchar* _tmp9_; gchar* _tmp10_; _tmp3_ = g_regex_escape_string (old, -1); _tmp4_ = _tmp3_; _tmp5_ = g_regex_new (_tmp4_, 0, 0, &_inner_error0_); _tmp6_ = _tmp5_; _g_free0 (_tmp4_); regex = _tmp6_; if (G_UNLIKELY (_inner_error0_ != NULL)) { if (_inner_error0_->domain == G_REGEX_ERROR) { goto __catch0_g_regex_error; } g_critical ("file %s: line %d: unexpected 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; } _tmp8_ = regex; _tmp9_ = g_regex_replace_literal (_tmp8_, self, (gssize) -1, 0, replacement, 0, &_inner_error0_); _tmp7_ = _tmp9_; if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_regex_unref0 (regex); if (_inner_error0_->domain == G_REGEX_ERROR) { goto __catch0_g_regex_error; } g_critical ("file %s: line %d: unexpected 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; } _tmp10_ = _tmp7_; _tmp7_ = NULL; result = _tmp10_; _g_free0 (_tmp7_); _g_regex_unref0 (regex); return result; } goto __finally0; __catch0_g_regex_error: { g_clear_error (&_inner_error0_); g_assert_not_reached (); } __finally0: 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; } PamacPackage* pamac_database_get_app_by_id (PamacDatabase* self, const gchar* app_id) { gchar* app_id_short = NULL; gchar* app_id_long = NULL; PamacPackage* pkg = NULL; gboolean _tmp108_ = FALSE; PamacPackage* _tmp109_; gboolean _tmp115_ = FALSE; PamacPackage* _tmp116_; PamacPackage* _tmp122_; GError* _inner_error0_ = NULL; PamacPackage* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (app_id != NULL, NULL); if (g_str_has_suffix (app_id, ".desktop")) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; _tmp0_ = g_utf8_strdown (app_id, (gssize) -1); _g_free0 (app_id_long); app_id_long = _tmp0_; _tmp1_ = string_replace (app_id, ".desktop", ""); _tmp2_ = _tmp1_; _tmp3_ = g_utf8_strdown (_tmp2_, (gssize) -1); _g_free0 (app_id_short); app_id_short = _tmp3_; _g_free0 (_tmp2_); } else { gchar* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; gchar* _tmp7_; _tmp4_ = g_utf8_strdown (app_id, (gssize) -1); _g_free0 (app_id_short); app_id_short = _tmp4_; _tmp5_ = g_utf8_strdown (".desktop", (gssize) -1); _tmp6_ = _tmp5_; _tmp7_ = g_strconcat (app_id, _tmp6_, NULL); _g_free0 (app_id_long); app_id_long = _tmp7_; _g_free0 (_tmp6_); } pkg = NULL; { AlpmConfig* _tmp8_; _tmp8_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { PamacConfig* _tmp9_; gboolean _tmp10_; gboolean _tmp11_; PamacPackage* _tmp75_; _tmp9_ = self->priv->_config; _tmp10_ = pamac_config_get_enable_appstream (_tmp9_); _tmp11_ = _tmp10_; if (_tmp11_) { PamacAppstreamPlugin* _tmp12_; GPtrArray* _tmp13_; _tmp12_ = self->priv->appstream_plugin; _tmp13_ = pamac_appstream_plugin_get_apps (_tmp12_); { GPtrArray* apps_collection = NULL; guint apps_index = 0U; apps_collection = _tmp13_; for (apps_index = 0; apps_index < apps_collection->len; apps_index = apps_index + 1) { GHashTable* apps = NULL; apps = (GHashTable*) g_ptr_array_index (apps_collection, apps_index); { GHashTableIter iter = {0}; GHashTable* _tmp14_; PamacApp* app = NULL; _tmp14_ = apps; g_hash_table_iter_init (&iter, _tmp14_); while (TRUE) { gconstpointer _tmp15_ = NULL; gboolean _tmp16_; const gchar* current_app_id = NULL; PamacApp* _tmp17_; const gchar* _tmp18_; const gchar* _tmp19_; gboolean _tmp20_ = FALSE; const gchar* _tmp21_; const gchar* _tmp22_; _tmp16_ = g_hash_table_iter_next (&iter, (gpointer*) NULL, (gpointer*) (&_tmp15_)); app = (PamacApp*) _tmp15_; if (!_tmp16_) { break; } _tmp17_ = app; _tmp18_ = pamac_app_get_id (_tmp17_); _tmp19_ = _tmp18_; current_app_id = _tmp19_; _tmp21_ = current_app_id; _tmp22_ = app_id_short; if (g_strcmp0 (_tmp21_, _tmp22_) == 0) { _tmp20_ = TRUE; } else { const gchar* _tmp23_; const gchar* _tmp24_; _tmp23_ = current_app_id; _tmp24_ = app_id_long; _tmp20_ = g_strcmp0 (_tmp23_, _tmp24_) == 0; } if (_tmp20_) { const gchar* pkgname = NULL; PamacApp* _tmp25_; const gchar* _tmp26_; const gchar* _tmp27_; gchar* id = NULL; const gchar* _tmp28_; PamacApp* _tmp29_; const gchar* _tmp30_; const gchar* _tmp31_; gchar* _tmp32_; GHashTable* _tmp33_; const gchar* _tmp34_; gconstpointer _tmp35_; PamacPackage* _tmp36_; _tmp25_ = app; _tmp26_ = pamac_app_get_pkgname (_tmp25_); _tmp27_ = _tmp26_; pkgname = _tmp27_; _tmp28_ = pkgname; _tmp29_ = app; _tmp30_ = pamac_app_get_name (_tmp29_); _tmp31_ = _tmp30_; _tmp32_ = g_strdup_printf ("%s/%s", _tmp28_, _tmp31_); id = _tmp32_; _tmp33_ = self->priv->pkgs_cache; _tmp34_ = id; _tmp35_ = g_hash_table_lookup (_tmp33_, _tmp34_); pkg = (PamacPackage*) ((PamacAlpmPackageLinked*) _tmp35_); _tmp36_ = pkg; if (_tmp36_ == NULL) { alpm_pkg_t* local_pkg = NULL; alpm_handle_t* _tmp37_; alpm_db_t* _tmp38_; alpm_db_t* _tmp39_; const gchar* _tmp40_; alpm_pkg_t* _tmp41_; alpm_pkg_t* _tmp42_; _tmp37_ = self->priv->alpm_handle; _tmp38_ = alpm_get_localdb (_tmp37_); _tmp39_ = _tmp38_; _tmp40_ = pkgname; _tmp41_ = alpm_db_get_pkg (_tmp39_, _tmp40_); local_pkg = _tmp41_; _tmp42_ = local_pkg; if (_tmp42_ != NULL) { PamacAlpmPackageLinked* new_pkg = NULL; alpm_pkg_t* _tmp43_; PamacAlpmPackageLinked* _tmp44_; PamacAlpmPackageLinked* _tmp45_; alpm_pkg_t* _tmp46_; PamacAlpmPackageLinked* _tmp47_; PamacApp* _tmp48_; GHashTable* _tmp49_; PamacAlpmPackageLinked* _tmp50_; const gchar* _tmp51_; const gchar* _tmp52_; PamacAlpmPackageLinked* _tmp53_; PamacAlpmPackageLinked* _tmp54_; PamacAlpmPackageLinked* _tmp55_; _tmp43_ = local_pkg; _tmp44_ = pamac_alpm_package_linked_new_from_alpm (_tmp43_, self); new_pkg = _tmp44_; _tmp45_ = new_pkg; _tmp46_ = local_pkg; pamac_alpm_package_linked_set_local_pkg (_tmp45_, _tmp46_); _tmp47_ = new_pkg; _tmp48_ = app; pamac_alpm_package_linked_set_app (_tmp47_, _tmp48_); _tmp49_ = self->priv->pkgs_cache; _tmp50_ = new_pkg; _tmp51_ = pamac_package_get_id ((PamacPackage*) _tmp50_); _tmp52_ = _tmp51_; _tmp53_ = new_pkg; _tmp54_ = _g_object_ref0 (_tmp53_); g_hash_table_replace (_tmp49_, _tmp52_, _tmp54_); _tmp55_ = new_pkg; pkg = (PamacPackage*) _tmp55_; _g_object_unref0 (new_pkg); } else { alpm_pkg_t* sync_pkg = NULL; alpm_handle_t* _tmp56_; const gchar* _tmp57_; alpm_pkg_t* _tmp58_; alpm_pkg_t* _tmp59_; _tmp56_ = self->priv->alpm_handle; _tmp57_ = pkgname; _tmp58_ = pamac_database_get_syncpkg (self, _tmp56_, _tmp57_); sync_pkg = _tmp58_; _tmp59_ = sync_pkg; if (_tmp59_ != NULL) { PamacAlpmPackageLinked* new_pkg = NULL; alpm_pkg_t* _tmp60_; PamacAlpmPackageLinked* _tmp61_; PamacAlpmPackageLinked* _tmp62_; alpm_pkg_t* _tmp63_; PamacAlpmPackageLinked* _tmp64_; alpm_pkg_t* _tmp65_; PamacAlpmPackageLinked* _tmp66_; PamacApp* _tmp67_; GHashTable* _tmp68_; PamacAlpmPackageLinked* _tmp69_; const gchar* _tmp70_; const gchar* _tmp71_; PamacAlpmPackageLinked* _tmp72_; PamacAlpmPackageLinked* _tmp73_; PamacAlpmPackageLinked* _tmp74_; _tmp60_ = sync_pkg; _tmp61_ = pamac_alpm_package_linked_new_from_alpm (_tmp60_, self); new_pkg = _tmp61_; _tmp62_ = new_pkg; _tmp63_ = local_pkg; pamac_alpm_package_linked_set_local_pkg (_tmp62_, _tmp63_); _tmp64_ = new_pkg; _tmp65_ = sync_pkg; pamac_alpm_package_linked_set_sync_pkg (_tmp64_, _tmp65_); _tmp66_ = new_pkg; _tmp67_ = app; pamac_alpm_package_linked_set_app (_tmp66_, _tmp67_); _tmp68_ = self->priv->pkgs_cache; _tmp69_ = new_pkg; _tmp70_ = pamac_package_get_id ((PamacPackage*) _tmp69_); _tmp71_ = _tmp70_; _tmp72_ = new_pkg; _tmp73_ = _g_object_ref0 (_tmp72_); g_hash_table_replace (_tmp68_, _tmp71_, _tmp73_); _tmp74_ = new_pkg; pkg = (PamacPackage*) _tmp74_; _g_object_unref0 (new_pkg); } } } _g_free0 (id); } } } } } } _tmp75_ = pkg; if (_tmp75_ == NULL) { gboolean found = FALSE; alpm_list_t* pkgcache = NULL; alpm_handle_t* _tmp76_; alpm_db_t* _tmp77_; alpm_db_t* _tmp78_; alpm_list_t* _tmp79_; alpm_list_t* _tmp80_; found = FALSE; _tmp76_ = self->priv->alpm_handle; _tmp77_ = alpm_get_localdb (_tmp76_); _tmp78_ = _tmp77_; _tmp79_ = alpm_db_get_pkgcache (_tmp78_); _tmp80_ = _tmp79_; pkgcache = _tmp80_; while (TRUE) { alpm_list_t* _tmp81_; alpm_pkg_t* local_pkg = NULL; alpm_list_t* _tmp82_; gconstpointer _tmp83_; alpm_filelist_t* filelist = NULL; alpm_pkg_t* _tmp84_; alpm_filelist_t* _tmp85_; alpm_filelist_t* _tmp86_; alpm_file_t* file_ptr = NULL; alpm_filelist_t* _tmp87_; alpm_file_t* _tmp88_; _tmp81_ = pkgcache; if (!(_tmp81_ != NULL)) { break; } _tmp82_ = pkgcache; _tmp83_ = _tmp82_->data; local_pkg = (alpm_pkg_t*) _tmp83_; _tmp84_ = local_pkg; _tmp85_ = alpm_pkg_get_files (_tmp84_); _tmp86_ = _tmp85_; filelist = _tmp86_; _tmp87_ = filelist; _tmp88_ = _tmp87_->files; file_ptr = _tmp88_; { gsize i = 0UL; i = (gsize) 0; { gboolean _tmp89_ = FALSE; _tmp89_ = TRUE; while (TRUE) { alpm_filelist_t* _tmp92_; alpm_file_t* _tmp93_; const gchar* _tmp94_; const gchar* _tmp95_; if (!_tmp89_) { gsize _tmp90_; alpm_file_t* _tmp91_; _tmp90_ = i; i = _tmp90_ + 1; _tmp91_ = file_ptr; file_ptr = _tmp91_ + 1; } _tmp89_ = FALSE; _tmp92_ = filelist; if (!(i < _tmp92_->count)) { break; } _tmp93_ = file_ptr; _tmp94_ = _tmp93_->name; _tmp95_ = app_id_long; if (g_str_has_suffix (_tmp94_, _tmp95_)) { found = TRUE; break; } } } } if (found) { PamacAlpmPackageLinked* new_pkg = NULL; alpm_pkg_t* _tmp96_; PamacAlpmPackageLinked* _tmp97_; PamacAlpmPackageLinked* _tmp98_; alpm_pkg_t* _tmp99_; GHashTable* _tmp100_; PamacAlpmPackageLinked* _tmp101_; const gchar* _tmp102_; const gchar* _tmp103_; PamacAlpmPackageLinked* _tmp104_; PamacAlpmPackageLinked* _tmp105_; PamacAlpmPackageLinked* _tmp106_; _tmp96_ = local_pkg; _tmp97_ = pamac_alpm_package_linked_new_from_alpm (_tmp96_, self); new_pkg = _tmp97_; _tmp98_ = new_pkg; _tmp99_ = local_pkg; pamac_alpm_package_linked_set_local_pkg (_tmp98_, _tmp99_); _tmp100_ = self->priv->pkgs_cache; _tmp101_ = new_pkg; _tmp102_ = pamac_package_get_id ((PamacPackage*) _tmp101_); _tmp103_ = _tmp102_; _tmp104_ = new_pkg; _tmp105_ = _g_object_ref0 (_tmp104_); g_hash_table_replace (_tmp100_, _tmp103_, _tmp105_); _tmp106_ = new_pkg; pkg = (PamacPackage*) _tmp106_; _g_object_unref0 (new_pkg); break; } pkgcache = alpm_list_next (pkgcache); } } } __finally0: { AlpmConfig* _tmp107_; _tmp107_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_free0 (app_id_long); _g_free0 (app_id_short); 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; } } _tmp109_ = pkg; if (_tmp109_ == NULL) { PamacConfig* _tmp110_; gboolean _tmp111_; gboolean _tmp112_; _tmp110_ = self->priv->_config; _tmp111_ = pamac_config_get_enable_flatpak (_tmp110_); _tmp112_ = _tmp111_; _tmp108_ = _tmp112_; } else { _tmp108_ = FALSE; } if (_tmp108_) { PamacFlatpakPlugin* _tmp113_; PamacFlatpakPackage* _tmp114_; _tmp113_ = self->priv->flatpak_plugin; _tmp114_ = pamac_flatpak_plugin_get_flatpak_by_app_id (_tmp113_, app_id); pkg = (PamacPackage*) _tmp114_; } _tmp116_ = pkg; if (_tmp116_ == NULL) { PamacConfig* _tmp117_; gboolean _tmp118_; gboolean _tmp119_; _tmp117_ = self->priv->_config; _tmp118_ = pamac_config_get_enable_snap (_tmp117_); _tmp119_ = _tmp118_; _tmp115_ = _tmp119_; } else { _tmp115_ = FALSE; } if (_tmp115_) { PamacSnapPlugin* _tmp120_; PamacSnapPackage* _tmp121_; _tmp120_ = self->priv->snap_plugin; _tmp121_ = pamac_snap_plugin_get_snap_by_app_id (_tmp120_, app_id); pkg = (PamacPackage*) _tmp121_; } _tmp122_ = pkg; result = _tmp122_; _g_free0 (app_id_long); _g_free0 (app_id_short); return result; } static void pamac_database_get_url_stream_data_free (gpointer _data) { PamacDatabaseGetUrlStreamData* _data_; _data_ = _data; _g_free0 (_data_->url); _g_object_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetUrlStreamData, _data_); } void pamac_database_get_url_stream (PamacDatabase* self, const gchar* url, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetUrlStreamData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (url != NULL); _data_ = g_slice_new0 (PamacDatabaseGetUrlStreamData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_url_stream_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (url); _g_free0 (_data_->url); _data_->url = _tmp1_; pamac_database_get_url_stream_co (_data_); } GInputStream* pamac_database_get_url_stream_finish (PamacDatabase* self, GAsyncResult* _res_, GError** error) { GInputStream* result; PamacDatabaseGetUrlStreamData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), error); if (NULL == _data_) { return NULL; } result = _data_->result; _data_->result = NULL; return result; } static void pamac_database_get_url_stream_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { PamacDatabaseGetUrlStreamData* _data_; _data_ = _user_data_; _data_->_source_object_ = source_object; _data_->_res_ = _res_; pamac_database_get_url_stream_co (_data_); } static gpointer _g_error_copy0 (gpointer self) { return self ? g_error_copy (self) : NULL; } static gboolean pamac_database_get_url_stream_co (PamacDatabaseGetUrlStreamData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: { _data_->_tmp0_ = g_uri_parse (_data_->url, SOUP_HTTP_URI_FLAGS, &_data_->_inner_error0_); _data_->uri = _data_->_tmp0_; if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { goto __catch0_g_error; } _data_->_tmp1_ = _data_->uri; _data_->_tmp2_ = soup_message_new_from_uri ("GET", _data_->_tmp1_); _data_->message = _data_->_tmp2_; _data_->_tmp4_ = _data_->self->priv->_soup_session; _data_->_tmp5_ = _data_->message; _data_->_state_ = 1; soup_session_send_async (_data_->_tmp4_, _data_->_tmp5_, G_PRIORITY_DEFAULT, NULL, pamac_database_get_url_stream_ready, _data_); return FALSE; _state_1: _data_->_tmp6_ = soup_session_send_finish (_data_->_tmp4_, _data_->_res_, &_data_->_inner_error0_); _data_->_tmp3_ = _data_->_tmp6_; if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { _g_object_unref0 (_data_->message); _g_uri_unref0 (_data_->uri); goto __catch0_g_error; } _data_->_tmp7_ = _data_->_tmp3_; _data_->_tmp3_ = NULL; _data_->result = _data_->_tmp7_; _g_object_unref0 (_data_->_tmp3_); _g_object_unref0 (_data_->message); _g_uri_unref0 (_data_->uri); 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 gboolean string_contains (const gchar* self, const gchar* needle) { gchar* _tmp0_; gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (needle != NULL, FALSE); _tmp0_ = strstr ((gchar*) self, (gchar*) needle); result = _tmp0_ != NULL; return result; } static alpm_list_t* pamac_database_custom_db_search (PamacDatabase* self, alpm_db_t* db, alpm_list_t* needles) { alpm_list_t* needle_match = NULL; alpm_list_t* all_match = NULL; alpm_list_t* _tmp0_; alpm_list_t* _tmp1_; alpm_list_t* _tmp2_; alpm_list_t* i = NULL; GError* _inner_error0_ = NULL; alpm_list_t* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (db != NULL, NULL); g_return_val_if_fail (needles != NULL, NULL); needle_match = NULL; _tmp0_ = alpm_db_get_pkgcache (db); _tmp1_ = _tmp0_; _tmp2_ = alpm_list_copy (_tmp1_); all_match = _tmp2_; i = needles; while (TRUE) { alpm_list_t* _tmp3_; alpm_list_t* _tmp4_; gconstpointer _tmp5_; const gchar* targ = NULL; alpm_list_t* _tmp6_; gconstpointer _tmp7_; GRegex* regex = NULL; alpm_list_t* j = NULL; alpm_list_t* _tmp14_; alpm_list_t* _tmp71_; _tmp3_ = i; if (!(_tmp3_ != NULL)) { break; } _tmp4_ = i; _tmp5_ = _tmp4_->data; if (((const gchar*) _tmp5_) == NULL) { continue; } _alpm_list_free0 (needle_match); needle_match = NULL; _tmp6_ = i; _tmp7_ = _tmp6_->data; targ = (const gchar*) _tmp7_; regex = NULL; { GRegex* _tmp8_ = NULL; const gchar* _tmp9_; GRegex* _tmp10_; GRegex* _tmp11_; _tmp9_ = targ; _tmp10_ = g_regex_new (_tmp9_, 0, 0, &_inner_error0_); _tmp8_ = _tmp10_; if (G_UNLIKELY (_inner_error0_ != NULL)) { goto __catch0_g_error; } _tmp11_ = _tmp8_; _tmp8_ = NULL; _g_regex_unref0 (regex); regex = _tmp11_; _g_regex_unref0 (_tmp8_); } goto __finally0; __catch0_g_error: { GError* e = NULL; GError* _tmp12_; const gchar* _tmp13_; e = _inner_error0_; _inner_error0_ = NULL; _tmp12_ = e; _tmp13_ = _tmp12_->message; g_warning ("database.vala:996: %s", _tmp13_); _g_error_free0 (e); } __finally0: if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_regex_unref0 (regex); _alpm_list_free0 (all_match); _alpm_list_free0 (needle_match); 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; } _tmp14_ = all_match; j = _tmp14_; while (TRUE) { alpm_list_t* _tmp15_; alpm_pkg_t* pkg = NULL; alpm_list_t* _tmp16_; gconstpointer _tmp17_; gboolean matched = FALSE; const gchar* name = NULL; alpm_pkg_t* _tmp18_; const gchar* _tmp19_; const gchar* _tmp20_; const gchar* desc = NULL; alpm_pkg_t* _tmp21_; const gchar* _tmp22_; const gchar* _tmp23_; gboolean _tmp24_ = FALSE; const gchar* _tmp25_; _tmp15_ = j; if (!(_tmp15_ != NULL)) { break; } _tmp16_ = j; _tmp17_ = _tmp16_->data; pkg = (alpm_pkg_t*) _tmp17_; matched = FALSE; _tmp18_ = pkg; _tmp19_ = alpm_pkg_get_name (_tmp18_); _tmp20_ = _tmp19_; name = _tmp20_; _tmp21_ = pkg; _tmp22_ = alpm_pkg_get_desc (_tmp21_); _tmp23_ = _tmp22_; desc = _tmp23_; _tmp25_ = name; if (_tmp25_ != NULL) { gboolean _tmp26_ = FALSE; gboolean _tmp27_ = FALSE; const gchar* _tmp28_; const gchar* _tmp29_; _tmp28_ = targ; _tmp29_ = name; if (g_strcmp0 (_tmp28_, _tmp29_) == 0) { _tmp27_ = TRUE; } else { const gchar* _tmp30_; const gchar* _tmp31_; gchar* _tmp32_; gchar* _tmp33_; _tmp30_ = targ; _tmp31_ = name; _tmp32_ = g_utf8_strdown (_tmp31_, (gssize) -1); _tmp33_ = _tmp32_; _tmp27_ = g_strcmp0 (_tmp30_, _tmp33_) == 0; _g_free0 (_tmp33_); } if (_tmp27_) { _tmp26_ = TRUE; } else { gboolean _tmp34_ = FALSE; GRegex* _tmp35_; _tmp35_ = regex; if (_tmp35_ != NULL) { GRegex* _tmp36_; const gchar* _tmp37_; _tmp36_ = regex; _tmp37_ = name; _tmp34_ = g_regex_match (_tmp36_, _tmp37_, 0, NULL); } else { _tmp34_ = FALSE; } _tmp26_ = _tmp34_; } _tmp24_ = _tmp26_; } else { _tmp24_ = FALSE; } if (_tmp24_) { matched = TRUE; } else { gboolean _tmp38_ = FALSE; const gchar* _tmp39_; _tmp39_ = desc; if (_tmp39_ != NULL) { const gchar* _tmp40_; const gchar* _tmp41_; _tmp40_ = desc; _tmp41_ = targ; _tmp38_ = string_contains (_tmp40_, _tmp41_); } else { _tmp38_ = FALSE; } if (_tmp38_) { matched = TRUE; } } if (!matched) { alpm_list_t* provides = NULL; alpm_pkg_t* _tmp42_; alpm_list_t* _tmp43_; alpm_list_t* _tmp44_; _tmp42_ = pkg; _tmp43_ = alpm_pkg_get_provides (_tmp42_); _tmp44_ = _tmp43_; provides = _tmp44_; while (TRUE) { alpm_list_t* _tmp45_; alpm_depend_t* provide = NULL; alpm_list_t* _tmp46_; gconstpointer _tmp47_; gboolean _tmp48_ = FALSE; const gchar* _tmp49_; alpm_depend_t* _tmp50_; const gchar* _tmp51_; _tmp45_ = provides; if (!(_tmp45_ != NULL)) { break; } _tmp46_ = provides; _tmp47_ = _tmp46_->data; provide = (alpm_depend_t*) _tmp47_; _tmp49_ = targ; _tmp50_ = provide; _tmp51_ = _tmp50_->name; if (g_strcmp0 (_tmp49_, _tmp51_) == 0) { _tmp48_ = TRUE; } else { gboolean _tmp52_ = FALSE; GRegex* _tmp53_; _tmp53_ = regex; if (_tmp53_ != NULL) { GRegex* _tmp54_; alpm_depend_t* _tmp55_; const gchar* _tmp56_; _tmp54_ = regex; _tmp55_ = provide; _tmp56_ = _tmp55_->name; _tmp52_ = g_regex_match (_tmp54_, _tmp56_, 0, NULL); } else { _tmp52_ = FALSE; } _tmp48_ = _tmp52_; } if (_tmp48_) { matched = TRUE; break; } provides = alpm_list_next (provides); } } if (!matched) { alpm_list_t* groups = NULL; alpm_pkg_t* _tmp57_; alpm_list_t* _tmp58_; alpm_list_t* _tmp59_; _tmp57_ = pkg; _tmp58_ = alpm_pkg_get_groups (_tmp57_); _tmp59_ = _tmp58_; groups = _tmp59_; while (TRUE) { alpm_list_t* _tmp60_; const gchar* group = NULL; alpm_list_t* _tmp61_; gconstpointer _tmp62_; gboolean _tmp63_ = FALSE; const gchar* _tmp64_; const gchar* _tmp65_; _tmp60_ = groups; if (!(_tmp60_ != NULL)) { break; } _tmp61_ = groups; _tmp62_ = _tmp61_->data; group = (const gchar*) _tmp62_; _tmp64_ = targ; _tmp65_ = group; if (g_strcmp0 (_tmp64_, _tmp65_) == 0) { _tmp63_ = TRUE; } else { gboolean _tmp66_ = FALSE; GRegex* _tmp67_; _tmp67_ = regex; if (_tmp67_ != NULL) { GRegex* _tmp68_; const gchar* _tmp69_; _tmp68_ = regex; _tmp69_ = group; _tmp66_ = g_regex_match (_tmp68_, _tmp69_, 0, NULL); } else { _tmp66_ = FALSE; } _tmp63_ = _tmp66_; } if (_tmp63_) { matched = TRUE; break; } groups = alpm_list_next (groups); } } if (matched) { alpm_pkg_t* _tmp70_; _tmp70_ = pkg; needle_match = alpm_list_add (needle_match, _tmp70_); } j = alpm_list_next (j); } _tmp71_ = needle_match; needle_match = NULL; _alpm_list_free0 (all_match); all_match = _tmp71_; i = alpm_list_next (i); _g_regex_unref0 (regex); } result = all_match; _alpm_list_free0 (needle_match); return result; } static alpm_list_t* pamac_database_search_local_db (PamacDatabase* self, const gchar* search_string) { alpm_list_t* needles = NULL; gchar** splitted = NULL; gchar** _tmp0_; gchar** _tmp1_; gint splitted_length1; gint _splitted_size_; gchar** _tmp2_; gint _tmp2__length1; alpm_handle_t* _tmp4_; alpm_db_t* _tmp5_; alpm_db_t* _tmp6_; alpm_list_t* _tmp7_; alpm_list_t* _tmp8_; alpm_list_t* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (search_string != NULL, NULL); needles = NULL; _tmp1_ = _tmp0_ = g_strsplit (search_string, " ", 0); splitted = _tmp1_; splitted_length1 = _vala_array_length (_tmp0_); _splitted_size_ = splitted_length1; _tmp2_ = splitted; _tmp2__length1 = splitted_length1; { gchar** part_collection = NULL; gint part_collection_length1 = 0; gint _part_collection_size_ = 0; gint part_it = 0; part_collection = _tmp2_; part_collection_length1 = _tmp2__length1; for (part_it = 0; part_it < part_collection_length1; part_it = part_it + 1) { const gchar* part = NULL; part = part_collection[part_it]; { const gchar* _tmp3_; _tmp3_ = part; needles = alpm_list_add (needles, _tmp3_); } } } _tmp4_ = self->priv->alpm_handle; _tmp5_ = alpm_get_localdb (_tmp4_); _tmp6_ = _tmp5_; _tmp7_ = needles; _tmp8_ = pamac_database_custom_db_search (self, _tmp6_, _tmp7_); result = _tmp8_; splitted = (_vala_array_free (splitted, splitted_length1, (GDestroyNotify) g_free), NULL); _alpm_list_free0 (needles); return result; } static alpm_list_t* pamac_database_search_sync_dbs (PamacDatabase* self, const gchar* search_string) { alpm_list_t* needles = NULL; gchar** splitted = NULL; gchar** _tmp0_; gchar** _tmp1_; gint splitted_length1; gint _splitted_size_; gchar** _tmp2_; gint _tmp2__length1; alpm_list_t* _result_ = NULL; alpm_handle_t* _tmp4_; alpm_db_t* _tmp5_; alpm_db_t* _tmp6_; alpm_list_t* _tmp7_; alpm_list_t* _tmp8_; alpm_list_t* syncpkgs = NULL; alpm_list_t* syncdbs = NULL; alpm_handle_t* _tmp9_; alpm_list_t* _tmp10_; alpm_list_t* _tmp11_; alpm_list_t* foreigns = NULL; alpm_list_t* _tmp25_; alpm_list_t* _tmp26_; alpm_list_t* _tmp27_; alpm_list_t* _tmp28_; alpm_list_t* _tmp29_; alpm_list_t* _tmp30_; alpm_list_t* _tmp31_; alpm_list_t* _tmp32_; alpm_list_t* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (search_string != NULL, NULL); needles = NULL; _tmp1_ = _tmp0_ = g_strsplit (search_string, " ", 0); splitted = _tmp1_; splitted_length1 = _vala_array_length (_tmp0_); _splitted_size_ = splitted_length1; _tmp2_ = splitted; _tmp2__length1 = splitted_length1; { gchar** part_collection = NULL; gint part_collection_length1 = 0; gint _part_collection_size_ = 0; gint part_it = 0; part_collection = _tmp2_; part_collection_length1 = _tmp2__length1; for (part_it = 0; part_it < part_collection_length1; part_it = part_it + 1) { const gchar* part = NULL; part = part_collection[part_it]; { const gchar* _tmp3_; _tmp3_ = part; needles = alpm_list_add (needles, _tmp3_); } } } _tmp4_ = self->priv->alpm_handle; _tmp5_ = alpm_get_localdb (_tmp4_); _tmp6_ = _tmp5_; _tmp7_ = needles; _tmp8_ = pamac_database_custom_db_search (self, _tmp6_, _tmp7_); _result_ = _tmp8_; syncpkgs = NULL; _tmp9_ = self->priv->alpm_handle; _tmp10_ = alpm_get_syncdbs (_tmp9_); _tmp11_ = _tmp10_; syncdbs = _tmp11_; while (TRUE) { alpm_list_t* _tmp12_; alpm_db_t* db = NULL; alpm_list_t* _tmp13_; gconstpointer _tmp14_; alpm_list_t* _tmp15_; _tmp12_ = syncdbs; if (!(_tmp12_ != NULL)) { break; } _tmp13_ = syncdbs; _tmp14_ = _tmp13_->data; db = (alpm_db_t*) _tmp14_; _tmp15_ = syncpkgs; if (_tmp15_ == NULL) { alpm_db_t* _tmp16_; alpm_list_t* _tmp17_; alpm_list_t* _tmp18_; _tmp16_ = db; _tmp17_ = needles; _tmp18_ = pamac_database_custom_db_search (self, _tmp16_, _tmp17_); _alpm_list_free0 (syncpkgs); syncpkgs = _tmp18_; } else { alpm_db_t* _tmp19_; alpm_list_t* _tmp20_; alpm_list_t* _tmp21_; alpm_list_t* _tmp22_; alpm_list_t* _tmp23_; alpm_list_t* _tmp24_; _tmp19_ = db; _tmp20_ = needles; _tmp21_ = pamac_database_custom_db_search (self, _tmp19_, _tmp20_); _tmp22_ = _tmp21_; _tmp23_ = syncpkgs; _tmp24_ = alpm_list_diff (_tmp22_, _tmp23_, (alpm_list_fn_cmp) alpm_pkg_compare_name); syncpkgs = alpm_list_join (syncpkgs, _tmp24_); _alpm_list_free0 (_tmp22_); } syncdbs = alpm_list_next (syncdbs); } _tmp25_ = _result_; _tmp26_ = syncpkgs; _tmp27_ = alpm_list_diff (_tmp25_, _tmp26_, (alpm_list_fn_cmp) alpm_pkg_compare_name); foreigns = _tmp27_; _tmp28_ = _result_; _tmp29_ = alpm_list_diff (_tmp28_, foreigns, (alpm_list_fn_cmp) alpm_pkg_compare_name); _alpm_list_free0 (_result_); _result_ = _tmp29_; _tmp30_ = syncpkgs; _tmp31_ = _result_; _tmp32_ = alpm_list_diff (_tmp30_, _tmp31_, (alpm_list_fn_cmp) alpm_pkg_compare_name); _result_ = alpm_list_join (_result_, _tmp32_); result = _result_; _alpm_list_free0 (foreigns); _alpm_list_free0 (syncpkgs); splitted = (_vala_array_free (splitted, splitted_length1, (GDestroyNotify) g_free), NULL); _alpm_list_free0 (needles); return result; } static void pamac_database_search_installed_pkgs_real (PamacDatabase* self, const gchar* search_string, GPtrArray** pkgs) { GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (search_string != NULL); g_return_if_fail (*pkgs != NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_list_t* _result_ = NULL; alpm_list_t* _tmp1_; PamacConfig* _tmp2_; gboolean _tmp3_; gboolean _tmp4_; alpm_list_t* _tmp23_; _tmp1_ = pamac_database_search_local_db (self, search_string); _result_ = _tmp1_; _tmp2_ = self->priv->_config; _tmp3_ = pamac_config_get_enable_appstream (_tmp2_); _tmp4_ = _tmp3_; if (_tmp4_) { gchar** search_tokens = NULL; gchar** _tmp5_; gchar** _tmp6_; gint search_tokens_length1; gint _search_tokens_size_; PamacAppstreamPlugin* _tmp7_; gchar** _tmp8_; gint _tmp8__length1; GPtrArray* _tmp9_; _tmp6_ = _tmp5_ = g_strsplit (search_string, " ", 0); search_tokens = _tmp6_; search_tokens_length1 = _vala_array_length (_tmp5_); _search_tokens_size_ = search_tokens_length1; _tmp7_ = self->priv->appstream_plugin; _tmp8_ = search_tokens; _tmp8__length1 = search_tokens_length1; _tmp9_ = pamac_appstream_plugin_search (_tmp7_, _tmp8_, (gint) _tmp8__length1); { GPtrArray* app_collection = NULL; guint app_index = 0U; app_collection = _tmp9_; for (app_index = 0; app_index < app_collection->len; app_index = app_index + 1) { PamacApp* app = NULL; app = (PamacApp*) g_ptr_array_index (app_collection, app_index); { const gchar* pkgname = NULL; PamacApp* _tmp10_; const gchar* _tmp11_; const gchar* _tmp12_; alpm_pkg_t* alpm_pkg = NULL; alpm_handle_t* _tmp13_; alpm_db_t* _tmp14_; alpm_db_t* _tmp15_; const gchar* _tmp16_; alpm_pkg_t* _tmp17_; alpm_pkg_t* _tmp18_; _tmp10_ = app; _tmp11_ = pamac_app_get_pkgname (_tmp10_); _tmp12_ = _tmp11_; pkgname = _tmp12_; _tmp13_ = self->priv->alpm_handle; _tmp14_ = alpm_get_localdb (_tmp13_); _tmp15_ = _tmp14_; _tmp16_ = pkgname; _tmp17_ = alpm_db_get_pkg (_tmp15_, _tmp16_); alpm_pkg = _tmp17_; _tmp18_ = alpm_pkg; if (_tmp18_ != NULL) { alpm_list_t* _tmp19_; alpm_pkg_t* _tmp20_; gconstpointer _tmp21_; _tmp19_ = _result_; _tmp20_ = alpm_pkg; _tmp21_ = alpm_list_find (_tmp19_, _tmp20_, (alpm_list_fn_cmp) alpm_pkg_compare_name); if (((alpm_pkg_t*) _tmp21_) == NULL) { alpm_pkg_t* _tmp22_; _tmp22_ = alpm_pkg; _result_ = alpm_list_add (_result_, _tmp22_); } } } } _g_ptr_array_unref0 (app_collection); } search_tokens = (_vala_array_free (search_tokens, search_tokens_length1, (GDestroyNotify) g_free), NULL); } _tmp23_ = _result_; pamac_database_initialise_pkgs (self, _tmp23_, pkgs); _alpm_list_free0 (_result_); } __finally0: { AlpmConfig* _tmp24_; _tmp24_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } } GPtrArray* pamac_database_search_installed_pkgs (PamacDatabase* self, const gchar* search_string) { gchar* search_string_down = NULL; gchar* _tmp0_; GPtrArray* pkgs = NULL; GPtrArray* _tmp1_; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (search_string != NULL, NULL); _tmp0_ = g_utf8_strdown (search_string, (gssize) -1); search_string_down = _tmp0_; _tmp1_ = g_ptr_array_new_full ((guint) 0, NULL); pkgs = _tmp1_; pamac_database_search_installed_pkgs_real (self, search_string_down, &pkgs); result = pkgs; _g_free0 (search_string_down); return result; } static void pamac_database_search_installed_pkgs_async_data_free (gpointer _data) { PamacDatabaseSearchInstalledPkgsAsyncData* _data_; _data_ = _data; _g_free0 (_data_->search_string); _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseSearchInstalledPkgsAsyncData, _data_); } void pamac_database_search_installed_pkgs_async (PamacDatabase* self, const gchar* search_string, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseSearchInstalledPkgsAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (search_string != NULL); _data_ = g_slice_new0 (PamacDatabaseSearchInstalledPkgsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_search_installed_pkgs_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (search_string); _g_free0 (_data_->search_string); _data_->search_string = _tmp1_; pamac_database_search_installed_pkgs_async_co (_data_); } GPtrArray* pamac_database_search_installed_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseSearchInstalledPkgsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block36Data* block36_data_ref (Block36Data* _data36_) { g_atomic_int_inc (&_data36_->_ref_count_); return _data36_; } static void block36_data_unref (void * _userdata_) { Block36Data* _data36_; _data36_ = (Block36Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data36_->_ref_count_)) { PamacDatabase* self; self = _data36_->self; _g_ptr_array_unref0 (_data36_->pkgs); _g_free0 (_data36_->search_string_down); _g_object_unref0 (self); g_slice_free (Block36Data, _data36_); } } static gboolean _pamac_database_search_installed_pkgs_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_search_installed_pkgs_async_co (self); return result; } static gint ___lambda17_ (Block36Data* _data36_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data36_->self; pamac_database_search_installed_pkgs_real (self, _data36_->search_string_down, &_data36_->pkgs); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_search_installed_pkgs_async_co_gsource_func, _data36_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda17__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda17_ (self)); block36_data_unref (self); return result; } static gboolean pamac_database_search_installed_pkgs_async_co (PamacDatabaseSearchInstalledPkgsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data36_ = g_slice_new0 (Block36Data); _data_->_data36_->_ref_count_ = 1; _data_->_data36_->self = g_object_ref (_data_->self); _data_->_data36_->_async_data_ = _data_; _data_->_tmp0_ = g_utf8_strdown (_data_->search_string, (gssize) -1); _data_->_data36_->search_string_down = _data_->_tmp0_; _data_->_tmp1_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data36_->pkgs = _data_->_tmp1_; { _data_->_tmp2_ = g_thread_try_new ("search_installed_pkgs", ____lambda17__gthread_func, block36_data_ref (_data_->_data36_), &_data_->_inner_error0_); _data_->_tmp3_ = _data_->_tmp2_; _g_thread_unref0 (_data_->_tmp3_); 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_->_tmp4_ = _data_->e; _data_->_tmp5_ = _data_->_tmp4_->message; g_warning ("database.vala:1123: %s", _data_->_tmp5_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block36_data_unref (_data_->_data36_); _data_->_data36_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp6_ = _g_ptr_array_ref0 (_data_->_data36_->pkgs); _data_->result = _data_->_tmp6_; block36_data_unref (_data_->_data36_); _data_->_data36_ = NULL; 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_database_search_repos_pkgs_real (PamacDatabase* self, const gchar* search_string, GPtrArray** pkgs) { GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (search_string != NULL); g_return_if_fail (*pkgs != NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_list_t* _result_ = NULL; alpm_list_t* _tmp1_; PamacConfig* _tmp2_; gboolean _tmp3_; gboolean _tmp4_; alpm_list_t* _tmp21_; _tmp1_ = pamac_database_search_sync_dbs (self, search_string); _result_ = _tmp1_; _tmp2_ = self->priv->_config; _tmp3_ = pamac_config_get_enable_appstream (_tmp2_); _tmp4_ = _tmp3_; if (_tmp4_) { gchar** search_tokens = NULL; gchar** _tmp5_; gchar** _tmp6_; gint search_tokens_length1; gint _search_tokens_size_; PamacAppstreamPlugin* _tmp7_; gchar** _tmp8_; gint _tmp8__length1; GPtrArray* _tmp9_; _tmp6_ = _tmp5_ = g_strsplit (search_string, " ", 0); search_tokens = _tmp6_; search_tokens_length1 = _vala_array_length (_tmp5_); _search_tokens_size_ = search_tokens_length1; _tmp7_ = self->priv->appstream_plugin; _tmp8_ = search_tokens; _tmp8__length1 = search_tokens_length1; _tmp9_ = pamac_appstream_plugin_search (_tmp7_, _tmp8_, (gint) _tmp8__length1); { GPtrArray* app_collection = NULL; guint app_index = 0U; app_collection = _tmp9_; for (app_index = 0; app_index < app_collection->len; app_index = app_index + 1) { PamacApp* app = NULL; app = (PamacApp*) g_ptr_array_index (app_collection, app_index); { const gchar* pkgname = NULL; PamacApp* _tmp10_; const gchar* _tmp11_; const gchar* _tmp12_; alpm_pkg_t* alpm_pkg = NULL; alpm_handle_t* _tmp13_; const gchar* _tmp14_; alpm_pkg_t* _tmp15_; alpm_pkg_t* _tmp16_; _tmp10_ = app; _tmp11_ = pamac_app_get_pkgname (_tmp10_); _tmp12_ = _tmp11_; pkgname = _tmp12_; _tmp13_ = self->priv->alpm_handle; _tmp14_ = pkgname; _tmp15_ = pamac_database_get_syncpkg (self, _tmp13_, _tmp14_); alpm_pkg = _tmp15_; _tmp16_ = alpm_pkg; if (_tmp16_ != NULL) { alpm_list_t* _tmp17_; alpm_pkg_t* _tmp18_; gconstpointer _tmp19_; _tmp17_ = _result_; _tmp18_ = alpm_pkg; _tmp19_ = alpm_list_find (_tmp17_, _tmp18_, (alpm_list_fn_cmp) alpm_pkg_compare_name); if (((alpm_pkg_t*) _tmp19_) == NULL) { alpm_pkg_t* _tmp20_; _tmp20_ = alpm_pkg; _result_ = alpm_list_add (_result_, _tmp20_); } } } } _g_ptr_array_unref0 (app_collection); } search_tokens = (_vala_array_free (search_tokens, search_tokens_length1, (GDestroyNotify) g_free), NULL); } _tmp21_ = _result_; pamac_database_initialise_pkgs (self, _tmp21_, pkgs); _alpm_list_free0 (_result_); } __finally0: { AlpmConfig* _tmp22_; _tmp22_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } } GPtrArray* pamac_database_search_repos_pkgs (PamacDatabase* self, const gchar* search_string) { gchar* search_string_down = NULL; gchar* _tmp0_; GPtrArray* pkgs = NULL; GPtrArray* _tmp1_; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (search_string != NULL, NULL); _tmp0_ = g_utf8_strdown (search_string, (gssize) -1); search_string_down = _tmp0_; _tmp1_ = g_ptr_array_new_full ((guint) 0, NULL); pkgs = _tmp1_; pamac_database_search_repos_pkgs_real (self, search_string_down, &pkgs); result = pkgs; _g_free0 (search_string_down); return result; } static void pamac_database_search_repos_pkgs_async_data_free (gpointer _data) { PamacDatabaseSearchReposPkgsAsyncData* _data_; _data_ = _data; _g_free0 (_data_->search_string); _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseSearchReposPkgsAsyncData, _data_); } void pamac_database_search_repos_pkgs_async (PamacDatabase* self, const gchar* search_string, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseSearchReposPkgsAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (search_string != NULL); _data_ = g_slice_new0 (PamacDatabaseSearchReposPkgsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_search_repos_pkgs_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (search_string); _g_free0 (_data_->search_string); _data_->search_string = _tmp1_; pamac_database_search_repos_pkgs_async_co (_data_); } GPtrArray* pamac_database_search_repos_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseSearchReposPkgsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block37Data* block37_data_ref (Block37Data* _data37_) { g_atomic_int_inc (&_data37_->_ref_count_); return _data37_; } static void block37_data_unref (void * _userdata_) { Block37Data* _data37_; _data37_ = (Block37Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data37_->_ref_count_)) { PamacDatabase* self; self = _data37_->self; _g_ptr_array_unref0 (_data37_->pkgs); _g_free0 (_data37_->search_string_down); _g_object_unref0 (self); g_slice_free (Block37Data, _data37_); } } static gboolean _pamac_database_search_repos_pkgs_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_search_repos_pkgs_async_co (self); return result; } static gint ___lambda18_ (Block37Data* _data37_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data37_->self; pamac_database_search_repos_pkgs_real (self, _data37_->search_string_down, &_data37_->pkgs); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_search_repos_pkgs_async_co_gsource_func, _data37_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda18__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda18_ (self)); block37_data_unref (self); return result; } static gboolean pamac_database_search_repos_pkgs_async_co (PamacDatabaseSearchReposPkgsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data37_ = g_slice_new0 (Block37Data); _data_->_data37_->_ref_count_ = 1; _data_->_data37_->self = g_object_ref (_data_->self); _data_->_data37_->_async_data_ = _data_; _data_->_tmp0_ = g_utf8_strdown (_data_->search_string, (gssize) -1); _data_->_data37_->search_string_down = _data_->_tmp0_; _data_->_tmp1_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data37_->pkgs = _data_->_tmp1_; { _data_->_tmp2_ = g_thread_try_new ("search_repos_pkgs", ____lambda18__gthread_func, block37_data_ref (_data_->_data37_), &_data_->_inner_error0_); _data_->_tmp3_ = _data_->_tmp2_; _g_thread_unref0 (_data_->_tmp3_); 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_->_tmp4_ = _data_->e; _data_->_tmp5_ = _data_->_tmp4_->message; g_warning ("database.vala:1165: %s", _data_->_tmp5_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block37_data_unref (_data_->_data37_); _data_->_data37_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp6_ = _g_ptr_array_ref0 (_data_->_data37_->pkgs); _data_->result = _data_->_tmp6_; block37_data_unref (_data_->_data37_); _data_->_data37_ = NULL; 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 alpm_list_t* pamac_database_search_all_dbs (PamacDatabase* self, const gchar* search_string) { alpm_list_t* needles = NULL; gchar** splitted = NULL; gchar** _tmp0_; gchar** _tmp1_; gint splitted_length1; gint _splitted_size_; gchar** _tmp2_; gint _tmp2__length1; alpm_list_t* _result_ = NULL; alpm_handle_t* _tmp4_; alpm_db_t* _tmp5_; alpm_db_t* _tmp6_; alpm_list_t* _tmp7_; alpm_list_t* _tmp8_; alpm_list_t* syncpkgs = NULL; alpm_list_t* syncdbs = NULL; alpm_handle_t* _tmp9_; alpm_list_t* _tmp10_; alpm_list_t* _tmp11_; alpm_list_t* _tmp25_; alpm_list_t* _tmp26_; alpm_list_t* _tmp27_; alpm_list_t* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (search_string != NULL, NULL); needles = NULL; _tmp1_ = _tmp0_ = g_strsplit (search_string, " ", 0); splitted = _tmp1_; splitted_length1 = _vala_array_length (_tmp0_); _splitted_size_ = splitted_length1; _tmp2_ = splitted; _tmp2__length1 = splitted_length1; { gchar** part_collection = NULL; gint part_collection_length1 = 0; gint _part_collection_size_ = 0; gint part_it = 0; part_collection = _tmp2_; part_collection_length1 = _tmp2__length1; for (part_it = 0; part_it < part_collection_length1; part_it = part_it + 1) { const gchar* part = NULL; part = part_collection[part_it]; { const gchar* _tmp3_; _tmp3_ = part; needles = alpm_list_add (needles, _tmp3_); } } } _tmp4_ = self->priv->alpm_handle; _tmp5_ = alpm_get_localdb (_tmp4_); _tmp6_ = _tmp5_; _tmp7_ = needles; _tmp8_ = pamac_database_custom_db_search (self, _tmp6_, _tmp7_); _result_ = _tmp8_; syncpkgs = NULL; _tmp9_ = self->priv->alpm_handle; _tmp10_ = alpm_get_syncdbs (_tmp9_); _tmp11_ = _tmp10_; syncdbs = _tmp11_; while (TRUE) { alpm_list_t* _tmp12_; alpm_db_t* db = NULL; alpm_list_t* _tmp13_; gconstpointer _tmp14_; alpm_list_t* _tmp15_; _tmp12_ = syncdbs; if (!(_tmp12_ != NULL)) { break; } _tmp13_ = syncdbs; _tmp14_ = _tmp13_->data; db = (alpm_db_t*) _tmp14_; _tmp15_ = syncpkgs; if (_tmp15_ == NULL) { alpm_db_t* _tmp16_; alpm_list_t* _tmp17_; alpm_list_t* _tmp18_; _tmp16_ = db; _tmp17_ = needles; _tmp18_ = pamac_database_custom_db_search (self, _tmp16_, _tmp17_); _alpm_list_free0 (syncpkgs); syncpkgs = _tmp18_; } else { alpm_db_t* _tmp19_; alpm_list_t* _tmp20_; alpm_list_t* _tmp21_; alpm_list_t* _tmp22_; alpm_list_t* _tmp23_; alpm_list_t* _tmp24_; _tmp19_ = db; _tmp20_ = needles; _tmp21_ = pamac_database_custom_db_search (self, _tmp19_, _tmp20_); _tmp22_ = _tmp21_; _tmp23_ = syncpkgs; _tmp24_ = alpm_list_diff (_tmp22_, _tmp23_, (alpm_list_fn_cmp) alpm_pkg_compare_name); syncpkgs = alpm_list_join (syncpkgs, _tmp24_); _alpm_list_free0 (_tmp22_); } syncdbs = alpm_list_next (syncdbs); } _tmp25_ = syncpkgs; _tmp26_ = _result_; _tmp27_ = alpm_list_diff (_tmp25_, _tmp26_, (alpm_list_fn_cmp) alpm_pkg_compare_name); _result_ = alpm_list_join (_result_, _tmp27_); result = _result_; _alpm_list_free0 (syncpkgs); splitted = (_vala_array_free (splitted, splitted_length1, (GDestroyNotify) g_free), NULL); _alpm_list_free0 (needles); return result; } GPtrArray* pamac_database_search_uninstalled_apps (PamacDatabase* self, GPtrArray* search_terms) { GPtrArray* pkgs = NULL; GPtrArray* _tmp0_; GError* _inner_error0_ = NULL; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (search_terms != NULL, NULL); _tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); pkgs = _tmp0_; { AlpmConfig* _tmp1_; _tmp1_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_list_t* appstream_result = NULL; PamacConfig* _tmp2_; gboolean _tmp3_; gboolean _tmp4_; alpm_list_t* _tmp25_; appstream_result = NULL; _tmp2_ = self->priv->_config; _tmp3_ = pamac_config_get_enable_appstream (_tmp2_); _tmp4_ = _tmp3_; if (_tmp4_) { PamacAppstreamPlugin* _tmp5_; gpointer* _tmp6_; gint _tmp6__length1; GPtrArray* _tmp7_; _tmp5_ = self->priv->appstream_plugin; _tmp6_ = search_terms->pdata; _tmp6__length1 = search_terms->len; _tmp7_ = pamac_appstream_plugin_search (_tmp5_, _tmp6_, (gint) _tmp6__length1); { GPtrArray* app_collection = NULL; guint app_index = 0U; app_collection = _tmp7_; for (app_index = 0; app_index < app_collection->len; app_index = app_index + 1) { PamacApp* app = NULL; app = (PamacApp*) g_ptr_array_index (app_collection, app_index); { const gchar* pkgname = NULL; PamacApp* _tmp8_; const gchar* _tmp9_; const gchar* _tmp10_; alpm_pkg_t* alpm_pkg = NULL; alpm_handle_t* _tmp11_; alpm_db_t* _tmp12_; alpm_db_t* _tmp13_; const gchar* _tmp14_; alpm_pkg_t* _tmp15_; alpm_pkg_t* _tmp16_; _tmp8_ = app; _tmp9_ = pamac_app_get_pkgname (_tmp8_); _tmp10_ = _tmp9_; pkgname = _tmp10_; _tmp11_ = self->priv->alpm_handle; _tmp12_ = alpm_get_localdb (_tmp11_); _tmp13_ = _tmp12_; _tmp14_ = pkgname; _tmp15_ = alpm_db_get_pkg (_tmp13_, _tmp14_); alpm_pkg = _tmp15_; _tmp16_ = alpm_pkg; if (_tmp16_ == NULL) { alpm_handle_t* _tmp17_; const gchar* _tmp18_; alpm_pkg_t* _tmp19_; alpm_pkg_t* _tmp20_; _tmp17_ = self->priv->alpm_handle; _tmp18_ = pkgname; _tmp19_ = pamac_database_get_syncpkg (self, _tmp17_, _tmp18_); alpm_pkg = _tmp19_; _tmp20_ = alpm_pkg; if (_tmp20_ != NULL) { alpm_list_t* _tmp21_; alpm_pkg_t* _tmp22_; gconstpointer _tmp23_; _tmp21_ = appstream_result; _tmp22_ = alpm_pkg; _tmp23_ = alpm_list_find (_tmp21_, _tmp22_, (alpm_list_fn_cmp) alpm_pkg_compare_name); if (((alpm_pkg_t*) _tmp23_) == NULL) { alpm_pkg_t* _tmp24_; _tmp24_ = alpm_pkg; appstream_result = alpm_list_add (appstream_result, _tmp24_); } } } } } _g_ptr_array_unref0 (app_collection); } } _tmp25_ = appstream_result; pamac_database_initialise_pkgs (self, _tmp25_, &pkgs); _alpm_list_free0 (appstream_result); } __finally0: { AlpmConfig* _tmp26_; _tmp26_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_ptr_array_unref0 (pkgs); 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; } } result = pkgs; return result; } static void pamac_database_search_pkgs_real (PamacDatabase* self, const gchar* search_string, GPtrArray** pkgs) { GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (search_string != NULL); g_return_if_fail (*pkgs != NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_list_t* _result_ = NULL; alpm_list_t* _tmp1_; PamacConfig* _tmp2_; gboolean _tmp3_; gboolean _tmp4_; alpm_list_t* _tmp27_; _tmp1_ = pamac_database_search_all_dbs (self, search_string); _result_ = _tmp1_; _tmp2_ = self->priv->_config; _tmp3_ = pamac_config_get_enable_appstream (_tmp2_); _tmp4_ = _tmp3_; if (_tmp4_) { gchar** search_tokens = NULL; gchar** _tmp5_; gchar** _tmp6_; gint search_tokens_length1; gint _search_tokens_size_; PamacAppstreamPlugin* _tmp7_; gchar** _tmp8_; gint _tmp8__length1; GPtrArray* _tmp9_; _tmp6_ = _tmp5_ = g_strsplit (search_string, " ", 0); search_tokens = _tmp6_; search_tokens_length1 = _vala_array_length (_tmp5_); _search_tokens_size_ = search_tokens_length1; _tmp7_ = self->priv->appstream_plugin; _tmp8_ = search_tokens; _tmp8__length1 = search_tokens_length1; _tmp9_ = pamac_appstream_plugin_search (_tmp7_, _tmp8_, (gint) _tmp8__length1); { GPtrArray* app_collection = NULL; guint app_index = 0U; app_collection = _tmp9_; for (app_index = 0; app_index < app_collection->len; app_index = app_index + 1) { PamacApp* app = NULL; app = (PamacApp*) g_ptr_array_index (app_collection, app_index); { const gchar* pkgname = NULL; PamacApp* _tmp10_; const gchar* _tmp11_; const gchar* _tmp12_; alpm_pkg_t* alpm_pkg = NULL; alpm_handle_t* _tmp13_; alpm_db_t* _tmp14_; alpm_db_t* _tmp15_; const gchar* _tmp16_; alpm_pkg_t* _tmp17_; alpm_pkg_t* _tmp18_; alpm_pkg_t* _tmp22_; _tmp10_ = app; _tmp11_ = pamac_app_get_pkgname (_tmp10_); _tmp12_ = _tmp11_; pkgname = _tmp12_; _tmp13_ = self->priv->alpm_handle; _tmp14_ = alpm_get_localdb (_tmp13_); _tmp15_ = _tmp14_; _tmp16_ = pkgname; _tmp17_ = alpm_db_get_pkg (_tmp15_, _tmp16_); alpm_pkg = _tmp17_; _tmp18_ = alpm_pkg; if (_tmp18_ == NULL) { alpm_handle_t* _tmp19_; const gchar* _tmp20_; alpm_pkg_t* _tmp21_; _tmp19_ = self->priv->alpm_handle; _tmp20_ = pkgname; _tmp21_ = pamac_database_get_syncpkg (self, _tmp19_, _tmp20_); alpm_pkg = _tmp21_; } _tmp22_ = alpm_pkg; if (_tmp22_ != NULL) { alpm_list_t* _tmp23_; alpm_pkg_t* _tmp24_; gconstpointer _tmp25_; _tmp23_ = _result_; _tmp24_ = alpm_pkg; _tmp25_ = alpm_list_find (_tmp23_, _tmp24_, (alpm_list_fn_cmp) alpm_pkg_compare_name); if (((alpm_pkg_t*) _tmp25_) == NULL) { alpm_pkg_t* _tmp26_; _tmp26_ = alpm_pkg; _result_ = alpm_list_add (_result_, _tmp26_); } } } } _g_ptr_array_unref0 (app_collection); } search_tokens = (_vala_array_free (search_tokens, search_tokens_length1, (GDestroyNotify) g_free), NULL); } _tmp27_ = _result_; pamac_database_initialise_pkgs (self, _tmp27_, pkgs); _alpm_list_free0 (_result_); } __finally0: { AlpmConfig* _tmp28_; _tmp28_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } } GPtrArray* pamac_database_search_pkgs (PamacDatabase* self, const gchar* search_string) { gchar* search_string_down = NULL; gchar* _tmp0_; GPtrArray* pkgs = NULL; GPtrArray* _tmp1_; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (search_string != NULL, NULL); _tmp0_ = g_utf8_strdown (search_string, (gssize) -1); search_string_down = _tmp0_; _tmp1_ = g_ptr_array_new_full ((guint) 0, NULL); pkgs = _tmp1_; pamac_database_search_pkgs_real (self, search_string_down, &pkgs); result = pkgs; _g_free0 (search_string_down); return result; } static void pamac_database_search_pkgs_async_data_free (gpointer _data) { PamacDatabaseSearchPkgsAsyncData* _data_; _data_ = _data; _g_free0 (_data_->search_string); _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseSearchPkgsAsyncData, _data_); } void pamac_database_search_pkgs_async (PamacDatabase* self, const gchar* search_string, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseSearchPkgsAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (search_string != NULL); _data_ = g_slice_new0 (PamacDatabaseSearchPkgsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_search_pkgs_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (search_string); _g_free0 (_data_->search_string); _data_->search_string = _tmp1_; pamac_database_search_pkgs_async_co (_data_); } GPtrArray* pamac_database_search_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseSearchPkgsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block38Data* block38_data_ref (Block38Data* _data38_) { g_atomic_int_inc (&_data38_->_ref_count_); return _data38_; } static void block38_data_unref (void * _userdata_) { Block38Data* _data38_; _data38_ = (Block38Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data38_->_ref_count_)) { PamacDatabase* self; self = _data38_->self; _g_ptr_array_unref0 (_data38_->pkgs); _g_free0 (_data38_->search_string_down); _g_object_unref0 (self); g_slice_free (Block38Data, _data38_); } } static gboolean _pamac_database_search_pkgs_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_search_pkgs_async_co (self); return result; } static gint ___lambda19_ (Block38Data* _data38_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data38_->self; pamac_database_search_pkgs_real (self, _data38_->search_string_down, &_data38_->pkgs); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_search_pkgs_async_co_gsource_func, _data38_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda19__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda19_ (self)); block38_data_unref (self); return result; } static gboolean pamac_database_search_pkgs_async_co (PamacDatabaseSearchPkgsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data38_ = g_slice_new0 (Block38Data); _data_->_data38_->_ref_count_ = 1; _data_->_data38_->self = g_object_ref (_data_->self); _data_->_data38_->_async_data_ = _data_; _data_->_tmp0_ = g_utf8_strdown (_data_->search_string, (gssize) -1); _data_->_data38_->search_string_down = _data_->_tmp0_; _data_->_tmp1_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data38_->pkgs = _data_->_tmp1_; { _data_->_tmp2_ = g_thread_try_new ("search_pkgs", ____lambda19__gthread_func, block38_data_ref (_data_->_data38_), &_data_->_inner_error0_); _data_->_tmp3_ = _data_->_tmp2_; _g_thread_unref0 (_data_->_tmp3_); 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_->_tmp4_ = _data_->e; _data_->_tmp5_ = _data_->_tmp4_->message; g_warning ("database.vala:1282: %s", _data_->_tmp5_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block38_data_unref (_data_->_data38_); _data_->_data38_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp6_ = _g_ptr_array_ref0 (_data_->_data38_->pkgs); _data_->result = _data_->_tmp6_; block38_data_unref (_data_->_data38_); _data_->_data38_ = NULL; 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_database_search_aur_pkgs_real (PamacDatabase* self, const gchar* search_string, GPtrArray** pkgs) { GPtrArray* aur_infos_list = NULL; PamacAURPlugin* _tmp0_; GPtrArray* _tmp1_; GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (search_string != NULL); g_return_if_fail (*pkgs != NULL); _tmp0_ = self->priv->_aur_plugin; _tmp1_ = pamac_aur_plugin_search (_tmp0_, search_string); aur_infos_list = _tmp1_; { AlpmConfig* _tmp2_; _tmp2_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { GPtrArray* _tmp3_; _tmp3_ = aur_infos_list; { GPtrArray* aur_infos_collection = NULL; guint aur_infos_index = 0U; aur_infos_collection = _tmp3_; for (aur_infos_index = 0; aur_infos_index < aur_infos_collection->len; aur_infos_index = aur_infos_index + 1) { PamacAURInfos* aur_infos = NULL; aur_infos = (PamacAURInfos*) g_ptr_array_index (aur_infos_collection, aur_infos_index); { const gchar* name = NULL; PamacAURInfos* _tmp4_; const gchar* _tmp5_; const gchar* _tmp6_; PamacAURPackageLinked* pkg = NULL; GHashTable* _tmp7_; const gchar* _tmp8_; gconstpointer _tmp9_; PamacAURPackageLinked* _tmp10_; PamacAURPackageLinked* _tmp11_; PamacAURPackageLinked* _tmp27_; _tmp4_ = aur_infos; _tmp5_ = pamac_aur_infos_get_name (_tmp4_); _tmp6_ = _tmp5_; name = _tmp6_; _tmp7_ = self->priv->aur_pkgs_cache; _tmp8_ = name; _tmp9_ = g_hash_table_lookup (_tmp7_, _tmp8_); _tmp10_ = _g_object_ref0 ((PamacAURPackageLinked*) _tmp9_); pkg = _tmp10_; _tmp11_ = pkg; if (_tmp11_ == NULL) { alpm_pkg_t* local_pkg = NULL; alpm_handle_t* _tmp12_; alpm_db_t* _tmp13_; alpm_db_t* _tmp14_; const gchar* _tmp15_; alpm_pkg_t* _tmp16_; PamacAURPackageLinked* _tmp17_; PamacAURPackageLinked* _tmp18_; PamacAURInfos* _tmp19_; alpm_pkg_t* _tmp20_; GHashTable* _tmp21_; PamacAURPackageLinked* _tmp22_; const gchar* _tmp23_; const gchar* _tmp24_; PamacAURPackageLinked* _tmp25_; PamacAURPackageLinked* _tmp26_; _tmp12_ = self->priv->alpm_handle; _tmp13_ = alpm_get_localdb (_tmp12_); _tmp14_ = _tmp13_; _tmp15_ = name; _tmp16_ = alpm_db_get_pkg (_tmp14_, _tmp15_); local_pkg = _tmp16_; _tmp17_ = pamac_aur_package_linked_new (); _g_object_unref0 (pkg); pkg = _tmp17_; _tmp18_ = pkg; _tmp19_ = aur_infos; _tmp20_ = local_pkg; pamac_aur_package_linked_initialise_from_aur_infos (_tmp18_, _tmp19_, _tmp20_, self, FALSE); _tmp21_ = self->priv->aur_pkgs_cache; _tmp22_ = pkg; _tmp23_ = pamac_package_get_id ((PamacPackage*) _tmp22_); _tmp24_ = _tmp23_; _tmp25_ = pkg; _tmp26_ = _g_object_ref0 (_tmp25_); g_hash_table_replace (_tmp21_, _tmp24_, _tmp26_); } _tmp27_ = pkg; g_ptr_array_add (*pkgs, (PamacAURPackage*) _tmp27_); _g_object_unref0 (pkg); } } } } __finally0: { AlpmConfig* _tmp28_; _tmp28_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_ptr_array_unref0 (aur_infos_list); 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; } } _g_ptr_array_unref0 (aur_infos_list); } GPtrArray* pamac_database_search_aur_pkgs (PamacDatabase* self, const gchar* search_string) { gchar* search_string_down = NULL; gchar* _tmp0_; GPtrArray* pkgs = NULL; GPtrArray* _tmp1_; PamacConfig* _tmp2_; gboolean _tmp3_; gboolean _tmp4_; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (search_string != NULL, NULL); _tmp0_ = g_utf8_strdown (search_string, (gssize) -1); search_string_down = _tmp0_; _tmp1_ = g_ptr_array_new_full ((guint) 0, NULL); pkgs = _tmp1_; _tmp2_ = self->priv->_config; _tmp3_ = pamac_config_get_enable_aur (_tmp2_); _tmp4_ = _tmp3_; if (_tmp4_) { const gchar* _tmp5_; _tmp5_ = search_string_down; pamac_database_search_aur_pkgs_real (self, _tmp5_, &pkgs); } result = pkgs; _g_free0 (search_string_down); return result; } static void pamac_database_search_aur_pkgs_async_data_free (gpointer _data) { PamacDatabaseSearchAurPkgsAsyncData* _data_; _data_ = _data; _g_free0 (_data_->search_string); _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseSearchAurPkgsAsyncData, _data_); } void pamac_database_search_aur_pkgs_async (PamacDatabase* self, const gchar* search_string, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseSearchAurPkgsAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (search_string != NULL); _data_ = g_slice_new0 (PamacDatabaseSearchAurPkgsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_search_aur_pkgs_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (search_string); _g_free0 (_data_->search_string); _data_->search_string = _tmp1_; pamac_database_search_aur_pkgs_async_co (_data_); } GPtrArray* pamac_database_search_aur_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseSearchAurPkgsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block39Data* block39_data_ref (Block39Data* _data39_) { g_atomic_int_inc (&_data39_->_ref_count_); return _data39_; } static void block39_data_unref (void * _userdata_) { Block39Data* _data39_; _data39_ = (Block39Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data39_->_ref_count_)) { PamacDatabase* self; self = _data39_->self; _g_ptr_array_unref0 (_data39_->pkgs); _g_free0 (_data39_->search_string_down); _g_object_unref0 (self); g_slice_free (Block39Data, _data39_); } } static gboolean _pamac_database_search_aur_pkgs_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_search_aur_pkgs_async_co (self); return result; } static gint ____lambda20_ (Block39Data* _data39_) { PamacDatabase* self; const gchar* _tmp0_; GMainContext* _tmp1_; gint result; self = _data39_->self; _tmp0_ = _data39_->search_string_down; pamac_database_search_aur_pkgs_real (self, _tmp0_, &_data39_->pkgs); _tmp1_ = self->priv->_context; g_main_context_invoke_full (_tmp1_, G_PRIORITY_DEFAULT, _pamac_database_search_aur_pkgs_async_co_gsource_func, _data39_->_async_data_, NULL); result = 0; return result; } static gpointer _____lambda20__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ____lambda20_ (self)); block39_data_unref (self); return result; } static gboolean pamac_database_search_aur_pkgs_async_co (PamacDatabaseSearchAurPkgsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data39_ = g_slice_new0 (Block39Data); _data_->_data39_->_ref_count_ = 1; _data_->_data39_->self = g_object_ref (_data_->self); _data_->_data39_->_async_data_ = _data_; _data_->_tmp0_ = g_utf8_strdown (_data_->search_string, (gssize) -1); _data_->_data39_->search_string_down = _data_->_tmp0_; _data_->_tmp1_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data39_->pkgs = _data_->_tmp1_; _data_->_tmp2_ = _data_->self->priv->_config; _data_->_tmp3_ = pamac_config_get_enable_aur (_data_->_tmp2_); _data_->_tmp4_ = _data_->_tmp3_; if (_data_->_tmp4_) { { _data_->_tmp5_ = g_thread_try_new ("search_aur_pkgs", _____lambda20__gthread_func, block39_data_ref (_data_->_data39_), &_data_->_inner_error0_); _data_->_tmp6_ = _data_->_tmp5_; _g_thread_unref0 (_data_->_tmp6_); 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_->_tmp7_ = _data_->e; _data_->_tmp8_ = _data_->_tmp7_->message; g_warning ("database.vala:1325: %s", _data_->_tmp8_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block39_data_unref (_data_->_data39_); _data_->_data39_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } } _data_->_tmp9_ = _data_->_data39_->pkgs; _data_->_tmp10_ = _g_ptr_array_ref0 (_data_->_tmp9_); _data_->result = _data_->_tmp10_; block39_data_unref (_data_->_data39_); _data_->_data39_ = NULL; 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; } GHashTable* pamac_database_search_files (PamacDatabase* self, GPtrArray* files) { GHashTable* _result_ = NULL; GHashFunc _tmp0_; GEqualFunc _tmp1_; GHashTable* _tmp2_; GError* _inner_error0_ = NULL; GHashTable* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (files != NULL, NULL); _tmp0_ = g_str_hash; _tmp1_ = g_str_equal; _tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_free0_, _g_ptr_array_unref0_); _result_ = _tmp2_; { AlpmConfig* _tmp3_; _tmp3_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { { GPtrArray* file_collection = NULL; guint file_index = 0U; file_collection = files; for (file_index = 0; file_index < file_collection->len; file_index = file_index + 1) { const gchar* file = NULL; file = (const gchar*) g_ptr_array_index (file_collection, file_index); { alpm_list_t* pkgcache = NULL; alpm_handle_t* _tmp4_; alpm_db_t* _tmp5_; alpm_db_t* _tmp6_; alpm_list_t* _tmp7_; alpm_list_t* _tmp8_; alpm_list_t* syncdbs = NULL; alpm_handle_t* _tmp46_; alpm_list_t* _tmp47_; alpm_list_t* _tmp48_; _tmp4_ = self->priv->alpm_handle; _tmp5_ = alpm_get_localdb (_tmp4_); _tmp6_ = _tmp5_; _tmp7_ = alpm_db_get_pkgcache (_tmp6_); _tmp8_ = _tmp7_; pkgcache = _tmp8_; while (TRUE) { alpm_list_t* _tmp9_; alpm_pkg_t* alpm_pkg = NULL; alpm_list_t* _tmp10_; gconstpointer _tmp11_; GPtrArray* found_files = NULL; GPtrArray* _tmp12_; alpm_filelist_t* filelist = NULL; alpm_pkg_t* _tmp13_; alpm_filelist_t* _tmp14_; alpm_filelist_t* _tmp15_; alpm_file_t* file_ptr = NULL; alpm_filelist_t* _tmp16_; alpm_file_t* _tmp17_; GPtrArray* _tmp37_; gint _tmp38_; gint _tmp39_; _tmp9_ = pkgcache; if (!(_tmp9_ != NULL)) { break; } _tmp10_ = pkgcache; _tmp11_ = _tmp10_->data; alpm_pkg = (alpm_pkg_t*) _tmp11_; _tmp12_ = g_ptr_array_new_full ((guint) 0, _g_free0_); found_files = _tmp12_; _tmp13_ = alpm_pkg; _tmp14_ = alpm_pkg_get_files (_tmp13_); _tmp15_ = _tmp14_; filelist = _tmp15_; _tmp16_ = filelist; _tmp17_ = _tmp16_->files; file_ptr = _tmp17_; { gsize i = 0UL; i = (gsize) 0; { gboolean _tmp18_ = FALSE; _tmp18_ = TRUE; while (TRUE) { alpm_filelist_t* _tmp21_; alpm_file_t* _tmp22_; const gchar* _tmp23_; if (!_tmp18_) { gsize _tmp19_; alpm_file_t* _tmp20_; _tmp19_ = i; i = _tmp19_ + 1; _tmp20_ = file_ptr; file_ptr = _tmp20_ + 1; } _tmp18_ = FALSE; _tmp21_ = filelist; if (!(i < _tmp21_->count)) { break; } _tmp22_ = file_ptr; _tmp23_ = _tmp22_->name; if (!g_str_has_suffix (_tmp23_, "/")) { GString* real_file_name = NULL; alpm_handle_t* _tmp24_; const gchar* _tmp25_; const gchar* _tmp26_; GString* _tmp27_; GString* _tmp28_; alpm_file_t* _tmp29_; const gchar* _tmp30_; GString* _tmp31_; const gchar* _tmp32_; const gchar* _tmp33_; _tmp24_ = self->priv->alpm_handle; _tmp25_ = alpm_option_get_root (_tmp24_); _tmp26_ = _tmp25_; _tmp27_ = g_string_new (_tmp26_); real_file_name = _tmp27_; _tmp28_ = real_file_name; _tmp29_ = file_ptr; _tmp30_ = _tmp29_->name; g_string_append (_tmp28_, _tmp30_); _tmp31_ = real_file_name; _tmp32_ = _tmp31_->str; _tmp33_ = file; if (string_contains (_tmp32_, _tmp33_)) { GPtrArray* _tmp34_; GString* _tmp35_; gchar* _tmp36_; _tmp34_ = found_files; _tmp35_ = real_file_name; _tmp36_ = _tmp35_->str; _tmp35_->str = NULL; g_ptr_array_add (_tmp34_, _tmp36_); } _g_string_free0 (real_file_name); } } } } _tmp37_ = found_files; _tmp38_ = vala_g_ptr_array_get_length (_tmp37_); _tmp39_ = _tmp38_; if (_tmp39_ != 0) { GHashTable* _tmp40_; alpm_pkg_t* _tmp41_; const gchar* _tmp42_; const gchar* _tmp43_; gchar* _tmp44_; GPtrArray* _tmp45_; _tmp40_ = _result_; _tmp41_ = alpm_pkg; _tmp42_ = alpm_pkg_get_name (_tmp41_); _tmp43_ = _tmp42_; _tmp44_ = g_strdup (_tmp43_); _tmp45_ = found_files; found_files = NULL; g_hash_table_insert (_tmp40_, _tmp44_, _tmp45_); } pkgcache = alpm_list_next (pkgcache); _g_ptr_array_unref0 (found_files); } _tmp46_ = self->priv->files_handle; _tmp47_ = alpm_get_syncdbs (_tmp46_); _tmp48_ = _tmp47_; syncdbs = _tmp48_; while (TRUE) { alpm_list_t* _tmp49_; alpm_db_t* db = NULL; alpm_list_t* _tmp50_; gconstpointer _tmp51_; alpm_db_t* _tmp52_; alpm_list_t* _tmp53_; alpm_list_t* _tmp54_; _tmp49_ = syncdbs; if (!(_tmp49_ != NULL)) { break; } _tmp50_ = syncdbs; _tmp51_ = _tmp50_->data; db = (alpm_db_t*) _tmp51_; _tmp52_ = db; _tmp53_ = alpm_db_get_pkgcache (_tmp52_); _tmp54_ = _tmp53_; pkgcache = _tmp54_; while (TRUE) { alpm_list_t* _tmp55_; alpm_pkg_t* alpm_pkg = NULL; alpm_list_t* _tmp56_; gconstpointer _tmp57_; GPtrArray* found_files = NULL; GPtrArray* _tmp58_; alpm_filelist_t* filelist = NULL; alpm_pkg_t* _tmp59_; alpm_filelist_t* _tmp60_; alpm_filelist_t* _tmp61_; alpm_file_t* file_ptr = NULL; alpm_filelist_t* _tmp62_; alpm_file_t* _tmp63_; GPtrArray* _tmp84_; gint _tmp85_; gint _tmp86_; _tmp55_ = pkgcache; if (!(_tmp55_ != NULL)) { break; } _tmp56_ = pkgcache; _tmp57_ = _tmp56_->data; alpm_pkg = (alpm_pkg_t*) _tmp57_; _tmp58_ = g_ptr_array_new_full ((guint) 0, _g_free0_); found_files = _tmp58_; _tmp59_ = alpm_pkg; _tmp60_ = alpm_pkg_get_files (_tmp59_); _tmp61_ = _tmp60_; filelist = _tmp61_; _tmp62_ = filelist; _tmp63_ = _tmp62_->files; file_ptr = _tmp63_; { gsize i = 0UL; i = (gsize) 0; { gboolean _tmp64_ = FALSE; _tmp64_ = TRUE; while (TRUE) { alpm_filelist_t* _tmp67_; alpm_file_t* _tmp68_; const gchar* _tmp69_; if (!_tmp64_) { gsize _tmp65_; alpm_file_t* _tmp66_; _tmp65_ = i; i = _tmp65_ + 1; _tmp66_ = file_ptr; file_ptr = _tmp66_ + 1; } _tmp64_ = FALSE; _tmp67_ = filelist; if (!(i < _tmp67_->count)) { break; } _tmp68_ = file_ptr; _tmp69_ = _tmp68_->name; if (!g_str_has_suffix (_tmp69_, "/")) { GString* real_file_name = NULL; GString* _tmp70_; GString* _tmp71_; alpm_handle_t* _tmp72_; const gchar* _tmp73_; const gchar* _tmp74_; GString* _tmp75_; alpm_file_t* _tmp76_; const gchar* _tmp77_; GString* _tmp78_; const gchar* _tmp79_; const gchar* _tmp80_; _tmp70_ = g_string_new (""); real_file_name = _tmp70_; _tmp71_ = real_file_name; _tmp72_ = self->priv->alpm_handle; _tmp73_ = alpm_option_get_root (_tmp72_); _tmp74_ = _tmp73_; g_string_append (_tmp71_, _tmp74_); _tmp75_ = real_file_name; _tmp76_ = file_ptr; _tmp77_ = _tmp76_->name; g_string_append (_tmp75_, _tmp77_); _tmp78_ = real_file_name; _tmp79_ = _tmp78_->str; _tmp80_ = file; if (string_contains (_tmp79_, _tmp80_)) { GPtrArray* _tmp81_; GString* _tmp82_; gchar* _tmp83_; _tmp81_ = found_files; _tmp82_ = real_file_name; _tmp83_ = _tmp82_->str; _tmp82_->str = NULL; g_ptr_array_add (_tmp81_, _tmp83_); } _g_string_free0 (real_file_name); } } } } _tmp84_ = found_files; _tmp85_ = vala_g_ptr_array_get_length (_tmp84_); _tmp86_ = _tmp85_; if (_tmp86_ != 0) { GHashTable* _tmp87_; alpm_pkg_t* _tmp88_; const gchar* _tmp89_; const gchar* _tmp90_; gchar* _tmp91_; GPtrArray* _tmp92_; _tmp87_ = _result_; _tmp88_ = alpm_pkg; _tmp89_ = alpm_pkg_get_name (_tmp88_); _tmp90_ = _tmp89_; _tmp91_ = g_strdup (_tmp90_); _tmp92_ = found_files; found_files = NULL; g_hash_table_insert (_tmp87_, _tmp91_, _tmp92_); } pkgcache = alpm_list_next (pkgcache); _g_ptr_array_unref0 (found_files); } syncdbs = alpm_list_next (syncdbs); } } } } } __finally0: { AlpmConfig* _tmp93_; _tmp93_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_hash_table_unref0 (_result_); 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; } } result = _result_; return result; } GPtrArray* pamac_database_get_categories_names (PamacDatabase* self) { GPtrArray* _tmp0_; GPtrArray* _tmp2_; GPtrArray* _tmp3_; gchar* _tmp4_; GPtrArray* _tmp5_; gchar* _tmp6_; GPtrArray* _tmp7_; gchar* _tmp8_; GPtrArray* _tmp9_; gchar* _tmp10_; GPtrArray* _tmp11_; gchar* _tmp12_; GPtrArray* _tmp13_; gchar* _tmp14_; GPtrArray* _tmp15_; gchar* _tmp16_; GPtrArray* _tmp17_; gchar* _tmp18_; GPtrArray* _tmp19_; gchar* _tmp20_; GPtrArray* _tmp21_; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->categories_names; if (_tmp0_ != NULL) { GPtrArray* _tmp1_; _tmp1_ = self->priv->categories_names; result = _tmp1_; return result; } _tmp2_ = g_ptr_array_new_full ((guint) 0, _g_free0_); _g_ptr_array_unref0 (self->priv->categories_names); self->priv->categories_names = _tmp2_; _tmp3_ = self->priv->categories_names; _tmp4_ = g_strdup ("Featured"); g_ptr_array_add (_tmp3_, _tmp4_); _tmp5_ = self->priv->categories_names; _tmp6_ = g_strdup ("Photo & Video"); g_ptr_array_add (_tmp5_, _tmp6_); _tmp7_ = self->priv->categories_names; _tmp8_ = g_strdup ("Music & Audio"); g_ptr_array_add (_tmp7_, _tmp8_); _tmp9_ = self->priv->categories_names; _tmp10_ = g_strdup ("Productivity"); g_ptr_array_add (_tmp9_, _tmp10_); _tmp11_ = self->priv->categories_names; _tmp12_ = g_strdup ("Communication & News"); g_ptr_array_add (_tmp11_, _tmp12_); _tmp13_ = self->priv->categories_names; _tmp14_ = g_strdup ("Education & Science"); g_ptr_array_add (_tmp13_, _tmp14_); _tmp15_ = self->priv->categories_names; _tmp16_ = g_strdup ("Games"); g_ptr_array_add (_tmp15_, _tmp16_); _tmp17_ = self->priv->categories_names; _tmp18_ = g_strdup ("Utilities"); g_ptr_array_add (_tmp17_, _tmp18_); _tmp19_ = self->priv->categories_names; _tmp20_ = g_strdup ("Development"); g_ptr_array_add (_tmp19_, _tmp20_); _tmp21_ = self->priv->categories_names; result = _tmp21_; return result; } static GPtrArray* pamac_database_get_apps_pkgs (PamacDatabase* self, GHashTable* apps) { GPtrArray* pkgs = NULL; GPtrArray* _tmp0_; GHashTableIter iter = {0}; PamacApp* app = NULL; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (apps != NULL, NULL); _tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); pkgs = _tmp0_; g_hash_table_iter_init (&iter, apps); while (TRUE) { gconstpointer _tmp1_ = NULL; gboolean _tmp2_; const gchar* pkgname = NULL; PamacApp* _tmp3_; const gchar* _tmp4_; const gchar* _tmp5_; const gchar* app_name = NULL; PamacApp* _tmp6_; const gchar* _tmp7_; const gchar* _tmp8_; const gchar* _tmp9_; alpm_pkg_t* local_pkg = NULL; alpm_handle_t* _tmp21_; alpm_db_t* _tmp22_; alpm_db_t* _tmp23_; const gchar* _tmp24_; alpm_pkg_t* _tmp25_; alpm_pkg_t* _tmp26_; _tmp2_ = g_hash_table_iter_next (&iter, (gpointer*) NULL, (gpointer*) (&_tmp1_)); app = (PamacApp*) _tmp1_; if (!_tmp2_) { break; } _tmp3_ = app; _tmp4_ = pamac_app_get_pkgname (_tmp3_); _tmp5_ = _tmp4_; pkgname = _tmp5_; _tmp6_ = app; _tmp7_ = pamac_app_get_name (_tmp6_); _tmp8_ = _tmp7_; app_name = _tmp8_; _tmp9_ = app_name; if (_tmp9_ != NULL) { PamacAlpmPackageLinked* pkg = NULL; GHashTable* _tmp10_; const gchar* _tmp11_; const gchar* _tmp12_; gchar* _tmp13_; gchar* _tmp14_; gconstpointer _tmp15_; PamacAlpmPackageLinked* _tmp16_; PamacAlpmPackageLinked* _tmp17_; PamacAlpmPackageLinked* _tmp18_; _tmp10_ = self->priv->pkgs_cache; _tmp11_ = pkgname; _tmp12_ = app_name; _tmp13_ = g_strdup_printf ("%s/%s", _tmp11_, _tmp12_); _tmp14_ = _tmp13_; _tmp15_ = g_hash_table_lookup (_tmp10_, _tmp14_); _tmp16_ = _g_object_ref0 ((PamacAlpmPackageLinked*) _tmp15_); _tmp17_ = _tmp16_; _g_free0 (_tmp14_); pkg = _tmp17_; _tmp18_ = pkg; if (_tmp18_ != NULL) { GPtrArray* _tmp19_; PamacAlpmPackageLinked* _tmp20_; _tmp19_ = pkgs; _tmp20_ = pkg; g_ptr_array_add (_tmp19_, (PamacAlpmPackage*) _tmp20_); _g_object_unref0 (pkg); continue; } _g_object_unref0 (pkg); } _tmp21_ = self->priv->alpm_handle; _tmp22_ = alpm_get_localdb (_tmp21_); _tmp23_ = _tmp22_; _tmp24_ = pkgname; _tmp25_ = alpm_db_get_pkg (_tmp23_, _tmp24_); local_pkg = _tmp25_; _tmp26_ = local_pkg; if (_tmp26_ != NULL) { PamacAlpmPackageLinked* pkg = NULL; alpm_pkg_t* _tmp27_; PamacAlpmPackageLinked* _tmp28_; PamacAlpmPackageLinked* _tmp29_; alpm_pkg_t* _tmp30_; PamacAlpmPackageLinked* _tmp31_; PamacApp* _tmp32_; GPtrArray* _tmp33_; PamacAlpmPackageLinked* _tmp34_; GHashTable* _tmp35_; PamacAlpmPackageLinked* _tmp36_; const gchar* _tmp37_; const gchar* _tmp38_; PamacAlpmPackageLinked* _tmp39_; PamacAlpmPackageLinked* _tmp40_; _tmp27_ = local_pkg; _tmp28_ = pamac_alpm_package_linked_new_from_alpm (_tmp27_, self); pkg = _tmp28_; _tmp29_ = pkg; _tmp30_ = local_pkg; pamac_alpm_package_linked_set_local_pkg (_tmp29_, _tmp30_); _tmp31_ = pkg; _tmp32_ = app; pamac_alpm_package_linked_set_app (_tmp31_, _tmp32_); _tmp33_ = pkgs; _tmp34_ = pkg; g_ptr_array_add (_tmp33_, (PamacAlpmPackage*) _tmp34_); _tmp35_ = self->priv->pkgs_cache; _tmp36_ = pkg; _tmp37_ = pamac_package_get_id ((PamacPackage*) _tmp36_); _tmp38_ = _tmp37_; _tmp39_ = pkg; _tmp40_ = _g_object_ref0 (_tmp39_); g_hash_table_replace (_tmp35_, _tmp38_, _tmp40_); _g_object_unref0 (pkg); } else { alpm_pkg_t* sync_pkg = NULL; alpm_handle_t* _tmp41_; const gchar* _tmp42_; alpm_pkg_t* _tmp43_; alpm_pkg_t* _tmp44_; _tmp41_ = self->priv->alpm_handle; _tmp42_ = pkgname; _tmp43_ = pamac_database_get_syncpkg (self, _tmp41_, _tmp42_); sync_pkg = _tmp43_; _tmp44_ = sync_pkg; if (_tmp44_ != NULL) { PamacAlpmPackageLinked* pkg = NULL; alpm_pkg_t* _tmp45_; PamacAlpmPackageLinked* _tmp46_; PamacAlpmPackageLinked* _tmp47_; alpm_pkg_t* _tmp48_; PamacAlpmPackageLinked* _tmp49_; alpm_pkg_t* _tmp50_; PamacAlpmPackageLinked* _tmp51_; PamacApp* _tmp52_; GPtrArray* _tmp53_; PamacAlpmPackageLinked* _tmp54_; GHashTable* _tmp55_; PamacAlpmPackageLinked* _tmp56_; const gchar* _tmp57_; const gchar* _tmp58_; PamacAlpmPackageLinked* _tmp59_; PamacAlpmPackageLinked* _tmp60_; _tmp45_ = sync_pkg; _tmp46_ = pamac_alpm_package_linked_new_from_alpm (_tmp45_, self); pkg = _tmp46_; _tmp47_ = pkg; _tmp48_ = local_pkg; pamac_alpm_package_linked_set_local_pkg (_tmp47_, _tmp48_); _tmp49_ = pkg; _tmp50_ = sync_pkg; pamac_alpm_package_linked_set_sync_pkg (_tmp49_, _tmp50_); _tmp51_ = pkg; _tmp52_ = app; pamac_alpm_package_linked_set_app (_tmp51_, _tmp52_); _tmp53_ = pkgs; _tmp54_ = pkg; g_ptr_array_add (_tmp53_, (PamacAlpmPackage*) _tmp54_); _tmp55_ = self->priv->pkgs_cache; _tmp56_ = pkg; _tmp57_ = pamac_package_get_id ((PamacPackage*) _tmp56_); _tmp58_ = _tmp57_; _tmp59_ = pkg; _tmp60_ = _g_object_ref0 (_tmp59_); g_hash_table_replace (_tmp55_, _tmp58_, _tmp60_); _g_object_unref0 (pkg); } } } result = pkgs; return result; } static void pamac_database_get_category_pkgs_async_data_free (gpointer _data) { PamacDatabaseGetCategoryPkgsAsyncData* _data_; _data_ = _data; _g_free0 (_data_->category); _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetCategoryPkgsAsyncData, _data_); } void pamac_database_get_category_pkgs_async (PamacDatabase* self, const gchar* category, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetCategoryPkgsAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (category != NULL); _data_ = g_slice_new0 (PamacDatabaseGetCategoryPkgsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_category_pkgs_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (category); _g_free0 (_data_->category); _data_->category = _tmp1_; pamac_database_get_category_pkgs_async_co (_data_); } GPtrArray* pamac_database_get_category_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetCategoryPkgsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block40Data* block40_data_ref (Block40Data* _data40_) { g_atomic_int_inc (&_data40_->_ref_count_); return _data40_; } static void block40_data_unref (void * _userdata_) { Block40Data* _data40_; _data40_ = (Block40Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data40_->_ref_count_)) { PamacDatabase* self; self = _data40_->self; _g_ptr_array_unref0 (_data40_->pkgs); _g_object_unref0 (self); g_slice_free (Block40Data, _data40_); } } static Block41Data* block41_data_ref (Block41Data* _data41_) { g_atomic_int_inc (&_data41_->_ref_count_); return _data41_; } static void block41_data_unref (void * _userdata_) { Block41Data* _data41_; _data41_ = (Block41Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data41_->_ref_count_)) { PamacDatabase* self; self = _data41_->_data40_->self; _g_free0 (_data41_->category_copy); block40_data_unref (_data41_->_data40_); _data41_->_data40_ = NULL; g_slice_free (Block41Data, _data41_); } } static gboolean _pamac_database_get_category_pkgs_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_category_pkgs_async_co (self); return result; } static gint ____lambda21_ (Block41Data* _data41_) { Block40Data* _data40_; PamacDatabase* self; GMainContext* _tmp17_; GError* _inner_error0_ = NULL; gint result; _data40_ = _data41_->_data40_; self = _data40_->self; { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { const gchar* _tmp1_; const gchar* _tmp2_; GQuark _tmp4_ = 0U; static GQuark _tmp3_label0 = 0; static GQuark _tmp3_label1 = 0; static GQuark _tmp3_label2 = 0; static GQuark _tmp3_label3 = 0; static GQuark _tmp3_label4 = 0; static GQuark _tmp3_label5 = 0; static GQuark _tmp3_label6 = 0; static GQuark _tmp3_label7 = 0; static GQuark _tmp3_label8 = 0; _tmp1_ = _data41_->category_copy; _tmp2_ = _tmp1_; _tmp4_ = (NULL == _tmp2_) ? 0 : g_quark_from_string (_tmp2_); if (_tmp4_ == ((0 != _tmp3_label0) ? _tmp3_label0 : (_tmp3_label0 = g_quark_from_static_string ("Featured")))) { switch (0) { default: { GHashTable* featured_apps = NULL; PamacAppstreamPlugin* _tmp5_; const gchar* _tmp6_; GHashTable* _tmp7_; GHashTable* _tmp8_; GPtrArray* _tmp9_; _tmp5_ = self->priv->appstream_plugin; _tmp6_ = _data41_->category_copy; _tmp7_ = pamac_appstream_plugin_get_category_apps (_tmp5_, _tmp6_); featured_apps = _tmp7_; _tmp8_ = featured_apps; _tmp9_ = pamac_database_get_apps_pkgs (self, _tmp8_); _g_ptr_array_unref0 (_data40_->pkgs); _data40_->pkgs = _tmp9_; _g_hash_table_unref0 (featured_apps); break; } } } else if ((((((((_tmp4_ == ((0 != _tmp3_label1) ? _tmp3_label1 : (_tmp3_label1 = g_quark_from_static_string ("Photo & Video")))) || (_tmp4_ == ((0 != _tmp3_label2) ? _tmp3_label2 : (_tmp3_label2 = g_quark_from_static_string ("Music & Audio"))))) || (_tmp4_ == ((0 != _tmp3_label3) ? _tmp3_label3 : (_tmp3_label3 = g_quark_from_static_string ("Productivity"))))) || (_tmp4_ == ((0 != _tmp3_label4) ? _tmp3_label4 : (_tmp3_label4 = g_quark_from_static_string ("Communication & News"))))) || (_tmp4_ == ((0 != _tmp3_label5) ? _tmp3_label5 : (_tmp3_label5 = g_quark_from_static_string ("Education & Science"))))) || (_tmp4_ == ((0 != _tmp3_label6) ? _tmp3_label6 : (_tmp3_label6 = g_quark_from_static_string ("Games"))))) || (_tmp4_ == ((0 != _tmp3_label7) ? _tmp3_label7 : (_tmp3_label7 = g_quark_from_static_string ("Utilities"))))) || (_tmp4_ == ((0 != _tmp3_label8) ? _tmp3_label8 : (_tmp3_label8 = g_quark_from_static_string ("Development"))))) { switch (0) { default: { GHashTable* category_apps = NULL; PamacAppstreamPlugin* _tmp10_; const gchar* _tmp11_; GHashTable* _tmp12_; GHashTable* _tmp13_; GPtrArray* _tmp14_; _tmp10_ = self->priv->appstream_plugin; _tmp11_ = _data41_->category_copy; _tmp12_ = pamac_appstream_plugin_get_category_apps (_tmp10_, _tmp11_); category_apps = _tmp12_; _tmp13_ = category_apps; _tmp14_ = pamac_database_get_apps_pkgs (self, _tmp13_); _g_ptr_array_unref0 (_data40_->pkgs); _data40_->pkgs = _tmp14_; _g_hash_table_unref0 (category_apps); break; } } } else { switch (0) { default: { break; } } } } __finally0: { AlpmConfig* _tmp15_; _tmp15_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { gint _tmp16_ = -1; 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 _tmp16_; } } _tmp17_ = self->priv->_context; g_main_context_invoke_full (_tmp17_, G_PRIORITY_DEFAULT, _pamac_database_get_category_pkgs_async_co_gsource_func, _data40_->_async_data_, NULL); result = 0; return result; } static gpointer _____lambda21__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ____lambda21_ (self)); block41_data_unref (self); return result; } static gboolean pamac_database_get_category_pkgs_async_co (PamacDatabaseGetCategoryPkgsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data40_ = g_slice_new0 (Block40Data); _data_->_data40_->_ref_count_ = 1; _data_->_data40_->self = g_object_ref (_data_->self); _data_->_data40_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data40_->pkgs = _data_->_tmp0_; _data_->_tmp1_ = _data_->self->priv->_config; _data_->_tmp2_ = pamac_config_get_enable_appstream (_data_->_tmp1_); _data_->_tmp3_ = _data_->_tmp2_; if (_data_->_tmp3_) { _data_->_data41_ = g_slice_new0 (Block41Data); _data_->_data41_->_ref_count_ = 1; _data_->_data41_->_data40_ = block40_data_ref (_data_->_data40_); _data_->_tmp4_ = g_strdup (_data_->category); _data_->_data41_->category_copy = _data_->_tmp4_; { _data_->_tmp5_ = g_thread_try_new ("get_category_pkgs", _____lambda21__gthread_func, block41_data_ref (_data_->_data41_), &_data_->_inner_error0_); _data_->_tmp6_ = _data_->_tmp5_; _g_thread_unref0 (_data_->_tmp6_); 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_->_tmp7_ = _data_->e; _data_->_tmp8_ = _data_->_tmp7_->message; g_warning ("database.vala:1477: %s", _data_->_tmp8_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block41_data_unref (_data_->_data41_); _data_->_data41_ = NULL; block40_data_unref (_data_->_data40_); _data_->_data40_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } block41_data_unref (_data_->_data41_); _data_->_data41_ = NULL; } _data_->_tmp9_ = _data_->_data40_->pkgs; _data_->_tmp10_ = _g_ptr_array_ref0 (_data_->_tmp9_); _data_->result = _data_->_tmp10_; block40_data_unref (_data_->_data40_); _data_->_data40_ = NULL; 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; } GPtrArray* pamac_database_get_repos_names (PamacDatabase* self) { GPtrArray* _tmp0_; GPtrArray* _tmp2_; alpm_list_t* syncdbs = NULL; alpm_handle_t* _tmp3_; alpm_list_t* _tmp4_; alpm_list_t* _tmp5_; GPtrArray* _tmp14_; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->repos_names; if (_tmp0_ != NULL) { GPtrArray* _tmp1_; _tmp1_ = self->priv->repos_names; result = _tmp1_; return result; } _tmp2_ = g_ptr_array_new_full ((guint) 0, _g_free0_); _g_ptr_array_unref0 (self->priv->repos_names); self->priv->repos_names = _tmp2_; _tmp3_ = self->priv->alpm_handle; _tmp4_ = alpm_get_syncdbs (_tmp3_); _tmp5_ = _tmp4_; syncdbs = _tmp5_; while (TRUE) { alpm_list_t* _tmp6_; alpm_db_t* db = NULL; alpm_list_t* _tmp7_; gconstpointer _tmp8_; GPtrArray* _tmp9_; alpm_db_t* _tmp10_; const gchar* _tmp11_; const gchar* _tmp12_; gchar* _tmp13_; _tmp6_ = syncdbs; if (!(_tmp6_ != NULL)) { break; } _tmp7_ = syncdbs; _tmp8_ = _tmp7_->data; db = (alpm_db_t*) _tmp8_; _tmp9_ = self->priv->repos_names; _tmp10_ = db; _tmp11_ = alpm_db_get_name (_tmp10_); _tmp12_ = _tmp11_; _tmp13_ = g_strdup (_tmp12_); g_ptr_array_add (_tmp9_, _tmp13_); syncdbs = alpm_list_next (syncdbs); } _tmp14_ = self->priv->repos_names; result = _tmp14_; return result; } static void pamac_database_get_repo_pkgs_real (PamacDatabase* self, const gchar* repo, GPtrArray** pkgs) { GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (repo != NULL); g_return_if_fail (*pkgs != NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_list_t* syncdbs = NULL; alpm_handle_t* _tmp1_; alpm_list_t* _tmp2_; alpm_list_t* _tmp3_; _tmp1_ = self->priv->alpm_handle; _tmp2_ = alpm_get_syncdbs (_tmp1_); _tmp3_ = _tmp2_; syncdbs = _tmp3_; while (TRUE) { alpm_list_t* _tmp4_; alpm_db_t* db = NULL; alpm_list_t* _tmp5_; gconstpointer _tmp6_; alpm_db_t* _tmp7_; const gchar* _tmp8_; const gchar* _tmp9_; _tmp4_ = syncdbs; if (!(_tmp4_ != NULL)) { break; } _tmp5_ = syncdbs; _tmp6_ = _tmp5_->data; db = (alpm_db_t*) _tmp6_; _tmp7_ = db; _tmp8_ = alpm_db_get_name (_tmp7_); _tmp9_ = _tmp8_; if (g_strcmp0 (_tmp9_, repo) == 0) { alpm_list_t* pkgcache = NULL; alpm_db_t* _tmp10_; alpm_list_t* _tmp11_; alpm_list_t* _tmp12_; _tmp10_ = db; _tmp11_ = alpm_db_get_pkgcache (_tmp10_); _tmp12_ = _tmp11_; pkgcache = _tmp12_; while (TRUE) { alpm_list_t* _tmp13_; alpm_pkg_t* sync_pkg = NULL; alpm_list_t* _tmp14_; gconstpointer _tmp15_; alpm_pkg_t* local_pkg = NULL; alpm_handle_t* _tmp16_; alpm_db_t* _tmp17_; alpm_db_t* _tmp18_; alpm_pkg_t* _tmp19_; const gchar* _tmp20_; const gchar* _tmp21_; alpm_pkg_t* _tmp22_; alpm_pkg_t* _tmp23_; _tmp13_ = pkgcache; if (!(_tmp13_ != NULL)) { break; } _tmp14_ = pkgcache; _tmp15_ = _tmp14_->data; sync_pkg = (alpm_pkg_t*) _tmp15_; _tmp16_ = self->priv->alpm_handle; _tmp17_ = alpm_get_localdb (_tmp16_); _tmp18_ = _tmp17_; _tmp19_ = sync_pkg; _tmp20_ = alpm_pkg_get_name (_tmp19_); _tmp21_ = _tmp20_; _tmp22_ = alpm_db_get_pkg (_tmp18_, _tmp21_); local_pkg = _tmp22_; _tmp23_ = local_pkg; if (_tmp23_ != NULL) { PamacAlpmPackage* new_pkg = NULL; alpm_pkg_t* _tmp24_; alpm_pkg_t* _tmp25_; PamacAlpmPackage* _tmp26_; PamacAlpmPackage* _tmp27_; _tmp24_ = local_pkg; _tmp25_ = sync_pkg; _tmp26_ = pamac_database_initialise_pkg (self, _tmp24_, _tmp25_); new_pkg = _tmp26_; _tmp27_ = new_pkg; g_ptr_array_add (*pkgs, _tmp27_); } else { PamacAlpmPackage* new_pkg = NULL; alpm_pkg_t* _tmp28_; alpm_pkg_t* _tmp29_; PamacAlpmPackage* _tmp30_; PamacAlpmPackage* _tmp31_; _tmp28_ = sync_pkg; _tmp29_ = sync_pkg; _tmp30_ = pamac_database_initialise_pkg (self, _tmp28_, _tmp29_); new_pkg = _tmp30_; _tmp31_ = new_pkg; g_ptr_array_add (*pkgs, _tmp31_); } pkgcache = alpm_list_next (pkgcache); } break; } syncdbs = alpm_list_next (syncdbs); } } __finally0: { AlpmConfig* _tmp32_; _tmp32_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } } GPtrArray* pamac_database_get_repo_pkgs (PamacDatabase* self, const gchar* repo) { GPtrArray* pkgs = NULL; GPtrArray* _tmp0_; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (repo != NULL, NULL); _tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); pkgs = _tmp0_; pamac_database_get_repo_pkgs_real (self, repo, &pkgs); result = pkgs; return result; } static void pamac_database_get_repo_pkgs_async_data_free (gpointer _data) { PamacDatabaseGetRepoPkgsAsyncData* _data_; _data_ = _data; _g_free0 (_data_->repo); _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetRepoPkgsAsyncData, _data_); } void pamac_database_get_repo_pkgs_async (PamacDatabase* self, const gchar* repo, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetRepoPkgsAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (repo != NULL); _data_ = g_slice_new0 (PamacDatabaseGetRepoPkgsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_repo_pkgs_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (repo); _g_free0 (_data_->repo); _data_->repo = _tmp1_; pamac_database_get_repo_pkgs_async_co (_data_); } GPtrArray* pamac_database_get_repo_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetRepoPkgsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block42Data* block42_data_ref (Block42Data* _data42_) { g_atomic_int_inc (&_data42_->_ref_count_); return _data42_; } static void block42_data_unref (void * _userdata_) { Block42Data* _data42_; _data42_ = (Block42Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data42_->_ref_count_)) { PamacDatabase* self; self = _data42_->self; _g_free0 (_data42_->repo_copy); _g_ptr_array_unref0 (_data42_->pkgs); _g_object_unref0 (self); g_slice_free (Block42Data, _data42_); } } static gboolean _pamac_database_get_repo_pkgs_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_repo_pkgs_async_co (self); return result; } static gint ___lambda22_ (Block42Data* _data42_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data42_->self; pamac_database_get_repo_pkgs_real (self, _data42_->repo_copy, &_data42_->pkgs); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_get_repo_pkgs_async_co_gsource_func, _data42_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda22__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda22_ (self)); block42_data_unref (self); return result; } static gboolean pamac_database_get_repo_pkgs_async_co (PamacDatabaseGetRepoPkgsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data42_ = g_slice_new0 (Block42Data); _data_->_data42_->_ref_count_ = 1; _data_->_data42_->self = g_object_ref (_data_->self); _data_->_data42_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data42_->pkgs = _data_->_tmp0_; _data_->_tmp1_ = g_strdup (_data_->repo); _data_->_data42_->repo_copy = _data_->_tmp1_; { _data_->_tmp2_ = g_thread_try_new ("get_repo_pkgs", ____lambda22__gthread_func, block42_data_ref (_data_->_data42_), &_data_->_inner_error0_); _data_->_tmp3_ = _data_->_tmp2_; _g_thread_unref0 (_data_->_tmp3_); 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_->_tmp4_ = _data_->e; _data_->_tmp5_ = _data_->_tmp4_->message; g_warning ("database.vala:1540: %s", _data_->_tmp5_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block42_data_unref (_data_->_data42_); _data_->_data42_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp6_ = _g_ptr_array_ref0 (_data_->_data42_->pkgs); _data_->result = _data_->_tmp6_; block42_data_unref (_data_->_data42_); _data_->_data42_ = NULL; 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; } GPtrArray* pamac_database_get_groups_names (PamacDatabase* self) { GPtrArray* _tmp0_; GPtrArray* _tmp2_; GPtrArray* _tmp37_; GCompareFunc _tmp38_; GPtrArray* _tmp39_; GError* _inner_error0_ = NULL; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->groups_names; if (_tmp0_ != NULL) { GPtrArray* _tmp1_; _tmp1_ = self->priv->groups_names; result = _tmp1_; return result; } _tmp2_ = g_ptr_array_new_full ((guint) 0, _g_free0_); _g_ptr_array_unref0 (self->priv->groups_names); self->priv->groups_names = _tmp2_; { AlpmConfig* _tmp3_; _tmp3_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_list_t* groupcache = NULL; alpm_handle_t* _tmp4_; alpm_db_t* _tmp5_; alpm_db_t* _tmp6_; alpm_list_t* _tmp7_; alpm_list_t* _tmp8_; alpm_list_t* syncdbs = NULL; alpm_handle_t* _tmp16_; alpm_list_t* _tmp17_; alpm_list_t* _tmp18_; _tmp4_ = self->priv->alpm_handle; _tmp5_ = alpm_get_localdb (_tmp4_); _tmp6_ = _tmp5_; _tmp7_ = alpm_db_get_groupcache (_tmp6_); _tmp8_ = _tmp7_; groupcache = _tmp8_; while (TRUE) { alpm_list_t* _tmp9_; alpm_group_t* group = NULL; alpm_list_t* _tmp10_; gconstpointer _tmp11_; GPtrArray* _tmp12_; alpm_group_t* _tmp13_; const gchar* _tmp14_; gchar* _tmp15_; _tmp9_ = groupcache; if (!(_tmp9_ != NULL)) { break; } _tmp10_ = groupcache; _tmp11_ = _tmp10_->data; group = (alpm_group_t*) _tmp11_; _tmp12_ = self->priv->groups_names; _tmp13_ = group; _tmp14_ = _tmp13_->name; _tmp15_ = g_strdup (_tmp14_); g_ptr_array_add (_tmp12_, _tmp15_); groupcache = alpm_list_next (groupcache); } _tmp16_ = self->priv->alpm_handle; _tmp17_ = alpm_get_syncdbs (_tmp16_); _tmp18_ = _tmp17_; syncdbs = _tmp18_; while (TRUE) { alpm_list_t* _tmp19_; alpm_db_t* db = NULL; alpm_list_t* _tmp20_; gconstpointer _tmp21_; alpm_db_t* _tmp22_; alpm_list_t* _tmp23_; alpm_list_t* _tmp24_; _tmp19_ = syncdbs; if (!(_tmp19_ != NULL)) { break; } _tmp20_ = syncdbs; _tmp21_ = _tmp20_->data; db = (alpm_db_t*) _tmp21_; _tmp22_ = db; _tmp23_ = alpm_db_get_groupcache (_tmp22_); _tmp24_ = _tmp23_; groupcache = _tmp24_; while (TRUE) { alpm_list_t* _tmp25_; alpm_group_t* group = NULL; alpm_list_t* _tmp26_; gconstpointer _tmp27_; GPtrArray* _tmp28_; alpm_group_t* _tmp29_; const gchar* _tmp30_; GEqualFunc _tmp31_; _tmp25_ = groupcache; if (!(_tmp25_ != NULL)) { break; } _tmp26_ = groupcache; _tmp27_ = _tmp26_->data; group = (alpm_group_t*) _tmp27_; _tmp28_ = self->priv->groups_names; _tmp29_ = group; _tmp30_ = _tmp29_->name; _tmp31_ = g_str_equal; if (!g_ptr_array_find_with_equal_func (_tmp28_, _tmp30_, _tmp31_, NULL)) { GPtrArray* _tmp32_; alpm_group_t* _tmp33_; const gchar* _tmp34_; gchar* _tmp35_; _tmp32_ = self->priv->groups_names; _tmp33_ = group; _tmp34_ = _tmp33_->name; _tmp35_ = g_strdup (_tmp34_); g_ptr_array_add (_tmp32_, _tmp35_); } groupcache = alpm_list_next (groupcache); } syncdbs = alpm_list_next (syncdbs); } } __finally0: { AlpmConfig* _tmp36_; _tmp36_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } _tmp37_ = self->priv->groups_names; _tmp38_ = ((GCompareFunc) g_strcmp0); vala_g_ptr_array_sort (_tmp37_, _tmp38_); _tmp39_ = self->priv->groups_names; result = _tmp39_; return result; } static gint _pkg_compare_name_gcompare_func (gconstpointer a, gconstpointer b) { gint result; result = pkg_compare_name ((PamacPackage*) a, (PamacPackage*) b); return result; } static void pamac_database_get_group_pkgs_real (PamacDatabase* self, const gchar* group_name, GPtrArray** pkgs) { GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (group_name != NULL); g_return_if_fail (*pkgs != NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_list_t* alpm_pkgs = NULL; gint dbs_found = 0; alpm_group_t* grp = NULL; alpm_handle_t* _tmp1_; alpm_db_t* _tmp2_; alpm_db_t* _tmp3_; alpm_group_t* _tmp4_; alpm_group_t* _tmp5_; alpm_list_t* syncdbs = NULL; alpm_handle_t* _tmp13_; alpm_list_t* _tmp14_; alpm_list_t* _tmp15_; alpm_list_t* _tmp32_; alpm_pkgs = NULL; dbs_found = 0; _tmp1_ = self->priv->alpm_handle; _tmp2_ = alpm_get_localdb (_tmp1_); _tmp3_ = _tmp2_; _tmp4_ = alpm_db_get_group (_tmp3_, group_name); grp = _tmp4_; _tmp5_ = grp; if (_tmp5_ != NULL) { gint _tmp6_; alpm_list_t* packages = NULL; alpm_group_t* _tmp7_; alpm_list_t* _tmp8_; _tmp6_ = dbs_found; dbs_found = _tmp6_ + 1; _tmp7_ = grp; _tmp8_ = _tmp7_->packages; packages = _tmp8_; while (TRUE) { alpm_list_t* _tmp9_; alpm_pkg_t* local_pkg = NULL; alpm_list_t* _tmp10_; gconstpointer _tmp11_; alpm_pkg_t* _tmp12_; _tmp9_ = packages; if (!(_tmp9_ != NULL)) { break; } _tmp10_ = packages; _tmp11_ = _tmp10_->data; local_pkg = (alpm_pkg_t*) _tmp11_; _tmp12_ = local_pkg; alpm_pkgs = alpm_list_add (alpm_pkgs, _tmp12_); packages = alpm_list_next (packages); } } _tmp13_ = self->priv->alpm_handle; _tmp14_ = alpm_get_syncdbs (_tmp13_); _tmp15_ = _tmp14_; syncdbs = _tmp15_; while (TRUE) { alpm_list_t* _tmp16_; alpm_db_t* db = NULL; alpm_list_t* _tmp17_; gconstpointer _tmp18_; alpm_db_t* _tmp19_; alpm_group_t* _tmp20_; alpm_group_t* _tmp21_; _tmp16_ = syncdbs; if (!(_tmp16_ != NULL)) { break; } _tmp17_ = syncdbs; _tmp18_ = _tmp17_->data; db = (alpm_db_t*) _tmp18_; _tmp19_ = db; _tmp20_ = alpm_db_get_group (_tmp19_, group_name); grp = _tmp20_; _tmp21_ = grp; if (_tmp21_ != NULL) { gint _tmp22_; alpm_list_t* packages = NULL; alpm_group_t* _tmp23_; alpm_list_t* _tmp24_; _tmp22_ = dbs_found; dbs_found = _tmp22_ + 1; _tmp23_ = grp; _tmp24_ = _tmp23_->packages; packages = _tmp24_; while (TRUE) { alpm_list_t* _tmp25_; alpm_pkg_t* pkg = NULL; alpm_list_t* _tmp26_; gconstpointer _tmp27_; alpm_list_t* _tmp28_; alpm_pkg_t* _tmp29_; gconstpointer _tmp30_; _tmp25_ = packages; if (!(_tmp25_ != NULL)) { break; } _tmp26_ = packages; _tmp27_ = _tmp26_->data; pkg = (alpm_pkg_t*) _tmp27_; _tmp28_ = alpm_pkgs; _tmp29_ = pkg; _tmp30_ = alpm_list_find (_tmp28_, _tmp29_, (alpm_list_fn_cmp) alpm_pkg_compare_name); if (((alpm_pkg_t*) _tmp30_) == NULL) { alpm_pkg_t* _tmp31_; _tmp31_ = pkg; alpm_pkgs = alpm_list_add (alpm_pkgs, _tmp31_); } packages = alpm_list_next (packages); } } syncdbs = alpm_list_next (syncdbs); } _tmp32_ = alpm_pkgs; pamac_database_initialise_pkgs (self, _tmp32_, pkgs); if (dbs_found > 1) { vala_g_ptr_array_sort (*pkgs, _pkg_compare_name_gcompare_func); } _alpm_list_free0 (alpm_pkgs); } __finally0: { AlpmConfig* _tmp33_; _tmp33_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } } GPtrArray* pamac_database_get_group_pkgs (PamacDatabase* self, const gchar* group_name) { GPtrArray* pkgs = NULL; GPtrArray* _tmp0_; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (group_name != NULL, NULL); _tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); pkgs = _tmp0_; pamac_database_get_group_pkgs_real (self, group_name, &pkgs); result = pkgs; return result; } static void pamac_database_get_group_pkgs_async_data_free (gpointer _data) { PamacDatabaseGetGroupPkgsAsyncData* _data_; _data_ = _data; _g_free0 (_data_->group_name); _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetGroupPkgsAsyncData, _data_); } void pamac_database_get_group_pkgs_async (PamacDatabase* self, const gchar* group_name, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetGroupPkgsAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (group_name != NULL); _data_ = g_slice_new0 (PamacDatabaseGetGroupPkgsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_group_pkgs_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (group_name); _g_free0 (_data_->group_name); _data_->group_name = _tmp1_; pamac_database_get_group_pkgs_async_co (_data_); } GPtrArray* pamac_database_get_group_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetGroupPkgsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block43Data* block43_data_ref (Block43Data* _data43_) { g_atomic_int_inc (&_data43_->_ref_count_); return _data43_; } static void block43_data_unref (void * _userdata_) { Block43Data* _data43_; _data43_ = (Block43Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data43_->_ref_count_)) { PamacDatabase* self; self = _data43_->self; _g_free0 (_data43_->group_name_copy); _g_ptr_array_unref0 (_data43_->pkgs); _g_object_unref0 (self); g_slice_free (Block43Data, _data43_); } } static gboolean _pamac_database_get_group_pkgs_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_group_pkgs_async_co (self); return result; } static gint ___lambda23_ (Block43Data* _data43_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data43_->self; pamac_database_get_group_pkgs_real (self, _data43_->group_name_copy, &_data43_->pkgs); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_get_group_pkgs_async_co_gsource_func, _data43_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda23__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda23_ (self)); block43_data_unref (self); return result; } static gboolean pamac_database_get_group_pkgs_async_co (PamacDatabaseGetGroupPkgsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data43_ = g_slice_new0 (Block43Data); _data_->_data43_->_ref_count_ = 1; _data_->_data43_->self = g_object_ref (_data_->self); _data_->_data43_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data43_->pkgs = _data_->_tmp0_; _data_->_tmp1_ = g_strdup (_data_->group_name); _data_->_data43_->group_name_copy = _data_->_tmp1_; { _data_->_tmp2_ = g_thread_try_new ("get_group_pkgs", ____lambda23__gthread_func, block43_data_ref (_data_->_data43_), &_data_->_inner_error0_); _data_->_tmp3_ = _data_->_tmp2_; _g_thread_unref0 (_data_->_tmp3_); 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_->_tmp4_ = _data_->e; _data_->_tmp5_ = _data_->_tmp4_->message; g_warning ("database.vala:1630: %s", _data_->_tmp5_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block43_data_unref (_data_->_data43_); _data_->_data43_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp6_ = _g_ptr_array_ref0 (_data_->_data43_->pkgs); _data_->result = _data_->_tmp6_; block43_data_unref (_data_->_data43_); _data_->_data43_ = NULL; 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; } PamacAlpmPackage* pamac_database_get_pkg (PamacDatabase* self, const gchar* pkgname) { PamacAlpmPackage* _tmp1_; PamacAlpmPackage* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (pkgname != NULL, NULL); if (pamac_database_is_installed_pkg (self, pkgname)) { PamacAlpmPackage* _tmp0_; _tmp0_ = pamac_database_get_installed_pkg (self, pkgname); result = _tmp0_; return result; } _tmp1_ = pamac_database_get_sync_pkg (self, pkgname); result = _tmp1_; return result; } static void pamac_database_get_pkg_files_real (PamacDatabase* self, const gchar* pkgname, alpm_pkg_t* local_pkg, GPtrArray** files) { GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (pkgname != NULL); g_return_if_fail (*files != NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { if (local_pkg != NULL) { alpm_filelist_t* filelist = NULL; alpm_filelist_t* _tmp1_; alpm_filelist_t* _tmp2_; alpm_file_t* file_ptr = NULL; alpm_filelist_t* _tmp3_; alpm_file_t* _tmp4_; _tmp1_ = alpm_pkg_get_files (local_pkg); _tmp2_ = _tmp1_; filelist = _tmp2_; _tmp3_ = filelist; _tmp4_ = _tmp3_->files; file_ptr = _tmp4_; { gsize i = 0UL; i = (gsize) 0; { gboolean _tmp5_ = FALSE; _tmp5_ = TRUE; while (TRUE) { alpm_filelist_t* _tmp8_; alpm_file_t* _tmp9_; const gchar* _tmp10_; if (!_tmp5_) { gsize _tmp6_; alpm_file_t* _tmp7_; _tmp6_ = i; i = _tmp6_ + 1; _tmp7_ = file_ptr; file_ptr = _tmp7_ + 1; } _tmp5_ = FALSE; _tmp8_ = filelist; if (!(i < _tmp8_->count)) { break; } _tmp9_ = file_ptr; _tmp10_ = _tmp9_->name; if (!g_str_has_suffix (_tmp10_, "/")) { GString* filename = NULL; alpm_handle_t* _tmp11_; const gchar* _tmp12_; const gchar* _tmp13_; GString* _tmp14_; GString* _tmp15_; alpm_file_t* _tmp16_; const gchar* _tmp17_; GString* _tmp18_; gchar* _tmp19_; _tmp11_ = self->priv->alpm_handle; _tmp12_ = alpm_option_get_root (_tmp11_); _tmp13_ = _tmp12_; _tmp14_ = g_string_new (_tmp13_); filename = _tmp14_; _tmp15_ = filename; _tmp16_ = file_ptr; _tmp17_ = _tmp16_->name; g_string_append (_tmp15_, _tmp17_); _tmp18_ = filename; _tmp19_ = _tmp18_->str; _tmp18_->str = NULL; g_ptr_array_add (*files, _tmp19_); _g_string_free0 (filename); } } } } } else { alpm_list_t* syncdbs = NULL; alpm_handle_t* _tmp20_; alpm_list_t* _tmp21_; alpm_list_t* _tmp22_; _tmp20_ = self->priv->files_handle; _tmp21_ = alpm_get_syncdbs (_tmp20_); _tmp22_ = _tmp21_; syncdbs = _tmp22_; while (TRUE) { alpm_list_t* _tmp23_; alpm_db_t* db = NULL; alpm_list_t* _tmp24_; gconstpointer _tmp25_; alpm_pkg_t* files_pkg = NULL; alpm_db_t* _tmp26_; alpm_pkg_t* _tmp27_; alpm_pkg_t* _tmp28_; _tmp23_ = syncdbs; if (!(_tmp23_ != NULL)) { break; } _tmp24_ = syncdbs; _tmp25_ = _tmp24_->data; db = (alpm_db_t*) _tmp25_; _tmp26_ = db; _tmp27_ = alpm_db_get_pkg (_tmp26_, pkgname); files_pkg = _tmp27_; _tmp28_ = files_pkg; if (_tmp28_ != NULL) { alpm_filelist_t* filelist = NULL; alpm_pkg_t* _tmp29_; alpm_filelist_t* _tmp30_; alpm_filelist_t* _tmp31_; alpm_file_t* file_ptr = NULL; alpm_filelist_t* _tmp32_; alpm_file_t* _tmp33_; _tmp29_ = files_pkg; _tmp30_ = alpm_pkg_get_files (_tmp29_); _tmp31_ = _tmp30_; filelist = _tmp31_; _tmp32_ = filelist; _tmp33_ = _tmp32_->files; file_ptr = _tmp33_; { gsize i = 0UL; i = (gsize) 0; { gboolean _tmp34_ = FALSE; _tmp34_ = TRUE; while (TRUE) { alpm_filelist_t* _tmp37_; alpm_file_t* _tmp38_; const gchar* _tmp39_; if (!_tmp34_) { gsize _tmp35_; alpm_file_t* _tmp36_; _tmp35_ = i; i = _tmp35_ + 1; _tmp36_ = file_ptr; file_ptr = _tmp36_ + 1; } _tmp34_ = FALSE; _tmp37_ = filelist; if (!(i < _tmp37_->count)) { break; } _tmp38_ = file_ptr; _tmp39_ = _tmp38_->name; if (!g_str_has_suffix (_tmp39_, "/")) { GString* filename = NULL; alpm_handle_t* _tmp40_; const gchar* _tmp41_; const gchar* _tmp42_; GString* _tmp43_; GString* _tmp44_; alpm_file_t* _tmp45_; const gchar* _tmp46_; GString* _tmp47_; gchar* _tmp48_; _tmp40_ = self->priv->alpm_handle; _tmp41_ = alpm_option_get_root (_tmp40_); _tmp42_ = _tmp41_; _tmp43_ = g_string_new (_tmp42_); filename = _tmp43_; _tmp44_ = filename; _tmp45_ = file_ptr; _tmp46_ = _tmp45_->name; g_string_append (_tmp44_, _tmp46_); _tmp47_ = filename; _tmp48_ = _tmp47_->str; _tmp47_->str = NULL; g_ptr_array_add (*files, _tmp48_); _g_string_free0 (filename); } } } } break; } syncdbs = alpm_list_next (syncdbs); } } } __finally0: { AlpmConfig* _tmp49_; _tmp49_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } } GPtrArray* pamac_database_get_pkg_files (PamacDatabase* self, const gchar* pkgname, alpm_pkg_t* local_pkg) { GPtrArray* files = NULL; GPtrArray* _tmp0_; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (pkgname != NULL, NULL); _tmp0_ = g_ptr_array_new_full ((guint) 0, _g_free0_); files = _tmp0_; pamac_database_get_pkg_files_real (self, pkgname, local_pkg, &files); result = files; return result; } static void pamac_database_get_pkg_files_async_data_free (gpointer _data) { PamacDatabaseGetPkgFilesAsyncData* _data_; _data_ = _data; _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetPkgFilesAsyncData, _data_); } void pamac_database_get_pkg_files_async (PamacDatabase* self, const gchar* pkgname, alpm_pkg_t* local_pkg, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetPkgFilesAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (pkgname != NULL); _data_ = g_slice_new0 (PamacDatabaseGetPkgFilesAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_pkg_files_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (pkgname); _g_free0 (_data_->pkgname); _data_->pkgname = _tmp1_; _data_->local_pkg = local_pkg; pamac_database_get_pkg_files_async_co (_data_); } GPtrArray* pamac_database_get_pkg_files_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetPkgFilesAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block44Data* block44_data_ref (Block44Data* _data44_) { g_atomic_int_inc (&_data44_->_ref_count_); return _data44_; } static void block44_data_unref (void * _userdata_) { Block44Data* _data44_; _data44_ = (Block44Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data44_->_ref_count_)) { PamacDatabase* self; self = _data44_->self; _g_ptr_array_unref0 (_data44_->files); _g_free0 (_data44_->pkgname); _g_object_unref0 (self); g_slice_free (Block44Data, _data44_); } } static gboolean _pamac_database_get_pkg_files_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_pkg_files_async_co (self); return result; } static gint ___lambda4_ (Block44Data* _data44_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data44_->self; pamac_database_get_pkg_files_real (self, _data44_->pkgname, _data44_->local_pkg, &_data44_->files); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_get_pkg_files_async_co_gsource_func, _data44_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda4__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda4_ (self)); block44_data_unref (self); return result; } static gboolean pamac_database_get_pkg_files_async_co (PamacDatabaseGetPkgFilesAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data44_ = g_slice_new0 (Block44Data); _data_->_data44_->_ref_count_ = 1; _data_->_data44_->self = g_object_ref (_data_->self); _g_free0 (_data_->_data44_->pkgname); _data_->_data44_->pkgname = _data_->pkgname; _data_->_data44_->local_pkg = _data_->local_pkg; _data_->_data44_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, _g_free0_); _data_->_data44_->files = _data_->_tmp0_; { _data_->_tmp1_ = g_thread_try_new ("get_pkg_files", ____lambda4__gthread_func, block44_data_ref (_data_->_data44_), &_data_->_inner_error0_); _data_->_tmp2_ = _data_->_tmp1_; _g_thread_unref0 (_data_->_tmp2_); 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_->_tmp3_ = _data_->e; _data_->_tmp4_ = _data_->_tmp3_->message; g_warning ("database.vala:1693: %s", _data_->_tmp4_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block44_data_unref (_data_->_data44_); _data_->_data44_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp5_ = _g_ptr_array_ref0 (_data_->_data44_->files); _data_->result = _data_->_tmp5_; block44_data_unref (_data_->_data44_); _data_->_data44_ = NULL; 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 gint pamac_database_launch_subprocess (PamacDatabase* self, GSubprocessLauncher* launcher, GPtrArray* cmdline, GCancellable* cancellable) { gint status = 0; GError* _inner_error0_ = NULL; gint result; g_return_val_if_fail (self != NULL, 0); g_return_val_if_fail (launcher != NULL, 0); g_return_val_if_fail (cmdline != NULL, 0); status = 1; { gint _tmp0_; gint _tmp1_; GSubprocess* process = NULL; gpointer* _tmp2_; gint _tmp2__length1; GSubprocess* _tmp3_; _tmp0_ = vala_g_ptr_array_get_length (cmdline); _tmp1_ = _tmp0_; g_ptr_array_set_size (cmdline, _tmp1_ + 1); _tmp2_ = cmdline->pdata; _tmp2__length1 = cmdline->len; _tmp3_ = g_subprocess_launcher_spawnv (launcher, _tmp2_, &_inner_error0_); process = _tmp3_; if (G_UNLIKELY (_inner_error0_ != NULL)) { goto __catch0_g_error; } { GSubprocess* _tmp4_; GSubprocess* _tmp5_; _tmp4_ = process; g_subprocess_wait (_tmp4_, cancellable, &_inner_error0_); if (G_UNLIKELY (_inner_error0_ != NULL)) { goto __catch1_g_error; } _tmp5_ = process; if (g_subprocess_get_if_exited (_tmp5_)) { GSubprocess* _tmp6_; _tmp6_ = process; status = g_subprocess_get_exit_status (_tmp6_); } } goto __finally1; __catch1_g_error: { GSubprocess* _tmp7_; GSubprocess* _tmp8_; g_clear_error (&_inner_error0_); _tmp7_ = process; g_subprocess_send_signal (_tmp7_, (gint) SIGINT); _tmp8_ = process; g_subprocess_send_signal (_tmp8_, (gint) SIGKILL); result = 1; _g_object_unref0 (process); return result; } __finally1: if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (process); goto __catch0_g_error; } _g_object_unref0 (process); } goto __finally0; __catch0_g_error: { GError* e = NULL; GError* _tmp9_; const gchar* _tmp10_; e = _inner_error0_; _inner_error0_ = NULL; _tmp9_ = e; _tmp10_ = _tmp9_->message; g_warning ("database.vala:1716: %s", _tmp10_); _g_error_free0 (e); } __finally0: if (G_UNLIKELY (_inner_error0_ != NULL)) { gint _tmp11_ = -1; 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 _tmp11_; } result = status; return result; } static gpointer _g_strdup_gcopy_func (gconstpointer src, gpointer self) { gpointer result; result = g_strdup ((const gchar*) src); return result; } GFile* pamac_database_clone_build_files (PamacDatabase* self, const gchar* pkgname, gboolean overwrite_files, GCancellable* cancellable) { gint status = 0; GPtrArray* cmdline = NULL; GSubprocessLauncher* launcher = NULL; GSubprocessLauncher* _tmp0_; const gchar* real_aur_build_dir = NULL; PamacAURPlugin* _tmp1_; const gchar* _tmp2_; GFile* builddir = NULL; const gchar* _tmp3_; GFile* _tmp4_; GFile* _tmp5_; GPtrArray* dynamic_user_cmdline = NULL; const gchar* _tmp9_; GPtrArray* _tmp10_; GFile* pkgdir = NULL; GFile* _tmp11_; GFile* _tmp12_; GFile* _tmp13_; GSubprocessLauncher* _tmp157_; GPtrArray* _tmp158_; GError* _inner_error0_ = NULL; GFile* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (pkgname != NULL, NULL); status = 1; _tmp0_ = g_subprocess_launcher_new (G_SUBPROCESS_FLAGS_NONE); launcher = _tmp0_; _tmp1_ = self->priv->_aur_plugin; _tmp2_ = pamac_aur_plugin_get_real_build_dir (_tmp1_); real_aur_build_dir = _tmp2_; _tmp3_ = real_aur_build_dir; _tmp4_ = g_file_new_for_path (_tmp3_); builddir = _tmp4_; _tmp5_ = builddir; if (!g_file_query_exists (_tmp5_, NULL)) { { GFile* _tmp6_; _tmp6_ = builddir; g_file_make_directory_with_parents (_tmp6_, NULL, &_inner_error0_); if (G_UNLIKELY (_inner_error0_ != NULL)) { goto __catch0_g_error; } } goto __finally0; __catch0_g_error: { GError* e = NULL; GError* _tmp7_; const gchar* _tmp8_; e = _inner_error0_; _inner_error0_ = NULL; _tmp7_ = e; _tmp8_ = _tmp7_->message; g_warning ("database.vala:1731: %s", _tmp8_); result = NULL; _g_error_free0 (e); _g_object_unref0 (builddir); _g_object_unref0 (launcher); _g_ptr_array_unref0 (cmdline); return result; } __finally0: if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (builddir); _g_object_unref0 (launcher); _g_ptr_array_unref0 (cmdline); 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; } } _tmp9_ = real_aur_build_dir; _tmp10_ = pamac_database_get_dynamic_user_cmdline (self, _tmp9_); dynamic_user_cmdline = _tmp10_; _tmp11_ = builddir; _tmp12_ = g_file_get_child (_tmp11_, pkgname); pkgdir = _tmp12_; _tmp13_ = pkgdir; if (g_file_query_exists (_tmp13_, NULL)) { if (overwrite_files) { GSubprocessLauncher* _tmp14_; const gchar* _tmp15_; GPtrArray* _tmp16_; GPtrArray* _tmp17_; GPtrArray* _tmp18_; gchar* _tmp19_; GPtrArray* _tmp20_; gchar* _tmp21_; GPtrArray* _tmp22_; GFile* _tmp23_; gchar* _tmp24_; GSubprocessLauncher* _tmp25_; GPtrArray* _tmp26_; GPtrArray* _tmp27_; GPtrArray* _tmp28_; GPtrArray* _tmp29_; gchar* _tmp30_; GPtrArray* _tmp31_; gchar* _tmp32_; GPtrArray* _tmp33_; gchar* _tmp34_; GPtrArray* _tmp35_; gchar* _tmp36_; GPtrArray* _tmp37_; gchar* _tmp38_; _tmp14_ = launcher; _tmp15_ = real_aur_build_dir; g_subprocess_launcher_set_cwd (_tmp14_, _tmp15_); _tmp16_ = dynamic_user_cmdline; _tmp17_ = g_ptr_array_copy (_tmp16_, _g_strdup_gcopy_func, NULL); _g_ptr_array_unref0 (cmdline); cmdline = _tmp17_; _tmp18_ = cmdline; _tmp19_ = g_strdup ("rm"); g_ptr_array_add (_tmp18_, _tmp19_); _tmp20_ = cmdline; _tmp21_ = g_strdup ("-rf"); g_ptr_array_add (_tmp20_, _tmp21_); _tmp22_ = cmdline; _tmp23_ = pkgdir; _tmp24_ = g_file_get_path (_tmp23_); g_ptr_array_add (_tmp22_, _tmp24_); _tmp25_ = launcher; _tmp26_ = cmdline; pamac_database_launch_subprocess (self, _tmp25_, _tmp26_, NULL); _tmp27_ = dynamic_user_cmdline; _tmp28_ = _g_ptr_array_ref0 (_tmp27_); _g_ptr_array_unref0 (cmdline); cmdline = _tmp28_; _tmp29_ = cmdline; _tmp30_ = g_strdup ("git"); g_ptr_array_add (_tmp29_, _tmp30_); _tmp31_ = cmdline; _tmp32_ = g_strdup ("clone"); g_ptr_array_add (_tmp31_, _tmp32_); _tmp33_ = cmdline; _tmp34_ = g_strdup ("-q"); g_ptr_array_add (_tmp33_, _tmp34_); _tmp35_ = cmdline; _tmp36_ = g_strdup ("--depth=1"); g_ptr_array_add (_tmp35_, _tmp36_); _tmp37_ = cmdline; _tmp38_ = g_strdup_printf ("https://aur.archlinux.org/%s.git", pkgname); g_ptr_array_add (_tmp37_, _tmp38_); } else { gchar* cwd = NULL; GFile* _tmp39_; gchar* _tmp40_; GSubprocessLauncher* _tmp41_; const gchar* _tmp42_; GPtrArray* _tmp43_; GPtrArray* _tmp44_; GPtrArray* _tmp45_; gchar* _tmp46_; GPtrArray* _tmp47_; gchar* _tmp48_; GPtrArray* _tmp49_; gchar* _tmp50_; GSubprocessLauncher* _tmp51_; GPtrArray* _tmp52_; _tmp39_ = pkgdir; _tmp40_ = g_file_get_path (_tmp39_); cwd = _tmp40_; _tmp41_ = launcher; _tmp42_ = cwd; g_subprocess_launcher_set_cwd (_tmp41_, _tmp42_); _tmp43_ = dynamic_user_cmdline; _tmp44_ = g_ptr_array_copy (_tmp43_, _g_strdup_gcopy_func, NULL); _g_ptr_array_unref0 (cmdline); cmdline = _tmp44_; _tmp45_ = cmdline; _tmp46_ = g_strdup ("git"); g_ptr_array_add (_tmp45_, _tmp46_); _tmp47_ = cmdline; _tmp48_ = g_strdup ("fetch"); g_ptr_array_add (_tmp47_, _tmp48_); _tmp49_ = cmdline; _tmp50_ = g_strdup ("-q"); g_ptr_array_add (_tmp49_, _tmp50_); _tmp51_ = launcher; _tmp52_ = cmdline; status = pamac_database_launch_subprocess (self, _tmp51_, _tmp52_, cancellable); if (g_cancellable_is_cancelled (cancellable)) { result = NULL; _g_free0 (cwd); _g_object_unref0 (pkgdir); _g_ptr_array_unref0 (dynamic_user_cmdline); _g_object_unref0 (builddir); _g_object_unref0 (launcher); _g_ptr_array_unref0 (cmdline); return result; } if (status == 0) { GSubprocessLauncher* _tmp53_; GSubprocessLauncher* _tmp106_; _tmp53_ = launcher; g_subprocess_launcher_set_flags (_tmp53_, G_SUBPROCESS_FLAGS_STDOUT_PIPE); { GFile* file = NULL; const gchar* _tmp54_; gchar* _tmp55_; gchar* _tmp56_; GFile* _tmp57_; GFile* _tmp58_; GFile* _tmp59_; GPtrArray* _tmp61_; GPtrArray* _tmp62_; GPtrArray* _tmp63_; gchar* _tmp64_; GPtrArray* _tmp65_; gchar* _tmp66_; GPtrArray* _tmp67_; gchar* _tmp68_; GPtrArray* _tmp69_; gchar* _tmp70_; GFileEnumerator* enumerator = NULL; GFile* _tmp71_; GFileEnumerator* _tmp72_; GFileInfo* info = NULL; GPtrArray* _tmp84_; GPtrArray* _tmp85_; gint _tmp86_; gint _tmp87_; GSubprocess* process = NULL; GSubprocessLauncher* _tmp88_; GPtrArray* _tmp89_; gpointer* _tmp90_; gint _tmp90__length1; GSubprocess* _tmp91_; GSubprocess* _tmp92_; GSubprocess* _tmp93_; _tmp54_ = cwd; _tmp55_ = g_build_filename (_tmp54_, "diff", NULL); _tmp56_ = _tmp55_; _tmp57_ = g_file_new_for_path (_tmp56_); _tmp58_ = _tmp57_; _g_free0 (_tmp56_); file = _tmp58_; _tmp59_ = file; if (g_file_query_exists (_tmp59_, NULL)) { GFile* _tmp60_; _tmp60_ = file; g_file_delete (_tmp60_, NULL, &_inner_error0_); if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (file); goto __catch1_g_error; } } _tmp61_ = dynamic_user_cmdline; _tmp62_ = g_ptr_array_copy (_tmp61_, _g_strdup_gcopy_func, NULL); _g_ptr_array_unref0 (cmdline); cmdline = _tmp62_; _tmp63_ = cmdline; _tmp64_ = g_strdup ("git"); g_ptr_array_add (_tmp63_, _tmp64_); _tmp65_ = cmdline; _tmp66_ = g_strdup ("diff"); g_ptr_array_add (_tmp65_, _tmp66_); _tmp67_ = cmdline; _tmp68_ = g_strdup ("--exit-code"); g_ptr_array_add (_tmp67_, _tmp68_); _tmp69_ = cmdline; _tmp70_ = g_strdup ("origin/master"); g_ptr_array_add (_tmp69_, _tmp70_); _tmp71_ = pkgdir; _tmp72_ = g_file_enumerate_children (_tmp71_, "standard::*", G_FILE_QUERY_INFO_NONE, NULL, &_inner_error0_); enumerator = _tmp72_; if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (file); goto __catch1_g_error; } while (TRUE) { GFileInfo* _tmp73_ = NULL; GFileEnumerator* _tmp74_; GFileInfo* _tmp75_; GFileInfo* _tmp76_; GFileInfo* _tmp77_; const gchar* filename = NULL; GFileInfo* _tmp78_; const gchar* _tmp79_; const gchar* _tmp80_; _tmp74_ = enumerator; _tmp75_ = g_file_enumerator_next_file (_tmp74_, NULL, &_inner_error0_); _tmp73_ = _tmp75_; if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (info); _g_object_unref0 (enumerator); _g_object_unref0 (file); goto __catch1_g_error; } _tmp76_ = _tmp73_; _tmp73_ = NULL; _g_object_unref0 (info); info = _tmp76_; _tmp77_ = info; if (!(_tmp77_ != NULL)) { _g_object_unref0 (_tmp73_); break; } _tmp78_ = info; _tmp79_ = g_file_info_get_name (_tmp78_); filename = _tmp79_; _tmp80_ = filename; if (g_strcmp0 (_tmp80_, ".SRCINFO") != 0) { GPtrArray* _tmp81_; const gchar* _tmp82_; gchar* _tmp83_; _tmp81_ = cmdline; _tmp82_ = filename; _tmp83_ = g_strdup (_tmp82_); g_ptr_array_add (_tmp81_, _tmp83_); } _g_object_unref0 (_tmp73_); } _tmp84_ = cmdline; _tmp85_ = cmdline; _tmp86_ = vala_g_ptr_array_get_length (_tmp85_); _tmp87_ = _tmp86_; g_ptr_array_set_size (_tmp84_, _tmp87_ + 1); _tmp88_ = launcher; _tmp89_ = cmdline; _tmp90_ = _tmp89_->pdata; _tmp90__length1 = _tmp89_->len; _tmp91_ = g_subprocess_launcher_spawnv (_tmp88_, _tmp90_, &_inner_error0_); process = _tmp91_; if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (info); _g_object_unref0 (enumerator); _g_object_unref0 (file); goto __catch1_g_error; } _tmp92_ = process; g_subprocess_wait (_tmp92_, NULL, &_inner_error0_); if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (process); _g_object_unref0 (info); _g_object_unref0 (enumerator); _g_object_unref0 (file); goto __catch1_g_error; } _tmp93_ = process; if (g_subprocess_get_if_exited (_tmp93_)) { GSubprocess* _tmp94_; _tmp94_ = process; status = g_subprocess_get_exit_status (_tmp94_); } if (status == 1) { GDataInputStream* dis = NULL; GSubprocess* _tmp95_; GInputStream* _tmp96_; GDataInputStream* _tmp97_; GFileOutputStream* _tmp98_ = NULL; GFile* _tmp99_; GFileOutputStream* _tmp100_; GDataOutputStream* dos = NULL; GDataOutputStream* _tmp101_; GDataOutputStream* _tmp102_; GDataInputStream* _tmp103_; _tmp95_ = process; _tmp96_ = g_subprocess_get_stdout_pipe (_tmp95_); _tmp97_ = g_data_input_stream_new (_tmp96_); dis = _tmp97_; _tmp99_ = file; _tmp100_ = g_file_create (_tmp99_, G_FILE_CREATE_NONE, NULL, &_inner_error0_); _tmp98_ = _tmp100_; if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (dis); _g_object_unref0 (process); _g_object_unref0 (info); _g_object_unref0 (enumerator); _g_object_unref0 (file); goto __catch1_g_error; } _tmp101_ = g_data_output_stream_new ((GOutputStream*) _tmp98_); dos = _tmp101_; _tmp102_ = dos; _tmp103_ = dis; g_output_stream_splice ((GOutputStream*) _tmp102_, (GInputStream*) _tmp103_, G_OUTPUT_STREAM_SPLICE_NONE, NULL, &_inner_error0_); if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (dos); _g_object_unref0 (_tmp98_); _g_object_unref0 (dis); _g_object_unref0 (process); _g_object_unref0 (info); _g_object_unref0 (enumerator); _g_object_unref0 (file); goto __catch1_g_error; } status = 0; _g_object_unref0 (dos); _g_object_unref0 (_tmp98_); _g_object_unref0 (dis); } _g_object_unref0 (process); _g_object_unref0 (info); _g_object_unref0 (enumerator); _g_object_unref0 (file); } goto __finally1; __catch1_g_error: { GError* e = NULL; GError* _tmp104_; const gchar* _tmp105_; e = _inner_error0_; _inner_error0_ = NULL; _tmp104_ = e; _tmp105_ = _tmp104_->message; g_warning ("database.vala:1802: %s", _tmp105_); _g_error_free0 (e); } __finally1: if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_free0 (cwd); _g_object_unref0 (pkgdir); _g_ptr_array_unref0 (dynamic_user_cmdline); _g_object_unref0 (builddir); _g_object_unref0 (launcher); _g_ptr_array_unref0 (cmdline); 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; } _tmp106_ = launcher; g_subprocess_launcher_set_flags (_tmp106_, G_SUBPROCESS_FLAGS_NONE); } if (status == 0) { GSubprocessLauncher* _tmp107_; GPtrArray* _tmp108_; GPtrArray* _tmp109_; GPtrArray* _tmp110_; gchar* _tmp111_; GPtrArray* _tmp112_; gchar* _tmp113_; GPtrArray* _tmp114_; gchar* _tmp115_; GSubprocessLauncher* _tmp116_; GPtrArray* _tmp117_; _tmp107_ = launcher; g_subprocess_launcher_set_flags (_tmp107_, G_SUBPROCESS_FLAGS_STDOUT_SILENCE | G_SUBPROCESS_FLAGS_STDERR_SILENCE); _tmp108_ = dynamic_user_cmdline; _tmp109_ = g_ptr_array_copy (_tmp108_, _g_strdup_gcopy_func, NULL); _g_ptr_array_unref0 (cmdline); cmdline = _tmp109_; _tmp110_ = cmdline; _tmp111_ = g_strdup ("git"); g_ptr_array_add (_tmp110_, _tmp111_); _tmp112_ = cmdline; _tmp113_ = g_strdup ("merge"); g_ptr_array_add (_tmp112_, _tmp113_); _tmp114_ = cmdline; _tmp115_ = g_strdup ("-q"); g_ptr_array_add (_tmp114_, _tmp115_); _tmp116_ = launcher; _tmp117_ = cmdline; status = pamac_database_launch_subprocess (self, _tmp116_, _tmp117_, NULL); } if (status == 0) { result = pkgdir; _g_free0 (cwd); _g_ptr_array_unref0 (dynamic_user_cmdline); _g_object_unref0 (builddir); _g_object_unref0 (launcher); _g_ptr_array_unref0 (cmdline); return result; } else { GSubprocessLauncher* _tmp118_; const gchar* _tmp119_; GPtrArray* _tmp120_; GPtrArray* _tmp121_; GPtrArray* _tmp122_; gchar* _tmp123_; GPtrArray* _tmp124_; gchar* _tmp125_; GPtrArray* _tmp126_; GFile* _tmp127_; gchar* _tmp128_; GSubprocessLauncher* _tmp129_; GPtrArray* _tmp130_; GPtrArray* _tmp131_; GPtrArray* _tmp132_; GPtrArray* _tmp133_; gchar* _tmp134_; GPtrArray* _tmp135_; gchar* _tmp136_; GPtrArray* _tmp137_; gchar* _tmp138_; GPtrArray* _tmp139_; gchar* _tmp140_; GPtrArray* _tmp141_; gchar* _tmp142_; _tmp118_ = launcher; _tmp119_ = real_aur_build_dir; g_subprocess_launcher_set_cwd (_tmp118_, _tmp119_); _tmp120_ = dynamic_user_cmdline; _tmp121_ = g_ptr_array_copy (_tmp120_, _g_strdup_gcopy_func, NULL); _g_ptr_array_unref0 (cmdline); cmdline = _tmp121_; _tmp122_ = cmdline; _tmp123_ = g_strdup ("rm"); g_ptr_array_add (_tmp122_, _tmp123_); _tmp124_ = cmdline; _tmp125_ = g_strdup ("-rf"); g_ptr_array_add (_tmp124_, _tmp125_); _tmp126_ = cmdline; _tmp127_ = pkgdir; _tmp128_ = g_file_get_path (_tmp127_); g_ptr_array_add (_tmp126_, _tmp128_); _tmp129_ = launcher; _tmp130_ = cmdline; pamac_database_launch_subprocess (self, _tmp129_, _tmp130_, NULL); _tmp131_ = dynamic_user_cmdline; _tmp132_ = _g_ptr_array_ref0 (_tmp131_); _g_ptr_array_unref0 (cmdline); cmdline = _tmp132_; _tmp133_ = cmdline; _tmp134_ = g_strdup ("git"); g_ptr_array_add (_tmp133_, _tmp134_); _tmp135_ = cmdline; _tmp136_ = g_strdup ("clone"); g_ptr_array_add (_tmp135_, _tmp136_); _tmp137_ = cmdline; _tmp138_ = g_strdup ("-q"); g_ptr_array_add (_tmp137_, _tmp138_); _tmp139_ = cmdline; _tmp140_ = g_strdup ("--depth=1"); g_ptr_array_add (_tmp139_, _tmp140_); _tmp141_ = cmdline; _tmp142_ = g_strdup_printf ("https://aur.archlinux.org/%s.git", pkgname); g_ptr_array_add (_tmp141_, _tmp142_); } _g_free0 (cwd); } } else { GSubprocessLauncher* _tmp143_; const gchar* _tmp144_; GPtrArray* _tmp145_; GPtrArray* _tmp146_; GPtrArray* _tmp147_; gchar* _tmp148_; GPtrArray* _tmp149_; gchar* _tmp150_; GPtrArray* _tmp151_; gchar* _tmp152_; GPtrArray* _tmp153_; gchar* _tmp154_; GPtrArray* _tmp155_; gchar* _tmp156_; _tmp143_ = launcher; _tmp144_ = real_aur_build_dir; g_subprocess_launcher_set_cwd (_tmp143_, _tmp144_); _tmp145_ = dynamic_user_cmdline; _tmp146_ = _g_ptr_array_ref0 (_tmp145_); _g_ptr_array_unref0 (cmdline); cmdline = _tmp146_; _tmp147_ = cmdline; _tmp148_ = g_strdup ("git"); g_ptr_array_add (_tmp147_, _tmp148_); _tmp149_ = cmdline; _tmp150_ = g_strdup ("clone"); g_ptr_array_add (_tmp149_, _tmp150_); _tmp151_ = cmdline; _tmp152_ = g_strdup ("-q"); g_ptr_array_add (_tmp151_, _tmp152_); _tmp153_ = cmdline; _tmp154_ = g_strdup ("--depth=1"); g_ptr_array_add (_tmp153_, _tmp154_); _tmp155_ = cmdline; _tmp156_ = g_strdup_printf ("https://aur.archlinux.org/%s.git", pkgname); g_ptr_array_add (_tmp155_, _tmp156_); } _tmp157_ = launcher; _tmp158_ = cmdline; status = pamac_database_launch_subprocess (self, _tmp157_, _tmp158_, cancellable); if (status == 0) { result = pkgdir; _g_ptr_array_unref0 (dynamic_user_cmdline); _g_object_unref0 (builddir); _g_object_unref0 (launcher); _g_ptr_array_unref0 (cmdline); return result; } result = NULL; _g_object_unref0 (pkgdir); _g_ptr_array_unref0 (dynamic_user_cmdline); _g_object_unref0 (builddir); _g_object_unref0 (launcher); _g_ptr_array_unref0 (cmdline); return result; } static void pamac_database_clone_build_files_async_data_free (gpointer _data) { PamacDatabaseCloneBuildFilesAsyncData* _data_; _data_ = _data; _g_free0 (_data_->pkgname); _g_object_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseCloneBuildFilesAsyncData, _data_); } void pamac_database_clone_build_files_async (PamacDatabase* self, const gchar* pkgname, gboolean overwrite_files, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseCloneBuildFilesAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; GCancellable* _tmp2_; g_return_if_fail (self != NULL); g_return_if_fail (pkgname != NULL); _data_ = g_slice_new0 (PamacDatabaseCloneBuildFilesAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), cancellable, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_clone_build_files_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (pkgname); _g_free0 (_data_->pkgname); _data_->pkgname = _tmp1_; _data_->overwrite_files = overwrite_files; _tmp2_ = _g_object_ref0 (cancellable); _g_object_unref0 (_data_->cancellable); _data_->cancellable = _tmp2_; pamac_database_clone_build_files_async_co (_data_); } GFile* pamac_database_clone_build_files_finish (PamacDatabase* self, GAsyncResult* _res_) { GFile* result; PamacDatabaseCloneBuildFilesAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); if (NULL == _data_) { return NULL; } result = _data_->result; _data_->result = NULL; return result; } static Block45Data* block45_data_ref (Block45Data* _data45_) { g_atomic_int_inc (&_data45_->_ref_count_); return _data45_; } static void block45_data_unref (void * _userdata_) { Block45Data* _data45_; _data45_ = (Block45Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data45_->_ref_count_)) { PamacDatabase* self; self = _data45_->self; _g_free0 (_data45_->pkgname_copy); _g_object_unref0 (_data45_->file); _g_object_unref0 (_data45_->cancellable); _g_object_unref0 (self); g_slice_free (Block45Data, _data45_); } } static gboolean _pamac_database_clone_build_files_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_clone_build_files_async_co (self); return result; } static gint ___lambda24_ (Block45Data* _data45_) { PamacDatabase* self; GFile* _tmp0_; GMainContext* _tmp1_; gint result; self = _data45_->self; _tmp0_ = pamac_database_clone_build_files (self, _data45_->pkgname_copy, _data45_->overwrite_files, _data45_->cancellable); _g_object_unref0 (_data45_->file); _data45_->file = _tmp0_; _tmp1_ = self->priv->_context; g_main_context_invoke_full (_tmp1_, G_PRIORITY_DEFAULT, _pamac_database_clone_build_files_async_co_gsource_func, _data45_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda24__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda24_ (self)); block45_data_unref (self); return result; } static gboolean pamac_database_clone_build_files_async_co (PamacDatabaseCloneBuildFilesAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data45_ = g_slice_new0 (Block45Data); _data_->_data45_->_ref_count_ = 1; _data_->_data45_->self = g_object_ref (_data_->self); _data_->_data45_->overwrite_files = _data_->overwrite_files; _g_object_unref0 (_data_->_data45_->cancellable); _data_->_data45_->cancellable = _data_->cancellable; _data_->_data45_->_async_data_ = _data_; _data_->_data45_->file = NULL; _data_->_tmp0_ = g_strdup (_data_->pkgname); _data_->_data45_->pkgname_copy = _data_->_tmp0_; { _data_->_tmp1_ = g_thread_try_new ("clone_build_files", ____lambda24__gthread_func, block45_data_ref (_data_->_data45_), &_data_->_inner_error0_); _data_->_tmp2_ = _data_->_tmp1_; _g_thread_unref0 (_data_->_tmp2_); 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_->_tmp3_ = _data_->e; _data_->_tmp4_ = _data_->_tmp3_->message; g_warning ("database.vala:1859: %s", _data_->_tmp4_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block45_data_unref (_data_->_data45_); _data_->_data45_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp5_ = _g_object_ref0 (_data_->_data45_->file); _data_->result = _data_->_tmp5_; block45_data_unref (_data_->_data45_); _data_->_data45_ = NULL; 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 GPtrArray* pamac_database_get_dynamic_user_cmdline (PamacDatabase* self, const gchar* cwd) { GPtrArray* cmdline = NULL; GPtrArray* _tmp0_; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (cwd != NULL, NULL); _tmp0_ = g_ptr_array_new_full ((guint) 0, _g_free0_); cmdline = _tmp0_; if (geteuid () == ((uid_t) 0)) { GPtrArray* _tmp1_; gchar* _tmp2_; GPtrArray* _tmp3_; gchar* _tmp4_; GPtrArray* _tmp5_; gchar* _tmp6_; GPtrArray* _tmp7_; gchar* _tmp8_; GPtrArray* _tmp9_; gchar* _tmp10_; GPtrArray* _tmp11_; gchar* _tmp12_; GPtrArray* _tmp13_; gchar* _tmp14_; GPtrArray* _tmp15_; gchar* _tmp16_; _tmp1_ = cmdline; _tmp2_ = g_strdup ("systemd-run"); g_ptr_array_add (_tmp1_, _tmp2_); _tmp3_ = cmdline; _tmp4_ = g_strdup ("--service-type=oneshot"); g_ptr_array_add (_tmp3_, _tmp4_); _tmp5_ = cmdline; _tmp6_ = g_strdup ("--pipe"); g_ptr_array_add (_tmp5_, _tmp6_); _tmp7_ = cmdline; _tmp8_ = g_strdup ("--wait"); g_ptr_array_add (_tmp7_, _tmp8_); _tmp9_ = cmdline; _tmp10_ = g_strdup ("--pty"); g_ptr_array_add (_tmp9_, _tmp10_); _tmp11_ = cmdline; _tmp12_ = g_strdup ("--property=DynamicUser=yes"); g_ptr_array_add (_tmp11_, _tmp12_); _tmp13_ = cmdline; _tmp14_ = g_strdup ("--property=CacheDirectory=pamac"); g_ptr_array_add (_tmp13_, _tmp14_); _tmp15_ = cmdline; _tmp16_ = g_strdup_printf ("--property=WorkingDirectory=%s", cwd); g_ptr_array_add (_tmp15_, _tmp16_); } result = cmdline; return result; } gboolean pamac_database_regenerate_srcinfo (PamacDatabase* self, const gchar* pkgname, GCancellable* cancellable) { const gchar* real_aur_build_dir = NULL; PamacAURPlugin* _tmp0_; const gchar* _tmp1_; gchar* pkgdir_name = NULL; const gchar* _tmp2_; gchar* _tmp3_; GFile* srcinfo = NULL; const gchar* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; GFile* _tmp7_; GFile* _tmp8_; GFile* pkgbuild = NULL; const gchar* _tmp9_; gchar* _tmp10_; gchar* _tmp11_; GFile* _tmp12_; GFile* _tmp13_; GFile* _tmp14_; GSubprocessLauncher* launcher = NULL; GSubprocessLauncher* _tmp30_; GSubprocessLauncher* _tmp31_; const gchar* _tmp32_; GError* _inner_error0_ = NULL; gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (pkgname != NULL, FALSE); _tmp0_ = self->priv->_aur_plugin; _tmp1_ = pamac_aur_plugin_get_real_build_dir (_tmp0_); real_aur_build_dir = _tmp1_; _tmp2_ = real_aur_build_dir; _tmp3_ = g_build_filename (_tmp2_, pkgname, NULL); pkgdir_name = _tmp3_; _tmp4_ = pkgdir_name; _tmp5_ = g_build_filename (_tmp4_, ".SRCINFO", NULL); _tmp6_ = _tmp5_; _tmp7_ = g_file_new_for_path (_tmp6_); _tmp8_ = _tmp7_; _g_free0 (_tmp6_); srcinfo = _tmp8_; _tmp9_ = pkgdir_name; _tmp10_ = g_build_filename (_tmp9_, "PKGBUILD", NULL); _tmp11_ = _tmp10_; _tmp12_ = g_file_new_for_path (_tmp11_); _tmp13_ = _tmp12_; _g_free0 (_tmp11_); pkgbuild = _tmp13_; _tmp14_ = srcinfo; if (g_file_query_exists (_tmp14_, NULL)) { { GFileInfo* info = NULL; GFile* _tmp15_; GFileInfo* _tmp16_; GDateTime* srcinfo_time = NULL; GFileInfo* _tmp17_; GDateTime* _tmp18_; GFileInfo* _tmp19_ = NULL; GFile* _tmp20_; GFileInfo* _tmp21_; GFileInfo* _tmp22_; GDateTime* pkgbuild_time = NULL; GFileInfo* _tmp23_; GDateTime* _tmp24_; GDateTime* _tmp25_; GDateTime* _tmp26_; _tmp15_ = srcinfo; _tmp16_ = g_file_query_info (_tmp15_, "time::modified", 0, NULL, &_inner_error0_); info = _tmp16_; if (G_UNLIKELY (_inner_error0_ != NULL)) { goto __catch0_g_error; } _tmp17_ = info; _tmp18_ = g_file_info_get_modification_date_time (_tmp17_); srcinfo_time = _tmp18_; _tmp20_ = pkgbuild; _tmp21_ = g_file_query_info (_tmp20_, "time::modified", 0, NULL, &_inner_error0_); _tmp19_ = _tmp21_; if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_date_time_unref0 (srcinfo_time); _g_object_unref0 (info); goto __catch0_g_error; } _tmp22_ = _tmp19_; _tmp19_ = NULL; _g_object_unref0 (info); info = _tmp22_; _tmp23_ = info; _tmp24_ = g_file_info_get_modification_date_time (_tmp23_); pkgbuild_time = _tmp24_; _tmp25_ = srcinfo_time; _tmp26_ = pkgbuild_time; if (g_date_time_compare (_tmp25_, _tmp26_) == 1) { result = TRUE; _g_date_time_unref0 (pkgbuild_time); _g_object_unref0 (_tmp19_); _g_date_time_unref0 (srcinfo_time); _g_object_unref0 (info); _g_object_unref0 (pkgbuild); _g_object_unref0 (srcinfo); _g_free0 (pkgdir_name); return result; } _g_date_time_unref0 (pkgbuild_time); _g_object_unref0 (_tmp19_); _g_date_time_unref0 (srcinfo_time); _g_object_unref0 (info); } goto __finally0; __catch0_g_error: { GError* e = NULL; GError* _tmp27_; const gchar* _tmp28_; e = _inner_error0_; _inner_error0_ = NULL; _tmp27_ = e; _tmp28_ = _tmp27_->message; g_warning ("database.vala:1896: %s", _tmp28_); _g_error_free0 (e); } __finally0: if (G_UNLIKELY (_inner_error0_ != NULL)) { gboolean _tmp29_ = FALSE; _g_object_unref0 (pkgbuild); _g_object_unref0 (srcinfo); _g_free0 (pkgdir_name); 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 _tmp29_; } } _tmp30_ = g_subprocess_launcher_new (G_SUBPROCESS_FLAGS_STDOUT_PIPE); launcher = _tmp30_; _tmp31_ = launcher; _tmp32_ = pkgdir_name; g_subprocess_launcher_set_cwd (_tmp31_, _tmp32_); { GPtrArray* cmdline = NULL; const gchar* _tmp33_; GPtrArray* _tmp34_; GPtrArray* _tmp35_; gchar* _tmp36_; GPtrArray* _tmp37_; gchar* _tmp38_; GPtrArray* _tmp39_; GPtrArray* _tmp40_; gint _tmp41_; gint _tmp42_; GSubprocess* process = NULL; GSubprocessLauncher* _tmp43_; GPtrArray* _tmp44_; gpointer* _tmp45_; gint _tmp45__length1; GSubprocess* _tmp46_; _tmp33_ = pkgdir_name; _tmp34_ = pamac_database_get_dynamic_user_cmdline (self, _tmp33_); cmdline = _tmp34_; _tmp35_ = cmdline; _tmp36_ = g_strdup ("makepkg"); g_ptr_array_add (_tmp35_, _tmp36_); _tmp37_ = cmdline; _tmp38_ = g_strdup ("--printsrcinfo"); g_ptr_array_add (_tmp37_, _tmp38_); _tmp39_ = cmdline; _tmp40_ = cmdline; _tmp41_ = vala_g_ptr_array_get_length (_tmp40_); _tmp42_ = _tmp41_; g_ptr_array_set_size (_tmp39_, _tmp42_ + 1); _tmp43_ = launcher; _tmp44_ = cmdline; _tmp45_ = _tmp44_->pdata; _tmp45__length1 = _tmp44_->len; _tmp46_ = g_subprocess_launcher_spawnv (_tmp43_, _tmp45_, &_inner_error0_); process = _tmp46_; if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_ptr_array_unref0 (cmdline); goto __catch1_g_error; } { GSubprocess* _tmp47_; GSubprocess* _tmp48_; _tmp47_ = process; g_subprocess_wait (_tmp47_, cancellable, &_inner_error0_); if (G_UNLIKELY (_inner_error0_ != NULL)) { goto __catch2_g_error; } _tmp48_ = process; if (g_subprocess_get_if_exited (_tmp48_)) { GSubprocess* _tmp49_; _tmp49_ = process; if (g_subprocess_get_exit_status (_tmp49_) == 0) { { GDataInputStream* dis = NULL; GSubprocess* _tmp50_; GInputStream* _tmp51_; GDataInputStream* _tmp52_; GFileOutputStream* fos = NULL; GFile* _tmp53_; GDataOutputStream* dos = NULL; GFileOutputStream* _tmp62_; GDataOutputStream* _tmp63_; GDataOutputStream* _tmp64_; GDataInputStream* _tmp65_; _tmp50_ = process; _tmp51_ = g_subprocess_get_stdout_pipe (_tmp50_); _tmp52_ = g_data_input_stream_new (_tmp51_); dis = _tmp52_; _tmp53_ = srcinfo; if (g_file_query_exists (_tmp53_, NULL)) { GFileOutputStream* _tmp54_ = NULL; GFile* _tmp55_; GFileOutputStream* _tmp56_; GFileOutputStream* _tmp57_; _tmp55_ = srcinfo; _tmp56_ = g_file_replace (_tmp55_, NULL, FALSE, G_FILE_CREATE_NONE, NULL, &_inner_error0_); _tmp54_ = _tmp56_; if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (fos); _g_object_unref0 (dis); goto __catch3_g_error; } _tmp57_ = _tmp54_; _tmp54_ = NULL; _g_object_unref0 (fos); fos = _tmp57_; _g_object_unref0 (_tmp54_); } else { GFileOutputStream* _tmp58_ = NULL; GFile* _tmp59_; GFileOutputStream* _tmp60_; GFileOutputStream* _tmp61_; _tmp59_ = srcinfo; _tmp60_ = g_file_create (_tmp59_, G_FILE_CREATE_NONE, NULL, &_inner_error0_); _tmp58_ = _tmp60_; if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (fos); _g_object_unref0 (dis); goto __catch3_g_error; } _tmp61_ = _tmp58_; _tmp58_ = NULL; _g_object_unref0 (fos); fos = _tmp61_; _g_object_unref0 (_tmp58_); } _tmp62_ = fos; _tmp63_ = g_data_output_stream_new ((GOutputStream*) _tmp62_); dos = _tmp63_; _tmp64_ = dos; _tmp65_ = dis; g_output_stream_splice ((GOutputStream*) _tmp64_, (GInputStream*) _tmp65_, G_OUTPUT_STREAM_SPLICE_NONE, NULL, &_inner_error0_); if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (dos); _g_object_unref0 (fos); _g_object_unref0 (dis); goto __catch3_g_error; } result = TRUE; _g_object_unref0 (dos); _g_object_unref0 (fos); _g_object_unref0 (dis); _g_object_unref0 (process); _g_ptr_array_unref0 (cmdline); _g_object_unref0 (launcher); _g_object_unref0 (pkgbuild); _g_object_unref0 (srcinfo); _g_free0 (pkgdir_name); return result; } goto __finally3; __catch3_g_error: { GError* e = NULL; GError* _tmp66_; const gchar* _tmp67_; e = _inner_error0_; _inner_error0_ = NULL; _tmp66_ = e; _tmp67_ = _tmp66_->message; g_warning ("database.vala:1927: %s", _tmp67_); _g_error_free0 (e); } __finally3: if (G_UNLIKELY (_inner_error0_ != NULL)) { goto __catch2_g_error; } } } } goto __finally2; __catch2_g_error: { GSubprocess* _tmp68_; GSubprocess* _tmp69_; g_clear_error (&_inner_error0_); _tmp68_ = process; g_subprocess_send_signal (_tmp68_, (gint) SIGINT); _tmp69_ = process; g_subprocess_send_signal (_tmp69_, (gint) SIGKILL); } __finally2: if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (process); _g_ptr_array_unref0 (cmdline); goto __catch1_g_error; } _g_object_unref0 (process); _g_ptr_array_unref0 (cmdline); } goto __finally1; __catch1_g_error: { GError* e = NULL; GError* _tmp70_; const gchar* _tmp71_; e = _inner_error0_; _inner_error0_ = NULL; _tmp70_ = e; _tmp71_ = _tmp70_->message; g_warning ("database.vala:1937: %s", _tmp71_); _g_error_free0 (e); } __finally1: if (G_UNLIKELY (_inner_error0_ != NULL)) { gboolean _tmp72_ = FALSE; _g_object_unref0 (launcher); _g_object_unref0 (pkgbuild); _g_object_unref0 (srcinfo); _g_free0 (pkgdir_name); 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 _tmp72_; } result = FALSE; _g_object_unref0 (launcher); _g_object_unref0 (pkgbuild); _g_object_unref0 (srcinfo); _g_free0 (pkgdir_name); return result; } static void pamac_database_regenerate_srcinfo_async_data_free (gpointer _data) { PamacDatabaseRegenerateSrcinfoAsyncData* _data_; _data_ = _data; _g_free0 (_data_->pkgname); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseRegenerateSrcinfoAsyncData, _data_); } void pamac_database_regenerate_srcinfo_async (PamacDatabase* self, const gchar* pkgname, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseRegenerateSrcinfoAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; GCancellable* _tmp2_; g_return_if_fail (self != NULL); g_return_if_fail (pkgname != NULL); _data_ = g_slice_new0 (PamacDatabaseRegenerateSrcinfoAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), cancellable, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_regenerate_srcinfo_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (pkgname); _g_free0 (_data_->pkgname); _data_->pkgname = _tmp1_; _tmp2_ = _g_object_ref0 (cancellable); _g_object_unref0 (_data_->cancellable); _data_->cancellable = _tmp2_; pamac_database_regenerate_srcinfo_async_co (_data_); } gboolean pamac_database_regenerate_srcinfo_finish (PamacDatabase* self, GAsyncResult* _res_) { gboolean result; PamacDatabaseRegenerateSrcinfoAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); if (NULL == _data_) { gboolean _tmp0_ = FALSE; return _tmp0_; } result = _data_->result; return result; } static Block46Data* block46_data_ref (Block46Data* _data46_) { g_atomic_int_inc (&_data46_->_ref_count_); return _data46_; } static void block46_data_unref (void * _userdata_) { Block46Data* _data46_; _data46_ = (Block46Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data46_->_ref_count_)) { PamacDatabase* self; self = _data46_->self; _g_free0 (_data46_->pkgname_copy); _g_object_unref0 (_data46_->cancellable); _g_object_unref0 (self); g_slice_free (Block46Data, _data46_); } } static gboolean _pamac_database_regenerate_srcinfo_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_regenerate_srcinfo_async_co (self); return result; } static gint ___lambda25_ (Block46Data* _data46_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data46_->self; _data46_->success = pamac_database_regenerate_srcinfo (self, _data46_->pkgname_copy, _data46_->cancellable); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_regenerate_srcinfo_async_co_gsource_func, _data46_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda25__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda25_ (self)); block46_data_unref (self); return result; } static gboolean pamac_database_regenerate_srcinfo_async_co (PamacDatabaseRegenerateSrcinfoAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data46_ = g_slice_new0 (Block46Data); _data_->_data46_->_ref_count_ = 1; _data_->_data46_->self = g_object_ref (_data_->self); _g_object_unref0 (_data_->_data46_->cancellable); _data_->_data46_->cancellable = _data_->cancellable; _data_->_data46_->_async_data_ = _data_; _data_->_data46_->success = FALSE; _data_->_tmp0_ = g_strdup (_data_->pkgname); _data_->_data46_->pkgname_copy = _data_->_tmp0_; { _data_->_tmp1_ = g_thread_try_new ("regenerate_srcinfo", ____lambda25__gthread_func, block46_data_ref (_data_->_data46_), &_data_->_inner_error0_); _data_->_tmp2_ = _data_->_tmp1_; _g_thread_unref0 (_data_->_tmp2_); 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_->_tmp3_ = _data_->e; _data_->_tmp4_ = _data_->_tmp3_->message; g_warning ("database.vala:1953: %s", _data_->_tmp4_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block46_data_unref (_data_->_data46_); _data_->_data46_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->result = _data_->_data46_->success; block46_data_unref (_data_->_data46_); _data_->_data46_ = NULL; 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; } PamacAURPackage* pamac_database_get_aur_pkg (PamacDatabase* self, const gchar* pkgname) { PamacAURPackageLinked* pkg = NULL; PamacConfig* _tmp0_; gboolean _tmp1_; gboolean _tmp2_; PamacAURPackageLinked* _tmp26_; GError* _inner_error0_ = NULL; PamacAURPackage* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (pkgname != NULL, NULL); pkg = NULL; _tmp0_ = self->priv->_config; _tmp1_ = pamac_config_get_enable_aur (_tmp0_); _tmp2_ = _tmp1_; if (_tmp2_) { { AlpmConfig* _tmp3_; _tmp3_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { GHashTable* _tmp4_; gconstpointer _tmp5_; PamacAURPackageLinked* _tmp6_; _tmp4_ = self->priv->aur_pkgs_cache; _tmp5_ = g_hash_table_lookup (_tmp4_, pkgname); pkg = (PamacAURPackageLinked*) _tmp5_; _tmp6_ = pkg; if (_tmp6_ == NULL) { PamacAURInfos* aur_infos = NULL; PamacAURPlugin* _tmp7_; PamacAURInfos* _tmp8_; PamacAURInfos* _tmp9_; _tmp7_ = self->priv->_aur_plugin; _tmp8_ = pamac_aur_plugin_get_infos (_tmp7_, pkgname); aur_infos = _tmp8_; _tmp9_ = aur_infos; if (_tmp9_ != NULL) { alpm_pkg_t* local_pkg = NULL; alpm_handle_t* _tmp10_; alpm_db_t* _tmp11_; alpm_db_t* _tmp12_; alpm_pkg_t* _tmp13_; PamacAURPackageLinked* new_pkg = NULL; PamacAURPackageLinked* _tmp14_; PamacAURPackageLinked* _tmp15_; PamacAURInfos* _tmp16_; alpm_pkg_t* _tmp17_; PamacAURPackageLinked* _tmp18_; GHashTable* _tmp19_; PamacAURPackageLinked* _tmp20_; const gchar* _tmp21_; const gchar* _tmp22_; PamacAURPackageLinked* _tmp23_; PamacAURPackageLinked* _tmp24_; _tmp10_ = self->priv->alpm_handle; _tmp11_ = alpm_get_localdb (_tmp10_); _tmp12_ = _tmp11_; _tmp13_ = alpm_db_get_pkg (_tmp12_, pkgname); local_pkg = _tmp13_; _tmp14_ = pamac_aur_package_linked_new (); new_pkg = _tmp14_; _tmp15_ = new_pkg; _tmp16_ = aur_infos; _tmp17_ = local_pkg; pamac_aur_package_linked_initialise_from_aur_infos (_tmp15_, _tmp16_, _tmp17_, self, FALSE); _tmp18_ = new_pkg; pkg = _tmp18_; _tmp19_ = self->priv->aur_pkgs_cache; _tmp20_ = pkg; _tmp21_ = pamac_package_get_id ((PamacPackage*) _tmp20_); _tmp22_ = _tmp21_; _tmp23_ = new_pkg; _tmp24_ = _g_object_ref0 (_tmp23_); g_hash_table_replace (_tmp19_, _tmp22_, _tmp24_); _g_object_unref0 (new_pkg); } _g_object_unref0 (aur_infos); } } __finally0: { AlpmConfig* _tmp25_; _tmp25_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } } _tmp26_ = pkg; result = (PamacAURPackage*) _tmp26_; return result; } static void pamac_database_get_aur_pkg_async_data_free (gpointer _data) { PamacDatabaseGetAurPkgAsyncData* _data_; _data_ = _data; _g_free0 (_data_->pkgname); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetAurPkgAsyncData, _data_); } void pamac_database_get_aur_pkg_async (PamacDatabase* self, const gchar* pkgname, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetAurPkgAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (pkgname != NULL); _data_ = g_slice_new0 (PamacDatabaseGetAurPkgAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_aur_pkg_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (pkgname); _g_free0 (_data_->pkgname); _data_->pkgname = _tmp1_; pamac_database_get_aur_pkg_async_co (_data_); } PamacAURPackage* pamac_database_get_aur_pkg_finish (PamacDatabase* self, GAsyncResult* _res_) { PamacAURPackage* result; PamacDatabaseGetAurPkgAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block47Data* block47_data_ref (Block47Data* _data47_) { g_atomic_int_inc (&_data47_->_ref_count_); return _data47_; } static void block47_data_unref (void * _userdata_) { Block47Data* _data47_; _data47_ = (Block47Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data47_->_ref_count_)) { PamacDatabase* self; self = _data47_->self; _g_object_unref0 (self); g_slice_free (Block47Data, _data47_); } } static Block48Data* block48_data_ref (Block48Data* _data48_) { g_atomic_int_inc (&_data48_->_ref_count_); return _data48_; } static void block48_data_unref (void * _userdata_) { Block48Data* _data48_; _data48_ = (Block48Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data48_->_ref_count_)) { PamacDatabase* self; self = _data48_->_data47_->self; _g_free0 (_data48_->pkgname_copy); block47_data_unref (_data48_->_data47_); _data48_->_data47_ = NULL; g_slice_free (Block48Data, _data48_); } } static gboolean _pamac_database_get_aur_pkg_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_aur_pkg_async_co (self); return result; } static gint ____lambda26_ (Block48Data* _data48_) { Block47Data* _data47_; PamacDatabase* self; const gchar* _tmp0_; PamacAURPackage* _tmp1_; GMainContext* _tmp2_; gint result; _data47_ = _data48_->_data47_; self = _data47_->self; _tmp0_ = _data48_->pkgname_copy; _tmp1_ = pamac_database_get_aur_pkg (self, _tmp0_); _data47_->pkg = _tmp1_; _tmp2_ = self->priv->_context; g_main_context_invoke_full (_tmp2_, G_PRIORITY_DEFAULT, _pamac_database_get_aur_pkg_async_co_gsource_func, _data47_->_async_data_, NULL); result = 0; return result; } static gpointer _____lambda26__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ____lambda26_ (self)); block48_data_unref (self); return result; } static gboolean pamac_database_get_aur_pkg_async_co (PamacDatabaseGetAurPkgAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data47_ = g_slice_new0 (Block47Data); _data_->_data47_->_ref_count_ = 1; _data_->_data47_->self = g_object_ref (_data_->self); _data_->_data47_->_async_data_ = _data_; _data_->_data47_->pkg = NULL; _data_->_tmp0_ = _data_->self->priv->_config; _data_->_tmp1_ = pamac_config_get_enable_aur (_data_->_tmp0_); _data_->_tmp2_ = _data_->_tmp1_; if (_data_->_tmp2_) { _data_->_data48_ = g_slice_new0 (Block48Data); _data_->_data48_->_ref_count_ = 1; _data_->_data48_->_data47_ = block47_data_ref (_data_->_data47_); _data_->_tmp3_ = g_strdup (_data_->pkgname); _data_->_data48_->pkgname_copy = _data_->_tmp3_; { _data_->_tmp4_ = g_thread_try_new ("get_aur_pkg", _____lambda26__gthread_func, block48_data_ref (_data_->_data48_), &_data_->_inner_error0_); _data_->_tmp5_ = _data_->_tmp4_; _g_thread_unref0 (_data_->_tmp5_); 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_->_tmp6_ = _data_->e; _data_->_tmp7_ = _data_->_tmp6_->message; g_warning ("database.vala:1990: %s", _data_->_tmp7_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block48_data_unref (_data_->_data48_); _data_->_data48_ = NULL; block47_data_unref (_data_->_data47_); _data_->_data47_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } block48_data_unref (_data_->_data48_); _data_->_data48_ = NULL; } _data_->_tmp8_ = _data_->_data47_->pkg; _data_->result = _data_->_tmp8_; block47_data_unref (_data_->_data47_); _data_->_data47_ = NULL; 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_database_get_aur_pkgs_real (PamacDatabase* self, GPtrArray* pkgnames, GHashTable** data) { GPtrArray* aur_infos_list = NULL; PamacAURPlugin* _tmp2_; GPtrArray* _tmp3_; GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (pkgnames != NULL); g_return_if_fail (*data != NULL); { GPtrArray* pkgname_collection = NULL; guint pkgname_index = 0U; pkgname_collection = pkgnames; for (pkgname_index = 0; pkgname_index < pkgname_collection->len; pkgname_index = pkgname_index + 1) { const gchar* pkgname = NULL; pkgname = (const gchar*) g_ptr_array_index (pkgname_collection, pkgname_index); { const gchar* _tmp0_; gchar* _tmp1_; _tmp0_ = pkgname; _tmp1_ = g_strdup (_tmp0_); g_hash_table_insert (*data, _tmp1_, NULL); } } } _tmp2_ = self->priv->_aur_plugin; _tmp3_ = pamac_aur_plugin_get_multi_infos (_tmp2_, pkgnames); aur_infos_list = _tmp3_; { AlpmConfig* _tmp4_; _tmp4_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { GPtrArray* _tmp5_; _tmp5_ = aur_infos_list; { GPtrArray* aur_infos_collection = NULL; guint aur_infos_index = 0U; aur_infos_collection = _tmp5_; for (aur_infos_index = 0; aur_infos_index < aur_infos_collection->len; aur_infos_index = aur_infos_index + 1) { PamacAURInfos* aur_infos = NULL; aur_infos = (PamacAURInfos*) g_ptr_array_index (aur_infos_collection, aur_infos_index); { const gchar* name = NULL; PamacAURInfos* _tmp6_; const gchar* _tmp7_; const gchar* _tmp8_; PamacAURPackageLinked* pkg = NULL; GHashTable* _tmp9_; const gchar* _tmp10_; gconstpointer _tmp11_; PamacAURPackageLinked* _tmp12_; PamacAURPackageLinked* _tmp13_; const gchar* _tmp29_; gchar* _tmp30_; PamacAURPackageLinked* _tmp31_; _tmp6_ = aur_infos; _tmp7_ = pamac_aur_infos_get_name (_tmp6_); _tmp8_ = _tmp7_; name = _tmp8_; _tmp9_ = self->priv->aur_pkgs_cache; _tmp10_ = name; _tmp11_ = g_hash_table_lookup (_tmp9_, _tmp10_); _tmp12_ = _g_object_ref0 ((PamacAURPackageLinked*) _tmp11_); pkg = _tmp12_; _tmp13_ = pkg; if (_tmp13_ == NULL) { alpm_pkg_t* local_pkg = NULL; alpm_handle_t* _tmp14_; alpm_db_t* _tmp15_; alpm_db_t* _tmp16_; const gchar* _tmp17_; alpm_pkg_t* _tmp18_; PamacAURPackageLinked* _tmp19_; PamacAURPackageLinked* _tmp20_; PamacAURInfos* _tmp21_; alpm_pkg_t* _tmp22_; GHashTable* _tmp23_; PamacAURPackageLinked* _tmp24_; const gchar* _tmp25_; const gchar* _tmp26_; PamacAURPackageLinked* _tmp27_; PamacAURPackageLinked* _tmp28_; _tmp14_ = self->priv->alpm_handle; _tmp15_ = alpm_get_localdb (_tmp14_); _tmp16_ = _tmp15_; _tmp17_ = name; _tmp18_ = alpm_db_get_pkg (_tmp16_, _tmp17_); local_pkg = _tmp18_; _tmp19_ = pamac_aur_package_linked_new (); _g_object_unref0 (pkg); pkg = _tmp19_; _tmp20_ = pkg; _tmp21_ = aur_infos; _tmp22_ = local_pkg; pamac_aur_package_linked_initialise_from_aur_infos (_tmp20_, _tmp21_, _tmp22_, self, FALSE); _tmp23_ = self->priv->aur_pkgs_cache; _tmp24_ = pkg; _tmp25_ = pamac_package_get_id ((PamacPackage*) _tmp24_); _tmp26_ = _tmp25_; _tmp27_ = pkg; _tmp28_ = _g_object_ref0 (_tmp27_); g_hash_table_replace (_tmp23_, _tmp26_, _tmp28_); } _tmp29_ = name; _tmp30_ = g_strdup (_tmp29_); _tmp31_ = pkg; g_hash_table_insert (*data, _tmp30_, _tmp31_); _g_object_unref0 (pkg); } } } } __finally0: { AlpmConfig* _tmp32_; _tmp32_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_ptr_array_unref0 (aur_infos_list); 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; } } _g_ptr_array_unref0 (aur_infos_list); } GHashTable* pamac_database_get_aur_pkgs (PamacDatabase* self, GPtrArray* pkgnames) { GHashTable* data = NULL; GHashFunc _tmp0_; GEqualFunc _tmp1_; GHashTable* _tmp2_; PamacConfig* _tmp3_; gboolean _tmp4_; gboolean _tmp5_; GHashTable* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (pkgnames != NULL, NULL); _tmp0_ = g_str_hash; _tmp1_ = g_str_equal; _tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_free0_, NULL); data = _tmp2_; _tmp3_ = self->priv->_config; _tmp4_ = pamac_config_get_enable_aur (_tmp3_); _tmp5_ = _tmp4_; if (!_tmp5_) { result = data; return result; } pamac_database_get_aur_pkgs_real (self, pkgnames, &data); result = data; return result; } static void pamac_database_get_aur_pkgs_async_data_free (gpointer _data) { PamacDatabaseGetAurPkgsAsyncData* _data_; _data_ = _data; _g_hash_table_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetAurPkgsAsyncData, _data_); } void pamac_database_get_aur_pkgs_async (PamacDatabase* self, GPtrArray* pkgnames, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetAurPkgsAsyncData* _data_; PamacDatabase* _tmp0_; GPtrArray* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (pkgnames != NULL); _data_ = g_slice_new0 (PamacDatabaseGetAurPkgsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_aur_pkgs_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = _g_ptr_array_ref0 (pkgnames); _g_ptr_array_unref0 (_data_->pkgnames); _data_->pkgnames = _tmp1_; pamac_database_get_aur_pkgs_async_co (_data_); } GHashTable* pamac_database_get_aur_pkgs_finish (PamacDatabase* self, GAsyncResult* _res_) { GHashTable* result; PamacDatabaseGetAurPkgsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block49Data* block49_data_ref (Block49Data* _data49_) { g_atomic_int_inc (&_data49_->_ref_count_); return _data49_; } static void block49_data_unref (void * _userdata_) { Block49Data* _data49_; _data49_ = (Block49Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data49_->_ref_count_)) { PamacDatabase* self; self = _data49_->self; _g_hash_table_unref0 (_data49_->data); _g_ptr_array_unref0 (_data49_->pkgnames); _g_object_unref0 (self); g_slice_free (Block49Data, _data49_); } } static gboolean _pamac_database_get_aur_pkgs_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_aur_pkgs_async_co (self); return result; } static gint ___lambda27_ (Block49Data* _data49_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data49_->self; pamac_database_get_aur_pkgs_real (self, _data49_->pkgnames, &_data49_->data); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_get_aur_pkgs_async_co_gsource_func, _data49_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda27__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda27_ (self)); block49_data_unref (self); return result; } static gboolean pamac_database_get_aur_pkgs_async_co (PamacDatabaseGetAurPkgsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data49_ = g_slice_new0 (Block49Data); _data_->_data49_->_ref_count_ = 1; _data_->_data49_->self = g_object_ref (_data_->self); _g_ptr_array_unref0 (_data_->_data49_->pkgnames); _data_->_data49_->pkgnames = _data_->pkgnames; _data_->_data49_->_async_data_ = _data_; _data_->_tmp0_ = g_str_hash; _data_->_tmp1_ = g_str_equal; _data_->_tmp2_ = g_hash_table_new_full (_data_->_tmp0_, _data_->_tmp1_, _g_free0_, NULL); _data_->_data49_->data = _data_->_tmp2_; _data_->_tmp3_ = _data_->self->priv->_config; _data_->_tmp4_ = pamac_config_get_enable_aur (_data_->_tmp3_); _data_->_tmp5_ = _data_->_tmp4_; if (!_data_->_tmp5_) { _data_->_tmp6_ = _data_->_data49_->data; _data_->_tmp7_ = _g_hash_table_ref0 (_data_->_tmp6_); _data_->result = _data_->_tmp7_; block49_data_unref (_data_->_data49_); _data_->_data49_ = NULL; 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; } { _data_->_tmp8_ = g_thread_try_new ("get_aur_pkgs", ____lambda27__gthread_func, block49_data_ref (_data_->_data49_), &_data_->_inner_error0_); _data_->_tmp9_ = _data_->_tmp8_; _g_thread_unref0 (_data_->_tmp9_); 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_->_tmp10_ = _data_->e; _data_->_tmp11_ = _data_->_tmp10_->message; g_warning ("database.vala:2039: %s", _data_->_tmp11_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block49_data_unref (_data_->_data49_); _data_->_data49_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp12_ = _data_->_data49_->data; _data_->_tmp13_ = _g_hash_table_ref0 (_data_->_tmp12_); _data_->result = _data_->_tmp13_; block49_data_unref (_data_->_data49_); _data_->_data49_ = NULL; 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_database_refresh_tmp_files_dbs_async_data_free (gpointer _data) { PamacDatabaseRefreshTmpFilesDbsAsyncData* _data_; _data_ = _data; _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseRefreshTmpFilesDbsAsyncData, _data_); } void pamac_database_refresh_tmp_files_dbs_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseRefreshTmpFilesDbsAsyncData* _data_; PamacDatabase* _tmp0_; g_return_if_fail (self != NULL); _data_ = g_slice_new0 (PamacDatabaseRefreshTmpFilesDbsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_refresh_tmp_files_dbs_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; pamac_database_refresh_tmp_files_dbs_async_co (_data_); } void pamac_database_refresh_tmp_files_dbs_finish (PamacDatabase* self, GAsyncResult* _res_) { PamacDatabaseRefreshTmpFilesDbsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); } static Block50Data* block50_data_ref (Block50Data* _data50_) { g_atomic_int_inc (&_data50_->_ref_count_); return _data50_; } static void block50_data_unref (void * _userdata_) { Block50Data* _data50_; _data50_ = (Block50Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data50_->_ref_count_)) { PamacDatabase* self; self = _data50_->self; _g_object_unref0 (self); g_slice_free (Block50Data, _data50_); } } static gboolean _pamac_database_refresh_tmp_files_dbs_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_refresh_tmp_files_dbs_async_co (self); return result; } static gint ___lambda28_ (Block50Data* _data50_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data50_->self; pamac_database_refresh_tmp_files_dbs (self); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_refresh_tmp_files_dbs_async_co_gsource_func, _data50_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda28__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda28_ (self)); block50_data_unref (self); return result; } static gboolean pamac_database_refresh_tmp_files_dbs_async_co (PamacDatabaseRefreshTmpFilesDbsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data50_ = g_slice_new0 (Block50Data); _data_->_data50_->_ref_count_ = 1; _data_->_data50_->self = g_object_ref (_data_->self); _data_->_data50_->_async_data_ = _data_; { _data_->_tmp0_ = g_thread_try_new ("refresh_tmp_files_dbs", ____lambda28__gthread_func, block50_data_ref (_data_->_data50_), &_data_->_inner_error0_); _data_->_tmp1_ = _data_->_tmp0_; _g_thread_unref0 (_data_->_tmp1_); 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_->_tmp2_ = _data_->e; _data_->_tmp3_ = _data_->_tmp2_->message; g_warning ("database.vala:2053: %s", _data_->_tmp3_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block50_data_unref (_data_->_data50_); _data_->_data50_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } block50_data_unref (_data_->_data50_); _data_->_data50_ = NULL; 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; } void pamac_database_refresh_tmp_files_dbs (PamacDatabase* self) { GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { alpm_handle_t* tmp_files_handle = NULL; AlpmConfig* _tmp1_; alpm_handle_t* _tmp2_; alpm_handle_t* _tmp3_; _tmp1_ = self->priv->alpm_config; _tmp2_ = alpm_config_get_handle (_tmp1_, TRUE, TRUE, TRUE); tmp_files_handle = _tmp2_; _tmp3_ = tmp_files_handle; if (_tmp3_ != NULL) { AlpmConfig* _tmp4_; alpm_handle_t* _tmp5_; alpm_list_t* syncdbs = NULL; alpm_handle_t* _tmp6_; alpm_list_t* _tmp7_; alpm_list_t* _tmp8_; alpm_handle_t* _tmp9_; alpm_list_t* _tmp10_; _tmp4_ = self->priv->alpm_config; _tmp5_ = tmp_files_handle; alpm_config_register_syncdbs (_tmp4_, _tmp5_); _tmp6_ = tmp_files_handle; _tmp7_ = alpm_get_syncdbs (_tmp6_); _tmp8_ = _tmp7_; syncdbs = _tmp8_; _tmp9_ = tmp_files_handle; _tmp10_ = syncdbs; alpm_db_update (_tmp9_, _tmp10_, 0); } _alpm_release0 (tmp_files_handle); } __finally0: { AlpmConfig* _tmp11_; _tmp11_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } } GDateTime* pamac_database_get_last_refresh_time (PamacDatabase* self) { gchar* timestamp_path = NULL; gchar* _tmp0_; GError* _inner_error0_ = NULL; GDateTime* result; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_strdup ("/var/tmp/pamac/dbs/sync/refresh_timestamp"); timestamp_path = _tmp0_; { GFile* timestamp_file = NULL; const gchar* _tmp1_; GFile* _tmp2_; GFile* _tmp3_; _tmp1_ = timestamp_path; _tmp2_ = g_file_new_for_path (_tmp1_); timestamp_file = _tmp2_; _tmp3_ = timestamp_file; if (g_file_query_exists (_tmp3_, NULL)) { GFileInfo* info = NULL; GFile* _tmp4_; GFileInfo* _tmp5_; GFileInfo* _tmp6_; GDateTime* _tmp7_; GDateTime* _tmp8_; GDateTime* _tmp9_; GDateTime* _tmp10_; _tmp4_ = timestamp_file; _tmp5_ = g_file_query_info (_tmp4_, G_FILE_ATTRIBUTE_TIME_MODIFIED, G_FILE_QUERY_INFO_NONE, NULL, &_inner_error0_); info = _tmp5_; if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (timestamp_file); goto __catch0_g_error; } _tmp6_ = info; _tmp7_ = g_file_info_get_modification_date_time (_tmp6_); _tmp8_ = _tmp7_; _tmp9_ = g_date_time_to_local (_tmp8_); _tmp10_ = _tmp9_; _g_date_time_unref0 (_tmp8_); result = _tmp10_; _g_object_unref0 (info); _g_object_unref0 (timestamp_file); _g_free0 (timestamp_path); return result; } _g_object_unref0 (timestamp_file); } goto __finally0; __catch0_g_error: { GError* e = NULL; GError* _tmp11_; const gchar* _tmp12_; e = _inner_error0_; _inner_error0_ = NULL; _tmp11_ = e; _tmp12_ = _tmp11_->message; g_warning ("database.vala:2078: %s", _tmp12_); _g_error_free0 (e); } __finally0: if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_free0 (timestamp_path); 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; } result = NULL; _g_free0 (timestamp_path); return result; } static gint64 pamac_database_get_last_refresh_age (PamacDatabase* self) { GDateTime* last_modifed = NULL; GDateTime* _tmp0_; GDateTime* _tmp1_; GDateTime* now = NULL; GDateTime* _tmp2_; GTimeSpan elapsed_time = 0LL; GDateTime* _tmp3_; GDateTime* _tmp4_; gint64 result; g_return_val_if_fail (self != NULL, 0LL); _tmp0_ = pamac_database_get_last_refresh_time (self); last_modifed = _tmp0_; _tmp1_ = last_modifed; if (_tmp1_ == NULL) { result = G_MAXINT64; _g_date_time_unref0 (last_modifed); return result; } _tmp2_ = g_date_time_new_now_local (); now = _tmp2_; _tmp3_ = now; _tmp4_ = last_modifed; elapsed_time = g_date_time_difference (_tmp3_, _tmp4_); result = (gint64) elapsed_time; _g_date_time_unref0 (now); _g_date_time_unref0 (last_modifed); return result; } gboolean pamac_database_need_refresh (PamacDatabase* self) { gboolean need_refresh = FALSE; gint64 elapsed_time = 0LL; gboolean result; g_return_val_if_fail (self != NULL, FALSE); need_refresh = TRUE; elapsed_time = pamac_database_get_last_refresh_age (self); if (elapsed_time < ((gint64) G_TIME_SPAN_HOUR)) { need_refresh = FALSE; } else { gint64 elapsed_hours = 0LL; PamacConfig* _tmp0_; guint64 _tmp1_; guint64 _tmp2_; elapsed_hours = elapsed_time / G_TIME_SPAN_HOUR; _tmp0_ = self->priv->_config; _tmp1_ = pamac_config_get_refresh_period (_tmp0_); _tmp2_ = _tmp1_; if (((guint64) elapsed_hours) < _tmp2_) { need_refresh = FALSE; } } result = need_refresh; return result; } static gboolean ___lambda29_ (PamacDatabase* self) { gboolean result; g_signal_emit (self, pamac_database_signals[PAMAC_DATABASE_GET_UPDATES_PROGRESS_SIGNAL], 0, (guint) 0); result = FALSE; return result; } static gboolean ____lambda29__gsource_func (gpointer self) { gboolean result; result = ___lambda29_ ((PamacDatabase*) self); return result; } static void _cb_dl_alpm_cb_download (void* ctx, const gchar* filename, alpm_download_event_type_t event_type, void* event_data) { cb_dl (ctx, filename, event_type, event_data); } static gboolean _____lambda31_ (PamacDatabase* self) { gboolean result; g_signal_emit (self, pamac_database_signals[PAMAC_DATABASE_EMIT_WARNING_SIGNAL], 0, g_dgettext (NULL, "Failed to synchronize databases")); result = FALSE; return result; } static gboolean ______lambda31__gsource_func (gpointer self) { gboolean result; result = _____lambda31_ ((PamacDatabase*) self); return result; } static gboolean ____lambda32_ (PamacDatabase* self) { gboolean result; g_signal_emit (self, pamac_database_signals[PAMAC_DATABASE_GET_UPDATES_PROGRESS_SIGNAL], 0, (guint) 90); result = FALSE; return result; } static gboolean _____lambda32__gsource_func (gpointer self) { gboolean result; result = ____lambda32_ ((PamacDatabase*) self); return result; } static gboolean ____lambda33_ (PamacDatabase* self) { gboolean result; g_signal_emit (self, pamac_database_signals[PAMAC_DATABASE_GET_UPDATES_PROGRESS_SIGNAL], 0, (guint) 95); result = FALSE; return result; } static gboolean _____lambda33__gsource_func (gpointer self) { gboolean result; result = ____lambda33_ ((PamacDatabase*) self); return result; } static gboolean ____lambda34_ (PamacDatabase* self) { gboolean result; g_signal_emit (self, pamac_database_signals[PAMAC_DATABASE_GET_UPDATES_PROGRESS_SIGNAL], 0, (guint) 100); result = FALSE; return result; } static gboolean _____lambda34__gsource_func (gpointer self) { gboolean result; result = ____lambda34_ ((PamacDatabase*) self); return result; } static gboolean ____lambda35_ (PamacDatabase* self) { gboolean result; g_signal_emit (self, pamac_database_signals[PAMAC_DATABASE_GET_UPDATES_PROGRESS_SIGNAL], 0, (guint) 100); result = FALSE; return result; } static gboolean _____lambda35__gsource_func (gpointer self) { gboolean result; result = ____lambda35_ ((PamacDatabase*) self); return result; } static void pamac_database_get_updates_real (PamacDatabase* self, gboolean use_timestamp, PamacUpdates** updates) { GError* _inner_error0_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (*updates != NULL); { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { AlpmConfig* _tmp1_; GMainContext* _tmp2_; alpm_handle_t* tmp_handle = NULL; alpm_handle_t* _tmp3_; alpm_handle_t* _tmp4_; gboolean _tmp14_ = FALSE; PamacConfig* _tmp15_; gboolean _tmp16_; gboolean _tmp17_; gboolean check_aur_updates = FALSE; gboolean refresh_tmp_dbs = FALSE; GPtrArray* repos_updates = NULL; GPtrArray* _tmp59_; GPtrArray* _tmp60_; GPtrArray* ignored_repos_updates = NULL; GPtrArray* _tmp61_; GPtrArray* _tmp62_; GPtrArray* local_pkgs = NULL; GPtrArray* _tmp63_; GPtrArray* vcs_local_pkgs = NULL; GPtrArray* _tmp64_; alpm_list_t* pkgcache = NULL; alpm_handle_t* _tmp65_; alpm_db_t* _tmp66_; alpm_db_t* _tmp67_; alpm_list_t* _tmp68_; alpm_list_t* _tmp69_; GPtrArray* flatpak_updates = NULL; GPtrArray* _tmp138_; GPtrArray* _tmp139_; GPtrArray* _tmp140_; PamacConfig* _tmp141_; gboolean _tmp142_; gboolean _tmp143_; _tmp1_ = self->priv->alpm_config; alpm_config_reload (_tmp1_); _tmp2_ = self->priv->_context; g_main_context_invoke_full (_tmp2_, G_PRIORITY_DEFAULT, ____lambda29__gsource_func, g_object_ref (self), g_object_unref); _tmp3_ = pamac_database_get_tmp_handle (self); tmp_handle = _tmp3_; _tmp4_ = tmp_handle; if (_tmp4_ == NULL) { _alpm_release0 (tmp_handle); { AlpmConfig* _tmp5_; _tmp5_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return; } { GHashTableIter _name_it = {0}; PamacConfig* _tmp6_; GHashTable* _tmp7_; GHashTable* _tmp8_; GHashTableIter _tmp9_ = {0}; const gchar* name = NULL; _tmp6_ = self->priv->_config; _tmp7_ = pamac_config_get_ignorepkgs (_tmp6_); _tmp8_ = _tmp7_; g_hash_table_iter_init (&_tmp9_, _tmp8_); _name_it = _tmp9_; while (TRUE) { gconstpointer _tmp10_; const gchar* _tmp11_; alpm_handle_t* _tmp12_; const gchar* _tmp13_; _tmp10_ = _vala_hash_set_next_value (&_name_it); name = (const gchar*) _tmp10_; _tmp11_ = name; if (!(_tmp11_ != NULL)) { break; } _tmp12_ = tmp_handle; _tmp13_ = name; alpm_option_add_ignorepkg (_tmp12_, _tmp13_); } } _tmp15_ = self->priv->_config; _tmp16_ = pamac_config_get_support_aur (_tmp15_); _tmp17_ = _tmp16_; if (_tmp17_) { PamacConfig* _tmp18_; gboolean _tmp19_; gboolean _tmp20_; _tmp18_ = self->priv->_config; _tmp19_ = pamac_config_get_check_aur_updates (_tmp18_); _tmp20_ = _tmp19_; _tmp14_ = _tmp20_; } else { _tmp14_ = FALSE; } check_aur_updates = _tmp14_; refresh_tmp_dbs = TRUE; if (use_timestamp) { refresh_tmp_dbs = pamac_database_need_refresh (self); } if (refresh_tmp_dbs) { gboolean success = FALSE; alpm_list_t* syncdbs = NULL; alpm_handle_t* _tmp21_; alpm_list_t* _tmp22_; alpm_list_t* _tmp23_; alpm_list_t* _tmp24_; alpm_handle_t* _tmp25_; alpm_handle_t* _tmp26_; alpm_list_t* _tmp27_; success = TRUE; _tmp21_ = tmp_handle; _tmp22_ = alpm_get_syncdbs (_tmp21_); _tmp23_ = _tmp22_; syncdbs = _tmp23_; _tmp24_ = syncdbs; pamac_database_set_dbs_count (self, alpm_list_count (_tmp24_)); pamac_database_set_dbs_index (self, (gsize) 0); _tmp25_ = tmp_handle; alpm_option_set_dlcb (_tmp25_, _cb_dl_alpm_cb_download, self); _tmp26_ = tmp_handle; _tmp27_ = syncdbs; if (alpm_db_update (_tmp26_, _tmp27_, 0) < 0) { gchar* dbs_lock_path = NULL; gchar* _tmp28_; GFile* file = NULL; const gchar* _tmp29_; GFile* _tmp30_; GFile* _tmp31_; success = FALSE; _tmp28_ = g_strdup ("/var/tmp/pamac/dbs/db.lck"); dbs_lock_path = _tmp28_; _tmp29_ = dbs_lock_path; _tmp30_ = g_file_new_for_path (_tmp29_); file = _tmp30_; _tmp31_ = file; if (g_file_query_exists (_tmp31_, NULL)) { { const gchar* _tmp32_; gchar* _tmp33_; gchar* _tmp34_; _tmp32_ = dbs_lock_path; _tmp33_ = g_strdup_printf ("rm -f %s", _tmp32_); _tmp34_ = _tmp33_; g_spawn_command_line_sync (_tmp34_, NULL, NULL, NULL, &_inner_error0_); _g_free0 (_tmp34_); if (G_UNLIKELY (_inner_error0_ != NULL)) { if (_inner_error0_->domain == G_SPAWN_ERROR) { goto __catch1_g_spawn_error; } _g_object_unref0 (file); _g_free0 (dbs_lock_path); _alpm_release0 (tmp_handle); { AlpmConfig* _tmp35_; _tmp35_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } g_critical ("file %s: line %d: unexpected 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; } } goto __finally1; __catch1_g_spawn_error: { GError* e = NULL; GError* _tmp36_; const gchar* _tmp37_; e = _inner_error0_; _inner_error0_ = NULL; _tmp36_ = e; _tmp37_ = _tmp36_->message; g_warning ("database.vala:2145: %s", _tmp37_); _g_error_free0 (e); } __finally1: if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (file); _g_free0 (dbs_lock_path); _alpm_release0 (tmp_handle); g_critical ("file %s: line %d: unexpected 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; } } _g_object_unref0 (file); _g_free0 (dbs_lock_path); } if (check_aur_updates) { PamacAURPlugin* _tmp38_; _tmp38_ = self->priv->_aur_plugin; success = pamac_aur_plugin_update_db (_tmp38_, FALSE, FALSE); } if (success) { { gchar* timestamp_path = NULL; gchar* _tmp39_; GFile* file = NULL; const gchar* _tmp40_; GFile* _tmp41_; GFile* _tmp42_; _tmp39_ = g_strdup ("/var/tmp/pamac/dbs/sync/refresh_timestamp"); timestamp_path = _tmp39_; _tmp40_ = timestamp_path; _tmp41_ = g_file_new_for_path (_tmp40_); file = _tmp41_; _tmp42_ = file; if (!g_file_query_exists (_tmp42_, NULL)) { const gchar* _tmp43_; gchar* _tmp44_; gchar* _tmp45_; const gchar* _tmp47_; gchar* _tmp48_; gchar* _tmp49_; _tmp43_ = timestamp_path; _tmp44_ = g_strdup_printf ("touch %s", _tmp43_); _tmp45_ = _tmp44_; g_spawn_command_line_sync (_tmp45_, NULL, NULL, NULL, &_inner_error0_); _g_free0 (_tmp45_); if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (file); _g_free0 (timestamp_path); if (_inner_error0_->domain == G_SPAWN_ERROR) { goto __catch2_g_spawn_error; } _alpm_release0 (tmp_handle); { AlpmConfig* _tmp46_; _tmp46_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } g_critical ("file %s: line %d: unexpected 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; } _tmp47_ = timestamp_path; _tmp48_ = g_strdup_printf ("chmod a+w %s", _tmp47_); _tmp49_ = _tmp48_; g_spawn_command_line_sync (_tmp49_, NULL, NULL, NULL, &_inner_error0_); _g_free0 (_tmp49_); if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (file); _g_free0 (timestamp_path); if (_inner_error0_->domain == G_SPAWN_ERROR) { goto __catch2_g_spawn_error; } _alpm_release0 (tmp_handle); { AlpmConfig* _tmp50_; _tmp50_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } g_critical ("file %s: line %d: unexpected 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; } } else { const gchar* _tmp51_; gchar* _tmp52_; gchar* _tmp53_; _tmp51_ = timestamp_path; _tmp52_ = g_strdup_printf ("touch %s", _tmp51_); _tmp53_ = _tmp52_; g_spawn_command_line_sync (_tmp53_, NULL, NULL, NULL, &_inner_error0_); _g_free0 (_tmp53_); if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (file); _g_free0 (timestamp_path); if (_inner_error0_->domain == G_SPAWN_ERROR) { goto __catch2_g_spawn_error; } _alpm_release0 (tmp_handle); { AlpmConfig* _tmp54_; _tmp54_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } g_critical ("file %s: line %d: unexpected 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; } } _g_object_unref0 (file); _g_free0 (timestamp_path); } goto __finally2; __catch2_g_spawn_error: { GError* e = NULL; GError* _tmp55_; const gchar* _tmp56_; e = _inner_error0_; _inner_error0_ = NULL; _tmp55_ = e; _tmp56_ = _tmp55_->message; g_warning ("database.vala:2165: %s", _tmp56_); _g_error_free0 (e); } __finally2: if (G_UNLIKELY (_inner_error0_ != NULL)) { _alpm_release0 (tmp_handle); g_critical ("file %s: line %d: unexpected 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; } } else { GMainContext* _tmp57_; _tmp57_ = self->priv->_context; g_main_context_invoke_full (_tmp57_, G_PRIORITY_DEFAULT, ______lambda31__gsource_func, g_object_ref (self), g_object_unref); } } else { GMainContext* _tmp58_; _tmp58_ = self->priv->_context; g_main_context_invoke_full (_tmp58_, G_PRIORITY_DEFAULT, _____lambda32__gsource_func, g_object_ref (self), g_object_unref); } _tmp59_ = pamac_updates_get_repos_updates (*updates); _tmp60_ = _tmp59_; repos_updates = _tmp60_; _tmp61_ = pamac_updates_get_ignored_repos_updates (*updates); _tmp62_ = _tmp61_; ignored_repos_updates = _tmp62_; _tmp63_ = g_ptr_array_new_full ((guint) 0, _g_free0_); local_pkgs = _tmp63_; _tmp64_ = g_ptr_array_new_full ((guint) 0, _g_free0_); vcs_local_pkgs = _tmp64_; _tmp65_ = tmp_handle; _tmp66_ = alpm_get_localdb (_tmp65_); _tmp67_ = _tmp66_; _tmp68_ = alpm_db_get_pkgcache (_tmp67_); _tmp69_ = _tmp68_; pkgcache = _tmp69_; while (TRUE) { alpm_list_t* _tmp70_; alpm_pkg_t* installed_pkg = NULL; alpm_list_t* _tmp71_; gconstpointer _tmp72_; alpm_pkg_t* candidate = NULL; alpm_pkg_t* _tmp73_; alpm_handle_t* _tmp74_; alpm_list_t* _tmp75_; alpm_list_t* _tmp76_; alpm_pkg_t* _tmp77_; alpm_pkg_t* _tmp78_; _tmp70_ = pkgcache; if (!(_tmp70_ != NULL)) { break; } _tmp71_ = pkgcache; _tmp72_ = _tmp71_->data; installed_pkg = (alpm_pkg_t*) _tmp72_; _tmp73_ = installed_pkg; _tmp74_ = tmp_handle; _tmp75_ = alpm_get_syncdbs (_tmp74_); _tmp76_ = _tmp75_; _tmp77_ = alpm_sync_get_new_version (_tmp73_, _tmp76_); candidate = _tmp77_; _tmp78_ = candidate; if (_tmp78_ != NULL) { gboolean _tmp79_ = FALSE; alpm_handle_t* _tmp80_; alpm_pkg_t* _tmp81_; _tmp80_ = tmp_handle; _tmp81_ = installed_pkg; if (alpm_pkg_should_ignore (_tmp80_, _tmp81_) == 1) { _tmp79_ = TRUE; } else { alpm_handle_t* _tmp82_; alpm_pkg_t* _tmp83_; _tmp82_ = tmp_handle; _tmp83_ = candidate; _tmp79_ = alpm_pkg_should_ignore (_tmp82_, _tmp83_) == 1; } if (_tmp79_) { PamacAlpmPackageStatic* pkg = NULL; alpm_pkg_t* _tmp84_; alpm_pkg_t* _tmp85_; PamacAlpmPackageStatic* _tmp86_; GPtrArray* _tmp87_; PamacAlpmPackageStatic* _tmp88_; PamacAlpmPackage* _tmp89_; _tmp84_ = installed_pkg; _tmp85_ = candidate; _tmp86_ = pamac_database_initialise_pkg_data (self, _tmp84_, _tmp85_); pkg = _tmp86_; _tmp87_ = ignored_repos_updates; _tmp88_ = pkg; _tmp89_ = _g_object_ref0 ((PamacAlpmPackage*) _tmp88_); g_ptr_array_add (_tmp87_, _tmp89_); _g_object_unref0 (pkg); } else { PamacAlpmPackageStatic* pkg = NULL; alpm_pkg_t* _tmp90_; alpm_pkg_t* _tmp91_; PamacAlpmPackageStatic* _tmp92_; GPtrArray* _tmp93_; PamacAlpmPackageStatic* _tmp94_; PamacAlpmPackage* _tmp95_; _tmp90_ = installed_pkg; _tmp91_ = candidate; _tmp92_ = pamac_database_initialise_pkg_data (self, _tmp90_, _tmp91_); pkg = _tmp92_; _tmp93_ = repos_updates; _tmp94_ = pkg; _tmp95_ = _g_object_ref0 ((PamacAlpmPackage*) _tmp94_); g_ptr_array_add (_tmp93_, _tmp95_); _g_object_unref0 (pkg); } } else { if (check_aur_updates) { alpm_pkg_t* pkg = NULL; alpm_handle_t* _tmp96_; alpm_pkg_t* _tmp97_; const gchar* _tmp98_; const gchar* _tmp99_; alpm_pkg_t* _tmp100_; alpm_pkg_t* _tmp101_; _tmp96_ = tmp_handle; _tmp97_ = installed_pkg; _tmp98_ = alpm_pkg_get_name (_tmp97_); _tmp99_ = _tmp98_; _tmp100_ = pamac_database_get_syncpkg (self, _tmp96_, _tmp99_); pkg = _tmp100_; _tmp101_ = pkg; if (_tmp101_ == NULL) { gboolean _tmp102_ = FALSE; PamacConfig* _tmp103_; gboolean _tmp104_; gboolean _tmp105_; _tmp103_ = self->priv->_config; _tmp104_ = pamac_config_get_check_aur_vcs_updates (_tmp103_); _tmp105_ = _tmp104_; if (_tmp105_) { gboolean _tmp106_ = FALSE; gboolean _tmp107_ = FALSE; gboolean _tmp108_ = FALSE; alpm_pkg_t* _tmp109_; const gchar* _tmp110_; const gchar* _tmp111_; _tmp109_ = installed_pkg; _tmp110_ = alpm_pkg_get_name (_tmp109_); _tmp111_ = _tmp110_; if (g_str_has_suffix (_tmp111_, "-git")) { _tmp108_ = TRUE; } else { alpm_pkg_t* _tmp112_; const gchar* _tmp113_; const gchar* _tmp114_; _tmp112_ = installed_pkg; _tmp113_ = alpm_pkg_get_name (_tmp112_); _tmp114_ = _tmp113_; _tmp108_ = g_str_has_suffix (_tmp114_, "-svn"); } if (_tmp108_) { _tmp107_ = TRUE; } else { alpm_pkg_t* _tmp115_; const gchar* _tmp116_; const gchar* _tmp117_; _tmp115_ = installed_pkg; _tmp116_ = alpm_pkg_get_name (_tmp115_); _tmp117_ = _tmp116_; _tmp107_ = g_str_has_suffix (_tmp117_, "-bzr"); } if (_tmp107_) { _tmp106_ = TRUE; } else { alpm_pkg_t* _tmp118_; const gchar* _tmp119_; const gchar* _tmp120_; _tmp118_ = installed_pkg; _tmp119_ = alpm_pkg_get_name (_tmp118_); _tmp120_ = _tmp119_; _tmp106_ = g_str_has_suffix (_tmp120_, "-hg"); } _tmp102_ = _tmp106_; } else { _tmp102_ = FALSE; } if (_tmp102_) { alpm_handle_t* _tmp121_; alpm_pkg_t* _tmp122_; _tmp121_ = tmp_handle; _tmp122_ = installed_pkg; if (alpm_pkg_should_ignore (_tmp121_, _tmp122_) == 0) { GPtrArray* _tmp123_; alpm_pkg_t* _tmp124_; const gchar* _tmp125_; const gchar* _tmp126_; gchar* _tmp127_; GPtrArray* _tmp128_; alpm_pkg_t* _tmp129_; const gchar* _tmp130_; const gchar* _tmp131_; gchar* _tmp132_; _tmp123_ = local_pkgs; _tmp124_ = installed_pkg; _tmp125_ = alpm_pkg_get_name (_tmp124_); _tmp126_ = _tmp125_; _tmp127_ = g_strdup (_tmp126_); g_ptr_array_add (_tmp123_, _tmp127_); _tmp128_ = vcs_local_pkgs; _tmp129_ = installed_pkg; _tmp130_ = alpm_pkg_get_name (_tmp129_); _tmp131_ = _tmp130_; _tmp132_ = g_strdup (_tmp131_); g_ptr_array_add (_tmp128_, _tmp132_); } } else { GPtrArray* _tmp133_; alpm_pkg_t* _tmp134_; const gchar* _tmp135_; const gchar* _tmp136_; gchar* _tmp137_; _tmp133_ = local_pkgs; _tmp134_ = installed_pkg; _tmp135_ = alpm_pkg_get_name (_tmp134_); _tmp136_ = _tmp135_; _tmp137_ = g_strdup (_tmp136_); g_ptr_array_add (_tmp133_, _tmp137_); } } } } pkgcache = alpm_list_next (pkgcache); } _tmp138_ = pamac_updates_get_flatpak_updates (*updates); _tmp139_ = _tmp138_; _tmp140_ = _g_ptr_array_ref0 (_tmp139_); flatpak_updates = _tmp140_; _tmp141_ = self->priv->_config; _tmp142_ = pamac_config_get_check_flatpak_updates (_tmp141_); _tmp143_ = _tmp142_; if (_tmp143_) { PamacFlatpakPlugin* _tmp144_; _tmp144_ = self->priv->flatpak_plugin; pamac_flatpak_plugin_get_flatpak_updates (_tmp144_, &flatpak_updates); } if (check_aur_updates) { gboolean _tmp145_ = FALSE; PamacConfig* _tmp146_; gboolean _tmp147_; gboolean _tmp148_; GMainContext* _tmp150_; PamacAURPlugin* _tmp151_; GPtrArray* _tmp152_; GPtrArray* _tmp153_; GPtrArray* _tmp154_; GPtrArray* _tmp155_; alpm_handle_t* _tmp156_; GMainContext* _tmp157_; _tmp146_ = self->priv->_config; _tmp147_ = pamac_config_get_check_aur_vcs_updates (_tmp146_); _tmp148_ = _tmp147_; if (_tmp148_) { _tmp145_ = refresh_tmp_dbs; } else { _tmp145_ = FALSE; } if (_tmp145_) { GPtrArray* _tmp149_; _tmp149_ = vcs_local_pkgs; pamac_database_refresh_vcs_sources (self, _tmp149_); } _tmp150_ = self->priv->_context; g_main_context_invoke_full (_tmp150_, G_PRIORITY_DEFAULT, _____lambda33__gsource_func, g_object_ref (self), g_object_unref); _tmp151_ = self->priv->_aur_plugin; _tmp152_ = local_pkgs; _tmp153_ = pamac_aur_plugin_get_multi_infos (_tmp151_, _tmp152_); _tmp154_ = _tmp153_; _tmp155_ = vcs_local_pkgs; _tmp156_ = tmp_handle; pamac_database_get_aur_updates_real (self, _tmp154_, _tmp155_, _tmp156_, updates); _g_ptr_array_unref0 (_tmp154_); _tmp157_ = self->priv->_context; g_main_context_invoke_full (_tmp157_, G_PRIORITY_DEFAULT, _____lambda34__gsource_func, g_object_ref (self), g_object_unref); } else { GMainContext* _tmp158_; _tmp158_ = self->priv->_context; g_main_context_invoke_full (_tmp158_, G_PRIORITY_DEFAULT, _____lambda35__gsource_func, g_object_ref (self), g_object_unref); } _g_ptr_array_unref0 (flatpak_updates); _g_ptr_array_unref0 (vcs_local_pkgs); _g_ptr_array_unref0 (local_pkgs); _alpm_release0 (tmp_handle); } __finally0: { AlpmConfig* _tmp159_; _tmp159_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } 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; } } } PamacUpdates* pamac_database_get_updates (PamacDatabase* self, gboolean use_timestamp) { PamacUpdates* updates = NULL; PamacUpdates* _tmp0_; PamacUpdates* result; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = pamac_updates_new (); updates = _tmp0_; pamac_database_get_updates_real (self, use_timestamp, &updates); result = updates; return result; } static void pamac_database_get_updates_async_data_free (gpointer _data) { PamacDatabaseGetUpdatesAsyncData* _data_; _data_ = _data; _g_object_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetUpdatesAsyncData, _data_); } void pamac_database_get_updates_async (PamacDatabase* self, gboolean use_timestamp, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetUpdatesAsyncData* _data_; PamacDatabase* _tmp0_; g_return_if_fail (self != NULL); _data_ = g_slice_new0 (PamacDatabaseGetUpdatesAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_updates_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _data_->use_timestamp = use_timestamp; pamac_database_get_updates_async_co (_data_); } PamacUpdates* pamac_database_get_updates_finish (PamacDatabase* self, GAsyncResult* _res_) { PamacUpdates* result; PamacDatabaseGetUpdatesAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block51Data* block51_data_ref (Block51Data* _data51_) { g_atomic_int_inc (&_data51_->_ref_count_); return _data51_; } static void block51_data_unref (void * _userdata_) { Block51Data* _data51_; _data51_ = (Block51Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data51_->_ref_count_)) { PamacDatabase* self; self = _data51_->self; _g_object_unref0 (_data51_->updates); _g_object_unref0 (self); g_slice_free (Block51Data, _data51_); } } static gboolean _pamac_database_get_updates_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_updates_async_co (self); return result; } static gint ___lambda36_ (Block51Data* _data51_) { PamacDatabase* self; GMainContext* _tmp0_; gint result; self = _data51_->self; pamac_database_get_updates_real (self, _data51_->use_timestamp, &_data51_->updates); _tmp0_ = self->priv->_context; g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, _pamac_database_get_updates_async_co_gsource_func, _data51_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda36__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda36_ (self)); block51_data_unref (self); return result; } static gboolean pamac_database_get_updates_async_co (PamacDatabaseGetUpdatesAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data51_ = g_slice_new0 (Block51Data); _data_->_data51_->_ref_count_ = 1; _data_->_data51_->self = g_object_ref (_data_->self); _data_->_data51_->use_timestamp = _data_->use_timestamp; _data_->_data51_->_async_data_ = _data_; _data_->_tmp0_ = pamac_updates_new (); _data_->_data51_->updates = _data_->_tmp0_; { _data_->_tmp1_ = g_thread_try_new ("get_updates", ____lambda36__gthread_func, block51_data_ref (_data_->_data51_), &_data_->_inner_error0_); _data_->_tmp2_ = _data_->_tmp1_; _g_thread_unref0 (_data_->_tmp2_); 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_->_tmp3_ = _data_->e; _data_->_tmp4_ = _data_->_tmp3_->message; g_warning ("database.vala:2268: %s", _data_->_tmp4_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block51_data_unref (_data_->_data51_); _data_->_data51_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp5_ = _g_object_ref0 (_data_->_data51_->updates); _data_->result = _data_->_tmp5_; block51_data_unref (_data_->_data51_); _data_->_data51_ = NULL; 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_database_refresh_vcs_sources (PamacDatabase* self, GPtrArray* vcs_local_pkgs) { g_return_if_fail (self != NULL); g_return_if_fail (vcs_local_pkgs != NULL); { GPtrArray* pkgname_collection = NULL; guint pkgname_index = 0U; pkgname_collection = vcs_local_pkgs; for (pkgname_index = 0; pkgname_index < pkgname_collection->len; pkgname_index = pkgname_index + 1) { const gchar* pkgname = NULL; pkgname = (const gchar*) g_ptr_array_index (pkgname_collection, pkgname_index); { PamacAURInfos* aur_infos = NULL; PamacAURPlugin* _tmp0_; const gchar* _tmp1_; PamacAURInfos* _tmp2_; PamacAURInfos* _tmp3_; GFile* clone_dir = NULL; PamacAURInfos* _tmp4_; const gchar* _tmp5_; const gchar* _tmp6_; GFile* _tmp7_; GFile* _tmp8_; _tmp0_ = self->priv->_aur_plugin; _tmp1_ = pkgname; _tmp2_ = pamac_aur_plugin_get_infos (_tmp0_, _tmp1_); aur_infos = _tmp2_; _tmp3_ = aur_infos; if (_tmp3_ == NULL) { _g_object_unref0 (aur_infos); continue; } _tmp4_ = aur_infos; _tmp5_ = pamac_aur_infos_get_packagebase (_tmp4_); _tmp6_ = _tmp5_; _tmp7_ = pamac_database_clone_build_files (self, _tmp6_, FALSE, NULL); clone_dir = _tmp7_; _tmp8_ = clone_dir; if (_tmp8_ != NULL) { GSubprocessLauncher* launcher = NULL; GSubprocessLauncher* _tmp9_; gchar* cwd = NULL; GFile* _tmp10_; gchar* _tmp11_; GSubprocessLauncher* _tmp12_; const gchar* _tmp13_; GPtrArray* cmdline = NULL; const gchar* _tmp14_; GPtrArray* _tmp15_; GPtrArray* _tmp16_; gchar* _tmp17_; GPtrArray* _tmp18_; gchar* _tmp19_; GPtrArray* _tmp20_; gchar* _tmp21_; GPtrArray* _tmp22_; gchar* _tmp23_; GPtrArray* _tmp24_; gchar* _tmp25_; gint status = 0; GSubprocessLauncher* _tmp26_; GPtrArray* _tmp27_; _tmp9_ = g_subprocess_launcher_new (G_SUBPROCESS_FLAGS_STDOUT_SILENCE | G_SUBPROCESS_FLAGS_STDERR_SILENCE); launcher = _tmp9_; _tmp10_ = clone_dir; _tmp11_ = g_file_get_path (_tmp10_); cwd = _tmp11_; _tmp12_ = launcher; _tmp13_ = cwd; g_subprocess_launcher_set_cwd (_tmp12_, _tmp13_); _tmp14_ = cwd; _tmp15_ = pamac_database_get_dynamic_user_cmdline (self, _tmp14_); cmdline = _tmp15_; _tmp16_ = cmdline; _tmp17_ = g_strdup ("makepkg"); g_ptr_array_add (_tmp16_, _tmp17_); _tmp18_ = cmdline; _tmp19_ = g_strdup ("--nobuild"); g_ptr_array_add (_tmp18_, _tmp19_); _tmp20_ = cmdline; _tmp21_ = g_strdup ("--noprepare"); g_ptr_array_add (_tmp20_, _tmp21_); _tmp22_ = cmdline; _tmp23_ = g_strdup ("--nodeps"); g_ptr_array_add (_tmp22_, _tmp23_); _tmp24_ = cmdline; _tmp25_ = g_strdup ("--skipinteg"); g_ptr_array_add (_tmp24_, _tmp25_); _tmp26_ = launcher; _tmp27_ = cmdline; status = pamac_database_launch_subprocess (self, _tmp26_, _tmp27_, NULL); if (status == 0) { GFile* _tmp28_; gchar* _tmp29_; gchar* _tmp30_; _tmp28_ = clone_dir; _tmp29_ = g_file_get_basename (_tmp28_); _tmp30_ = _tmp29_; pamac_database_regenerate_srcinfo (self, _tmp30_, NULL); _g_free0 (_tmp30_); } _g_ptr_array_unref0 (cmdline); _g_free0 (cwd); _g_object_unref0 (launcher); } _g_object_unref0 (clone_dir); _g_object_unref0 (aur_infos); } } } } static GHashTable* pamac_database_get_vcs_last_version (PamacDatabase* self, GPtrArray* vcs_local_pkgs) { GHashTable* pkgnames_table = NULL; GHashFunc _tmp0_; GEqualFunc _tmp1_; GHashTable* _tmp2_; const gchar* real_aur_build_dir = NULL; PamacAURPlugin* _tmp3_; const gchar* _tmp4_; GError* _inner_error0_ = NULL; GHashTable* result; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (vcs_local_pkgs != NULL, NULL); _tmp0_ = g_str_hash; _tmp1_ = g_str_equal; _tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_free0_, _g_free0_); pkgnames_table = _tmp2_; _tmp3_ = self->priv->_aur_plugin; _tmp4_ = pamac_aur_plugin_get_real_build_dir (_tmp3_); real_aur_build_dir = _tmp4_; { GPtrArray* pkgname_collection = NULL; guint pkgname_index = 0U; pkgname_collection = vcs_local_pkgs; for (pkgname_index = 0; pkgname_index < pkgname_collection->len; pkgname_index = pkgname_index + 1) { const gchar* pkgname = NULL; pkgname = (const gchar*) g_ptr_array_index (pkgname_collection, pkgname_index); { GHashTable* _tmp5_; const gchar* _tmp6_; GFile* pkgdir = NULL; const gchar* _tmp7_; const gchar* _tmp8_; gchar* _tmp9_; gchar* _tmp10_; GFile* _tmp11_; GFile* _tmp12_; GFile* _tmp13_; _tmp5_ = self->priv->aur_vcs_pkgs; _tmp6_ = pkgname; if (g_hash_table_contains (_tmp5_, _tmp6_)) { continue; } _tmp7_ = real_aur_build_dir; _tmp8_ = pkgname; _tmp9_ = g_build_filename (_tmp7_, _tmp8_, NULL); _tmp10_ = _tmp9_; _tmp11_ = g_file_new_for_path (_tmp10_); _tmp12_ = _tmp11_; _g_free0 (_tmp10_); pkgdir = _tmp12_; _tmp13_ = pkgdir; if (g_file_query_exists (_tmp13_, NULL)) { GFile* srcinfo = NULL; GFile* _tmp14_; GFile* _tmp15_; _tmp14_ = pkgdir; _tmp15_ = g_file_get_child (_tmp14_, ".SRCINFO"); srcinfo = _tmp15_; { GFileInputStream* _tmp16_ = NULL; GFile* _tmp17_; GFileInputStream* _tmp18_; GDataInputStream* dis = NULL; GDataInputStream* _tmp19_; gchar* line = NULL; GString* version = NULL; GString* _tmp20_; _tmp17_ = srcinfo; _tmp18_ = g_file_read (_tmp17_, NULL, &_inner_error0_); _tmp16_ = _tmp18_; if (G_UNLIKELY (_inner_error0_ != NULL)) { goto __catch0_g_error; } _tmp19_ = g_data_input_stream_new ((GInputStream*) _tmp16_); dis = _tmp19_; _tmp20_ = g_string_new (""); version = _tmp20_; while (TRUE) { gchar* _tmp21_ = NULL; GDataInputStream* _tmp22_; gchar* _tmp23_; gchar* _tmp24_; const gchar* _tmp25_; const gchar* _tmp26_; _tmp22_ = dis; _tmp23_ = g_data_input_stream_read_line (_tmp22_, NULL, NULL, &_inner_error0_); _tmp21_ = _tmp23_; if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_string_free0 (version); _g_free0 (line); _g_object_unref0 (dis); _g_object_unref0 (_tmp16_); goto __catch0_g_error; } _tmp24_ = _tmp21_; _tmp21_ = NULL; _g_free0 (line); line = _tmp24_; _tmp25_ = line; if (!(_tmp25_ != NULL)) { _g_free0 (_tmp21_); break; } _tmp26_ = line; if (string_contains (_tmp26_, "pkgver = ")) { GString* _tmp27_; const gchar* _tmp28_; gchar** _tmp29_; gchar** _tmp30_; gchar** _tmp31_; gint _tmp31__length1; const gchar* _tmp32_; _tmp27_ = version; _tmp28_ = line; _tmp30_ = _tmp29_ = g_strsplit (_tmp28_, " = ", 2); _tmp31_ = _tmp30_; _tmp31__length1 = _vala_array_length (_tmp29_); _tmp32_ = _tmp31_[1]; g_string_append (_tmp27_, _tmp32_); _tmp31_ = (_vala_array_free (_tmp31_, _tmp31__length1, (GDestroyNotify) g_free), NULL); } else { const gchar* _tmp33_; _tmp33_ = line; if (string_contains (_tmp33_, "pkgrel = ")) { GString* _tmp34_; GString* _tmp35_; const gchar* _tmp36_; gchar** _tmp37_; gchar** _tmp38_; gchar** _tmp39_; gint _tmp39__length1; const gchar* _tmp40_; _tmp34_ = version; g_string_append (_tmp34_, "-"); _tmp35_ = version; _tmp36_ = line; _tmp38_ = _tmp37_ = g_strsplit (_tmp36_, " = ", 2); _tmp39_ = _tmp38_; _tmp39__length1 = _vala_array_length (_tmp37_); _tmp40_ = _tmp39_[1]; g_string_append (_tmp35_, _tmp40_); _tmp39_ = (_vala_array_free (_tmp39_, _tmp39__length1, (GDestroyNotify) g_free), NULL); } else { const gchar* _tmp41_; _tmp41_ = line; if (string_contains (_tmp41_, "epoch = ")) { GString* _tmp42_; GString* _tmp43_; const gchar* _tmp44_; gchar** _tmp45_; gchar** _tmp46_; gchar** _tmp47_; gint _tmp47__length1; const gchar* _tmp48_; _tmp42_ = version; g_string_prepend (_tmp42_, ":"); _tmp43_ = version; _tmp44_ = line; _tmp46_ = _tmp45_ = g_strsplit (_tmp44_, " = ", 2); _tmp47_ = _tmp46_; _tmp47__length1 = _vala_array_length (_tmp45_); _tmp48_ = _tmp47_[1]; g_string_prepend (_tmp43_, _tmp48_); _tmp47_ = (_vala_array_free (_tmp47_, _tmp47__length1, (GDestroyNotify) g_free), NULL); } else { const gchar* _tmp49_; _tmp49_ = line; if (string_contains (_tmp49_, "pkgname = ")) { gchar* pkgname_found = NULL; const gchar* _tmp50_; gchar** _tmp51_; gchar** _tmp52_; gchar** _tmp53_; gint _tmp53__length1; const gchar* _tmp54_; gchar* _tmp55_; gchar* _tmp56_; const gchar* _tmp57_; GEqualFunc _tmp58_; _tmp50_ = line; _tmp52_ = _tmp51_ = g_strsplit (_tmp50_, " = ", 2); _tmp53_ = _tmp52_; _tmp53__length1 = _vala_array_length (_tmp51_); _tmp54_ = _tmp53_[1]; _tmp55_ = g_strdup (_tmp54_); _tmp56_ = _tmp55_; _tmp53_ = (_vala_array_free (_tmp53_, _tmp53__length1, (GDestroyNotify) g_free), NULL); pkgname_found = _tmp56_; _tmp57_ = pkgname_found; _tmp58_ = g_str_equal; if (g_ptr_array_find_with_equal_func (vcs_local_pkgs, _tmp57_, _tmp58_, NULL)) { GHashTable* _tmp59_; gchar* _tmp60_; GString* _tmp61_; const gchar* _tmp62_; gchar* _tmp63_; _tmp59_ = pkgnames_table; _tmp60_ = pkgname_found; pkgname_found = NULL; _tmp61_ = version; _tmp62_ = _tmp61_->str; _tmp63_ = g_strdup (_tmp62_); g_hash_table_insert (_tmp59_, _tmp60_, _tmp63_); } _g_free0 (pkgname_found); } } } } _g_free0 (_tmp21_); } _g_string_free0 (version); _g_free0 (line); _g_object_unref0 (dis); _g_object_unref0 (_tmp16_); } goto __finally0; __catch0_g_error: { GError* e = NULL; GError* _tmp64_; const gchar* _tmp65_; e = _inner_error0_; _inner_error0_ = NULL; _tmp64_ = e; _tmp65_ = _tmp64_->message; g_warning ("database.vala:2334: %s", _tmp65_); _g_error_free0 (e); _g_object_unref0 (srcinfo); _g_object_unref0 (pkgdir); continue; } __finally0: if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_object_unref0 (srcinfo); _g_object_unref0 (pkgdir); _g_hash_table_unref0 (pkgnames_table); 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; } _g_object_unref0 (srcinfo); } _g_object_unref0 (pkgdir); } } } result = pkgnames_table; return result; } static void pamac_database_get_aur_updates_real (PamacDatabase* self, GPtrArray* aur_infos_list, GPtrArray* vcs_local_pkgs, alpm_handle_t* handle, PamacUpdates** updates) { GPtrArray* aur_updates = NULL; GPtrArray* _tmp0_; GPtrArray* _tmp1_; GPtrArray* outofdate = NULL; GPtrArray* _tmp2_; GPtrArray* _tmp3_; GPtrArray* ignored_aur_updates = NULL; GPtrArray* _tmp4_; GPtrArray* _tmp5_; GHashTable* vcs_versions = NULL; PamacConfig* _tmp6_; gboolean _tmp7_; gboolean _tmp8_; g_return_if_fail (self != NULL); g_return_if_fail (aur_infos_list != NULL); g_return_if_fail (vcs_local_pkgs != NULL); g_return_if_fail (*updates != NULL); _tmp0_ = pamac_updates_get_aur_updates (*updates); _tmp1_ = _tmp0_; aur_updates = _tmp1_; _tmp2_ = pamac_updates_get_outofdate (*updates); _tmp3_ = _tmp2_; outofdate = _tmp3_; _tmp4_ = pamac_updates_get_ignored_aur_updates (*updates); _tmp5_ = _tmp4_; ignored_aur_updates = _tmp5_; vcs_versions = NULL; _tmp6_ = self->priv->_config; _tmp7_ = pamac_config_get_check_aur_vcs_updates (_tmp6_); _tmp8_ = _tmp7_; if (_tmp8_) { GHashTable* _tmp9_; _tmp9_ = pamac_database_get_vcs_last_version (self, vcs_local_pkgs); _g_hash_table_unref0 (vcs_versions); vcs_versions = _tmp9_; } { GPtrArray* aur_infos_collection = NULL; guint aur_infos_index = 0U; aur_infos_collection = aur_infos_list; for (aur_infos_index = 0; aur_infos_index < aur_infos_collection->len; aur_infos_index = aur_infos_index + 1) { PamacAURInfos* aur_infos = NULL; aur_infos = (PamacAURInfos*) g_ptr_array_index (aur_infos_collection, aur_infos_index); { const gchar* name = NULL; PamacAURInfos* _tmp10_; const gchar* _tmp11_; const gchar* _tmp12_; alpm_pkg_t* local_pkg = NULL; alpm_handle_t* _tmp13_; alpm_db_t* _tmp14_; alpm_db_t* _tmp15_; const gchar* _tmp16_; alpm_pkg_t* _tmp17_; const gchar* old_version = NULL; alpm_pkg_t* _tmp18_; const gchar* _tmp19_; const gchar* _tmp20_; const gchar* new_version = NULL; PamacAURPackageLinked* aur_pkg = NULL; PamacConfig* _tmp21_; gboolean _tmp22_; gboolean _tmp23_; const gchar* _tmp60_; const gchar* _tmp61_; _tmp10_ = aur_infos; _tmp11_ = pamac_aur_infos_get_name (_tmp10_); _tmp12_ = _tmp11_; name = _tmp12_; _tmp13_ = self->priv->alpm_handle; _tmp14_ = alpm_get_localdb (_tmp13_); _tmp15_ = _tmp14_; _tmp16_ = name; _tmp17_ = alpm_db_get_pkg (_tmp15_, _tmp16_); local_pkg = _tmp17_; _tmp18_ = local_pkg; _tmp19_ = alpm_pkg_get_version (_tmp18_); _tmp20_ = _tmp19_; old_version = _tmp20_; _tmp21_ = self->priv->_config; _tmp22_ = pamac_config_get_check_aur_vcs_updates (_tmp21_); _tmp23_ = _tmp22_; if (_tmp23_) { GHashTable* _tmp24_; const gchar* _tmp25_; gconstpointer _tmp26_; PamacAURPackageLinked* _tmp27_; PamacAURPackageLinked* _tmp28_; _tmp24_ = self->priv->aur_vcs_pkgs; _tmp25_ = name; _tmp26_ = g_hash_table_lookup (_tmp24_, _tmp25_); _tmp27_ = _g_object_ref0 ((PamacAURPackageLinked*) _tmp26_); _g_object_unref0 (aur_pkg); aur_pkg = _tmp27_; _tmp28_ = aur_pkg; if (_tmp28_ == NULL) { const gchar* vcs_version = NULL; GHashTable* _tmp29_; const gchar* _tmp30_; gconstpointer _tmp31_; const gchar* _tmp32_; PamacAURPackageLinked* _tmp37_; PamacAURPackageLinked* _tmp38_; PamacAURInfos* _tmp39_; alpm_pkg_t* _tmp40_; PamacAURPackageLinked* _tmp41_; const gchar* _tmp42_; GHashTable* _tmp43_; const gchar* _tmp44_; gchar* _tmp45_; PamacAURPackageLinked* _tmp46_; PamacAURPackageLinked* _tmp47_; _tmp29_ = vcs_versions; _tmp30_ = name; _tmp31_ = g_hash_table_lookup (_tmp29_, _tmp30_); vcs_version = (const gchar*) _tmp31_; _tmp32_ = vcs_version; if (_tmp32_ != NULL) { const gchar* _tmp33_; _tmp33_ = vcs_version; new_version = _tmp33_; } else { PamacAURInfos* _tmp34_; const gchar* _tmp35_; const gchar* _tmp36_; _tmp34_ = aur_infos; _tmp35_ = pamac_aur_infos_get_version (_tmp34_); _tmp36_ = _tmp35_; new_version = _tmp36_; } _tmp37_ = pamac_aur_package_linked_new (); _g_object_unref0 (aur_pkg); aur_pkg = _tmp37_; _tmp38_ = aur_pkg; _tmp39_ = aur_infos; _tmp40_ = local_pkg; pamac_aur_package_linked_initialise_from_aur_infos (_tmp38_, _tmp39_, _tmp40_, self, TRUE); _tmp41_ = aur_pkg; _tmp42_ = new_version; pamac_package_set_version ((PamacPackage*) _tmp41_, _tmp42_); _tmp43_ = self->priv->aur_vcs_pkgs; _tmp44_ = name; _tmp45_ = g_strdup (_tmp44_); _tmp46_ = aur_pkg; _tmp47_ = _g_object_ref0 (_tmp46_); g_hash_table_insert (_tmp43_, _tmp45_, _tmp47_); } else { PamacAURPackageLinked* _tmp48_; const gchar* _tmp49_; const gchar* _tmp50_; _tmp48_ = aur_pkg; _tmp49_ = pamac_package_get_version ((PamacPackage*) _tmp48_); _tmp50_ = _tmp49_; new_version = _tmp50_; } } else { PamacAURInfos* _tmp51_; const gchar* _tmp52_; const gchar* _tmp53_; PamacAURPackageLinked* _tmp54_; PamacAURPackageLinked* _tmp55_; PamacAURInfos* _tmp56_; alpm_pkg_t* _tmp57_; PamacAURPackageLinked* _tmp58_; const gchar* _tmp59_; _tmp51_ = aur_infos; _tmp52_ = pamac_aur_infos_get_version (_tmp51_); _tmp53_ = _tmp52_; new_version = _tmp53_; _tmp54_ = pamac_aur_package_linked_new (); _g_object_unref0 (aur_pkg); aur_pkg = _tmp54_; _tmp55_ = aur_pkg; _tmp56_ = aur_infos; _tmp57_ = local_pkg; pamac_aur_package_linked_initialise_from_aur_infos (_tmp55_, _tmp56_, _tmp57_, self, TRUE); _tmp58_ = aur_pkg; _tmp59_ = new_version; pamac_package_set_version ((PamacPackage*) _tmp58_, _tmp59_); } _tmp60_ = new_version; _tmp61_ = old_version; if (alpm_pkg_vercmp (_tmp60_, _tmp61_) == 1) { alpm_pkg_t* _tmp62_; _tmp62_ = local_pkg; if (alpm_pkg_should_ignore (handle, _tmp62_) == 1) { GPtrArray* _tmp63_; PamacAURPackageLinked* _tmp64_; PamacAURPackage* _tmp65_; _tmp63_ = ignored_aur_updates; _tmp64_ = aur_pkg; _tmp65_ = _g_object_ref0 ((PamacAURPackage*) _tmp64_); g_ptr_array_add (_tmp63_, _tmp65_); } else { GPtrArray* _tmp66_; PamacAURPackageLinked* _tmp67_; PamacAURPackage* _tmp68_; _tmp66_ = aur_updates; _tmp67_ = aur_pkg; _tmp68_ = _g_object_ref0 ((PamacAURPackage*) _tmp67_); g_ptr_array_add (_tmp66_, _tmp68_); } } else { PamacAURInfos* _tmp69_; GDateTime* _tmp70_; GDateTime* _tmp71_; _tmp69_ = aur_infos; _tmp70_ = pamac_aur_infos_get_outofdate (_tmp69_); _tmp71_ = _tmp70_; if (_tmp71_ != NULL) { GPtrArray* _tmp72_; PamacAURPackageLinked* _tmp73_; PamacAURPackage* _tmp74_; _tmp72_ = outofdate; _tmp73_ = aur_pkg; _tmp74_ = _g_object_ref0 ((PamacAURPackage*) _tmp73_); g_ptr_array_add (_tmp72_, _tmp74_); } } _g_object_unref0 (aur_pkg); } } } _g_hash_table_unref0 (vcs_versions); } static void pamac_database_get_aur_updates_async_data_free (gpointer _data) { PamacDatabaseGetAurUpdatesAsyncData* _data_; _data_ = _data; _g_object_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetAurUpdatesAsyncData, _data_); } void pamac_database_get_aur_updates_async (PamacDatabase* self, GHashTable* ignorepkgs, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetAurUpdatesAsyncData* _data_; PamacDatabase* _tmp0_; GHashTable* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (ignorepkgs != NULL); _data_ = g_slice_new0 (PamacDatabaseGetAurUpdatesAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_aur_updates_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = _g_hash_table_ref0 (ignorepkgs); _g_hash_table_unref0 (_data_->ignorepkgs); _data_->ignorepkgs = _tmp1_; pamac_database_get_aur_updates_async_co (_data_); } PamacUpdates* pamac_database_get_aur_updates_finish (PamacDatabase* self, GAsyncResult* _res_) { PamacUpdates* result; PamacDatabaseGetAurUpdatesAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block52Data* block52_data_ref (Block52Data* _data52_) { g_atomic_int_inc (&_data52_->_ref_count_); return _data52_; } static void block52_data_unref (void * _userdata_) { Block52Data* _data52_; _data52_ = (Block52Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data52_->_ref_count_)) { PamacDatabase* self; self = _data52_->self; _g_object_unref0 (_data52_->updates); _g_hash_table_unref0 (_data52_->ignorepkgs); _g_object_unref0 (self); g_slice_free (Block52Data, _data52_); } } static gboolean _pamac_database_get_aur_updates_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_aur_updates_async_co (self); return result; } static gint ___lambda37_ (Block52Data* _data52_) { PamacDatabase* self; GMainContext* _tmp77_; GError* _inner_error0_ = NULL; gint result; self = _data52_->self; { AlpmConfig* _tmp0_; _tmp0_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { GPtrArray* local_pkgs = NULL; GPtrArray* _tmp1_; GPtrArray* vcs_local_pkgs = NULL; GPtrArray* _tmp2_; alpm_handle_t* tmp_handle = NULL; alpm_handle_t* _tmp3_; alpm_handle_t* _tmp4_; alpm_list_t* pkgcache = NULL; alpm_handle_t* _tmp19_; alpm_db_t* _tmp20_; alpm_db_t* _tmp21_; alpm_list_t* _tmp22_; alpm_list_t* _tmp23_; PamacAURPlugin* _tmp69_; GPtrArray* _tmp70_; GPtrArray* _tmp71_; GPtrArray* _tmp72_; GPtrArray* _tmp73_; alpm_handle_t* _tmp74_; _tmp1_ = g_ptr_array_new_full ((guint) 0, _g_free0_); local_pkgs = _tmp1_; _tmp2_ = g_ptr_array_new_full ((guint) 0, _g_free0_); vcs_local_pkgs = _tmp2_; _tmp3_ = pamac_database_get_tmp_handle (self); tmp_handle = _tmp3_; _tmp4_ = tmp_handle; if (_tmp4_ == NULL) { result = 0; _alpm_release0 (tmp_handle); _g_ptr_array_unref0 (vcs_local_pkgs); _g_ptr_array_unref0 (local_pkgs); { AlpmConfig* _tmp5_; _tmp5_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } return result; } { GHashTableIter _name_it = {0}; PamacConfig* _tmp6_; GHashTable* _tmp7_; GHashTable* _tmp8_; GHashTableIter _tmp9_ = {0}; const gchar* name = NULL; _tmp6_ = self->priv->_config; _tmp7_ = pamac_config_get_ignorepkgs (_tmp6_); _tmp8_ = _tmp7_; g_hash_table_iter_init (&_tmp9_, _tmp8_); _name_it = _tmp9_; while (TRUE) { gconstpointer _tmp10_; const gchar* _tmp11_; alpm_handle_t* _tmp12_; const gchar* _tmp13_; _tmp10_ = _vala_hash_set_next_value (&_name_it); name = (const gchar*) _tmp10_; _tmp11_ = name; if (!(_tmp11_ != NULL)) { break; } _tmp12_ = tmp_handle; _tmp13_ = name; alpm_option_add_ignorepkg (_tmp12_, _tmp13_); } } { GHashTableIter _name_it = {0}; GHashTableIter _tmp14_ = {0}; const gchar* name = NULL; g_hash_table_iter_init (&_tmp14_, _data52_->ignorepkgs); _name_it = _tmp14_; while (TRUE) { gconstpointer _tmp15_; const gchar* _tmp16_; alpm_handle_t* _tmp17_; const gchar* _tmp18_; _tmp15_ = _vala_hash_set_next_value (&_name_it); name = (const gchar*) _tmp15_; _tmp16_ = name; if (!(_tmp16_ != NULL)) { break; } _tmp17_ = tmp_handle; _tmp18_ = name; alpm_option_add_ignorepkg (_tmp17_, _tmp18_); } } _tmp19_ = tmp_handle; _tmp20_ = alpm_get_localdb (_tmp19_); _tmp21_ = _tmp20_; _tmp22_ = alpm_db_get_pkgcache (_tmp21_); _tmp23_ = _tmp22_; pkgcache = _tmp23_; while (TRUE) { alpm_list_t* _tmp24_; alpm_pkg_t* installed_pkg = NULL; alpm_list_t* _tmp25_; gconstpointer _tmp26_; alpm_pkg_t* pkg = NULL; alpm_handle_t* _tmp27_; alpm_pkg_t* _tmp28_; const gchar* _tmp29_; const gchar* _tmp30_; alpm_pkg_t* _tmp31_; alpm_pkg_t* _tmp32_; _tmp24_ = pkgcache; if (!(_tmp24_ != NULL)) { break; } _tmp25_ = pkgcache; _tmp26_ = _tmp25_->data; installed_pkg = (alpm_pkg_t*) _tmp26_; _tmp27_ = tmp_handle; _tmp28_ = installed_pkg; _tmp29_ = alpm_pkg_get_name (_tmp28_); _tmp30_ = _tmp29_; _tmp31_ = pamac_database_get_syncpkg (self, _tmp27_, _tmp30_); pkg = _tmp31_; _tmp32_ = pkg; if (_tmp32_ == NULL) { gboolean _tmp33_ = FALSE; PamacConfig* _tmp34_; gboolean _tmp35_; gboolean _tmp36_; _tmp34_ = self->priv->_config; _tmp35_ = pamac_config_get_check_aur_vcs_updates (_tmp34_); _tmp36_ = _tmp35_; if (_tmp36_) { gboolean _tmp37_ = FALSE; gboolean _tmp38_ = FALSE; gboolean _tmp39_ = FALSE; alpm_pkg_t* _tmp40_; const gchar* _tmp41_; const gchar* _tmp42_; _tmp40_ = installed_pkg; _tmp41_ = alpm_pkg_get_name (_tmp40_); _tmp42_ = _tmp41_; if (g_str_has_suffix (_tmp42_, "-git")) { _tmp39_ = TRUE; } else { alpm_pkg_t* _tmp43_; const gchar* _tmp44_; const gchar* _tmp45_; _tmp43_ = installed_pkg; _tmp44_ = alpm_pkg_get_name (_tmp43_); _tmp45_ = _tmp44_; _tmp39_ = g_str_has_suffix (_tmp45_, "-svn"); } if (_tmp39_) { _tmp38_ = TRUE; } else { alpm_pkg_t* _tmp46_; const gchar* _tmp47_; const gchar* _tmp48_; _tmp46_ = installed_pkg; _tmp47_ = alpm_pkg_get_name (_tmp46_); _tmp48_ = _tmp47_; _tmp38_ = g_str_has_suffix (_tmp48_, "-bzr"); } if (_tmp38_) { _tmp37_ = TRUE; } else { alpm_pkg_t* _tmp49_; const gchar* _tmp50_; const gchar* _tmp51_; _tmp49_ = installed_pkg; _tmp50_ = alpm_pkg_get_name (_tmp49_); _tmp51_ = _tmp50_; _tmp37_ = g_str_has_suffix (_tmp51_, "-hg"); } _tmp33_ = _tmp37_; } else { _tmp33_ = FALSE; } if (_tmp33_) { alpm_handle_t* _tmp52_; alpm_pkg_t* _tmp53_; _tmp52_ = tmp_handle; _tmp53_ = installed_pkg; if (alpm_pkg_should_ignore (_tmp52_, _tmp53_) == 0) { GPtrArray* _tmp54_; alpm_pkg_t* _tmp55_; const gchar* _tmp56_; const gchar* _tmp57_; gchar* _tmp58_; GPtrArray* _tmp59_; alpm_pkg_t* _tmp60_; const gchar* _tmp61_; const gchar* _tmp62_; gchar* _tmp63_; _tmp54_ = local_pkgs; _tmp55_ = installed_pkg; _tmp56_ = alpm_pkg_get_name (_tmp55_); _tmp57_ = _tmp56_; _tmp58_ = g_strdup (_tmp57_); g_ptr_array_add (_tmp54_, _tmp58_); _tmp59_ = vcs_local_pkgs; _tmp60_ = installed_pkg; _tmp61_ = alpm_pkg_get_name (_tmp60_); _tmp62_ = _tmp61_; _tmp63_ = g_strdup (_tmp62_); g_ptr_array_add (_tmp59_, _tmp63_); } } else { GPtrArray* _tmp64_; alpm_pkg_t* _tmp65_; const gchar* _tmp66_; const gchar* _tmp67_; gchar* _tmp68_; _tmp64_ = local_pkgs; _tmp65_ = installed_pkg; _tmp66_ = alpm_pkg_get_name (_tmp65_); _tmp67_ = _tmp66_; _tmp68_ = g_strdup (_tmp67_); g_ptr_array_add (_tmp64_, _tmp68_); } } pkgcache = alpm_list_next (pkgcache); } _tmp69_ = self->priv->_aur_plugin; _tmp70_ = local_pkgs; _tmp71_ = pamac_aur_plugin_get_multi_infos (_tmp69_, _tmp70_); _tmp72_ = _tmp71_; _tmp73_ = vcs_local_pkgs; _tmp74_ = tmp_handle; pamac_database_get_aur_updates_real (self, _tmp72_, _tmp73_, _tmp74_, &_data52_->updates); _g_ptr_array_unref0 (_tmp72_); _alpm_release0 (tmp_handle); _g_ptr_array_unref0 (vcs_local_pkgs); _g_ptr_array_unref0 (local_pkgs); } __finally0: { AlpmConfig* _tmp75_; _tmp75_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { gint _tmp76_ = -1; 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 _tmp76_; } } _tmp77_ = self->priv->_context; g_main_context_invoke_full (_tmp77_, G_PRIORITY_DEFAULT, _pamac_database_get_aur_updates_async_co_gsource_func, _data52_->_async_data_, NULL); result = 0; return result; } static gpointer ____lambda37__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ___lambda37_ (self)); block52_data_unref (self); return result; } static gboolean pamac_database_get_aur_updates_async_co (PamacDatabaseGetAurUpdatesAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data52_ = g_slice_new0 (Block52Data); _data_->_data52_->_ref_count_ = 1; _data_->_data52_->self = g_object_ref (_data_->self); _g_hash_table_unref0 (_data_->_data52_->ignorepkgs); _data_->_data52_->ignorepkgs = _data_->ignorepkgs; _data_->_data52_->_async_data_ = _data_; _data_->_tmp0_ = pamac_updates_new (); _data_->_data52_->updates = _data_->_tmp0_; { _data_->_tmp1_ = g_thread_try_new ("get_aur_updates", ____lambda37__gthread_func, block52_data_ref (_data_->_data52_), &_data_->_inner_error0_); _data_->_tmp2_ = _data_->_tmp1_; _g_thread_unref0 (_data_->_tmp2_); 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_->_tmp3_ = _data_->e; _data_->_tmp4_ = _data_->_tmp3_->message; g_warning ("database.vala:2445: %s", _data_->_tmp4_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block52_data_unref (_data_->_data52_); _data_->_data52_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } _data_->_tmp5_ = _g_object_ref0 (_data_->_data52_->updates); _data_->result = _data_->_tmp5_; block52_data_unref (_data_->_data52_); _data_->_data52_ = NULL; 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_database_search_snaps_async_data_free (gpointer _data) { PamacDatabaseSearchSnapsAsyncData* _data_; _data_ = _data; _g_free0 (_data_->search_string); _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseSearchSnapsAsyncData, _data_); } void pamac_database_search_snaps_async (PamacDatabase* self, const gchar* search_string, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseSearchSnapsAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (search_string != NULL); _data_ = g_slice_new0 (PamacDatabaseSearchSnapsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_search_snaps_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (search_string); _g_free0 (_data_->search_string); _data_->search_string = _tmp1_; pamac_database_search_snaps_async_co (_data_); } GPtrArray* pamac_database_search_snaps_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseSearchSnapsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block53Data* block53_data_ref (Block53Data* _data53_) { g_atomic_int_inc (&_data53_->_ref_count_); return _data53_; } static void block53_data_unref (void * _userdata_) { Block53Data* _data53_; _data53_ = (Block53Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data53_->_ref_count_)) { PamacDatabase* self; self = _data53_->self; _g_ptr_array_unref0 (_data53_->pkgs); _g_free0 (_data53_->search_string_down); _g_object_unref0 (self); g_slice_free (Block53Data, _data53_); } } static gboolean _pamac_database_search_snaps_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_search_snaps_async_co (self); return result; } static gint ____lambda38_ (Block53Data* _data53_) { PamacDatabase* self; PamacSnapPlugin* _tmp0_; const gchar* _tmp1_; GMainContext* _tmp2_; gint result; self = _data53_->self; _tmp0_ = self->priv->snap_plugin; _tmp1_ = _data53_->search_string_down; pamac_snap_plugin_search_snaps (_tmp0_, _tmp1_, &_data53_->pkgs); _tmp2_ = self->priv->_context; g_main_context_invoke_full (_tmp2_, G_PRIORITY_DEFAULT, _pamac_database_search_snaps_async_co_gsource_func, _data53_->_async_data_, NULL); result = 0; return result; } static gpointer _____lambda38__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ____lambda38_ (self)); block53_data_unref (self); return result; } static gboolean pamac_database_search_snaps_async_co (PamacDatabaseSearchSnapsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data53_ = g_slice_new0 (Block53Data); _data_->_data53_->_ref_count_ = 1; _data_->_data53_->self = g_object_ref (_data_->self); _data_->_data53_->_async_data_ = _data_; _data_->_tmp0_ = g_utf8_strdown (_data_->search_string, (gssize) -1); _data_->_data53_->search_string_down = _data_->_tmp0_; _data_->_tmp1_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data53_->pkgs = _data_->_tmp1_; _data_->_tmp2_ = _data_->self->priv->_config; _data_->_tmp3_ = pamac_config_get_enable_snap (_data_->_tmp2_); _data_->_tmp4_ = _data_->_tmp3_; if (_data_->_tmp4_) { { _data_->_tmp5_ = g_thread_try_new ("search_snaps", _____lambda38__gthread_func, block53_data_ref (_data_->_data53_), &_data_->_inner_error0_); _data_->_tmp6_ = _data_->_tmp5_; _g_thread_unref0 (_data_->_tmp6_); 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_->_tmp7_ = _data_->e; _data_->_tmp8_ = _data_->_tmp7_->message; g_warning ("database.vala:2462: %s", _data_->_tmp8_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block53_data_unref (_data_->_data53_); _data_->_data53_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } } _data_->_tmp9_ = _data_->_data53_->pkgs; _data_->_tmp10_ = _g_ptr_array_ref0 (_data_->_tmp9_); _data_->result = _data_->_tmp10_; block53_data_unref (_data_->_data53_); _data_->_data53_ = NULL; 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; } gboolean pamac_database_is_installed_snap (PamacDatabase* self, const gchar* name) { PamacConfig* _tmp0_; gboolean _tmp1_; gboolean _tmp2_; gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (name != NULL, FALSE); _tmp0_ = self->priv->_config; _tmp1_ = pamac_config_get_enable_snap (_tmp0_); _tmp2_ = _tmp1_; if (_tmp2_) { PamacSnapPlugin* _tmp3_; _tmp3_ = self->priv->snap_plugin; result = pamac_snap_plugin_is_installed_snap (_tmp3_, name); return result; } result = FALSE; return result; } static void pamac_database_get_snap_async_data_free (gpointer _data) { PamacDatabaseGetSnapAsyncData* _data_; _data_ = _data; _g_free0 (_data_->name); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetSnapAsyncData, _data_); } void pamac_database_get_snap_async (PamacDatabase* self, const gchar* name, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetSnapAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (name != NULL); _data_ = g_slice_new0 (PamacDatabaseGetSnapAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_snap_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (name); _g_free0 (_data_->name); _data_->name = _tmp1_; pamac_database_get_snap_async_co (_data_); } PamacSnapPackage* pamac_database_get_snap_finish (PamacDatabase* self, GAsyncResult* _res_) { PamacSnapPackage* result; PamacDatabaseGetSnapAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block54Data* block54_data_ref (Block54Data* _data54_) { g_atomic_int_inc (&_data54_->_ref_count_); return _data54_; } static void block54_data_unref (void * _userdata_) { Block54Data* _data54_; _data54_ = (Block54Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data54_->_ref_count_)) { PamacDatabase* self; self = _data54_->self; _g_object_unref0 (self); g_slice_free (Block54Data, _data54_); } } static Block55Data* block55_data_ref (Block55Data* _data55_) { g_atomic_int_inc (&_data55_->_ref_count_); return _data55_; } static void block55_data_unref (void * _userdata_) { Block55Data* _data55_; _data55_ = (Block55Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data55_->_ref_count_)) { PamacDatabase* self; self = _data55_->_data54_->self; _g_free0 (_data55_->name_copy); block54_data_unref (_data55_->_data54_); _data55_->_data54_ = NULL; g_slice_free (Block55Data, _data55_); } } static gboolean _pamac_database_get_snap_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_snap_async_co (self); return result; } static gint ____lambda39_ (Block55Data* _data55_) { Block54Data* _data54_; PamacDatabase* self; PamacSnapPlugin* _tmp0_; const gchar* _tmp1_; PamacSnapPackage* _tmp2_; GMainContext* _tmp3_; gint result; _data54_ = _data55_->_data54_; self = _data54_->self; _tmp0_ = self->priv->snap_plugin; _tmp1_ = _data55_->name_copy; _tmp2_ = pamac_snap_plugin_get_snap (_tmp0_, _tmp1_); _data54_->pkg = _tmp2_; _tmp3_ = self->priv->_context; g_main_context_invoke_full (_tmp3_, G_PRIORITY_DEFAULT, _pamac_database_get_snap_async_co_gsource_func, _data54_->_async_data_, NULL); result = 0; return result; } static gpointer _____lambda39__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ____lambda39_ (self)); block55_data_unref (self); return result; } static gboolean pamac_database_get_snap_async_co (PamacDatabaseGetSnapAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data54_ = g_slice_new0 (Block54Data); _data_->_data54_->_ref_count_ = 1; _data_->_data54_->self = g_object_ref (_data_->self); _data_->_data54_->_async_data_ = _data_; _data_->_data54_->pkg = NULL; _data_->_tmp0_ = _data_->self->priv->_config; _data_->_tmp1_ = pamac_config_get_enable_snap (_data_->_tmp0_); _data_->_tmp2_ = _data_->_tmp1_; if (_data_->_tmp2_) { _data_->_data55_ = g_slice_new0 (Block55Data); _data_->_data55_->_ref_count_ = 1; _data_->_data55_->_data54_ = block54_data_ref (_data_->_data54_); _data_->_tmp3_ = g_strdup (_data_->name); _data_->_data55_->name_copy = _data_->_tmp3_; { _data_->_tmp4_ = g_thread_try_new ("get_snap", _____lambda39__gthread_func, block55_data_ref (_data_->_data55_), &_data_->_inner_error0_); _data_->_tmp5_ = _data_->_tmp4_; _g_thread_unref0 (_data_->_tmp5_); 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_->_tmp6_ = _data_->e; _data_->_tmp7_ = _data_->_tmp6_->message; g_warning ("database.vala:2487: %s", _data_->_tmp7_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block55_data_unref (_data_->_data55_); _data_->_data55_ = NULL; block54_data_unref (_data_->_data54_); _data_->_data54_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } block55_data_unref (_data_->_data55_); _data_->_data55_ = NULL; } _data_->_tmp8_ = _data_->_data54_->pkg; _data_->result = _data_->_tmp8_; block54_data_unref (_data_->_data54_); _data_->_data54_ = NULL; 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_database_get_installed_snaps_async_data_free (gpointer _data) { PamacDatabaseGetInstalledSnapsAsyncData* _data_; _data_ = _data; _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetInstalledSnapsAsyncData, _data_); } void pamac_database_get_installed_snaps_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetInstalledSnapsAsyncData* _data_; PamacDatabase* _tmp0_; g_return_if_fail (self != NULL); _data_ = g_slice_new0 (PamacDatabaseGetInstalledSnapsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_installed_snaps_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; pamac_database_get_installed_snaps_async_co (_data_); } GPtrArray* pamac_database_get_installed_snaps_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetInstalledSnapsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block56Data* block56_data_ref (Block56Data* _data56_) { g_atomic_int_inc (&_data56_->_ref_count_); return _data56_; } static void block56_data_unref (void * _userdata_) { Block56Data* _data56_; _data56_ = (Block56Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data56_->_ref_count_)) { PamacDatabase* self; self = _data56_->self; _g_ptr_array_unref0 (_data56_->pkgs); _g_object_unref0 (self); g_slice_free (Block56Data, _data56_); } } static gboolean _pamac_database_get_installed_snaps_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_installed_snaps_async_co (self); return result; } static gint ____lambda40_ (Block56Data* _data56_) { PamacDatabase* self; PamacSnapPlugin* _tmp0_; GMainContext* _tmp1_; gint result; self = _data56_->self; _tmp0_ = self->priv->snap_plugin; pamac_snap_plugin_get_installed_snaps (_tmp0_, &_data56_->pkgs); _tmp1_ = self->priv->_context; g_main_context_invoke_full (_tmp1_, G_PRIORITY_DEFAULT, _pamac_database_get_installed_snaps_async_co_gsource_func, _data56_->_async_data_, NULL); result = 0; return result; } static gpointer _____lambda40__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ____lambda40_ (self)); block56_data_unref (self); return result; } static gboolean pamac_database_get_installed_snaps_async_co (PamacDatabaseGetInstalledSnapsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data56_ = g_slice_new0 (Block56Data); _data_->_data56_->_ref_count_ = 1; _data_->_data56_->self = g_object_ref (_data_->self); _data_->_data56_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data56_->pkgs = _data_->_tmp0_; _data_->_tmp1_ = _data_->self->priv->_config; _data_->_tmp2_ = pamac_config_get_enable_snap (_data_->_tmp1_); _data_->_tmp3_ = _data_->_tmp2_; if (_data_->_tmp3_) { { _data_->_tmp4_ = g_thread_try_new ("get_installed_snaps", _____lambda40__gthread_func, block56_data_ref (_data_->_data56_), &_data_->_inner_error0_); _data_->_tmp5_ = _data_->_tmp4_; _g_thread_unref0 (_data_->_tmp5_); 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_->_tmp6_ = _data_->e; _data_->_tmp7_ = _data_->_tmp6_->message; g_warning ("database.vala:2504: %s", _data_->_tmp7_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block56_data_unref (_data_->_data56_); _data_->_data56_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } } _data_->_tmp8_ = _data_->_data56_->pkgs; _data_->_tmp9_ = _g_ptr_array_ref0 (_data_->_tmp8_); _data_->result = _data_->_tmp9_; block56_data_unref (_data_->_data56_); _data_->_data56_ = NULL; 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_database_get_installed_snap_icon_async_data_free (gpointer _data) { PamacDatabaseGetInstalledSnapIconAsyncData* _data_; _data_ = _data; _g_free0 (_data_->name); _g_free0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetInstalledSnapIconAsyncData, _data_); } void pamac_database_get_installed_snap_icon_async (PamacDatabase* self, const gchar* name, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetInstalledSnapIconAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (name != NULL); _data_ = g_slice_new0 (PamacDatabaseGetInstalledSnapIconAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_installed_snap_icon_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (name); _g_free0 (_data_->name); _data_->name = _tmp1_; pamac_database_get_installed_snap_icon_async_co (_data_); } gchar* pamac_database_get_installed_snap_icon_finish (PamacDatabase* self, GAsyncResult* _res_) { gchar* result; PamacDatabaseGetInstalledSnapIconAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block57Data* block57_data_ref (Block57Data* _data57_) { g_atomic_int_inc (&_data57_->_ref_count_); return _data57_; } static void block57_data_unref (void * _userdata_) { Block57Data* _data57_; _data57_ = (Block57Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data57_->_ref_count_)) { PamacDatabase* self; self = _data57_->self; _g_free0 (_data57_->icon); _g_object_unref0 (self); g_slice_free (Block57Data, _data57_); } } static Block58Data* block58_data_ref (Block58Data* _data58_) { g_atomic_int_inc (&_data58_->_ref_count_); return _data58_; } static void block58_data_unref (void * _userdata_) { Block58Data* _data58_; _data58_ = (Block58Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data58_->_ref_count_)) { PamacDatabase* self; self = _data58_->_data57_->self; _g_free0 (_data58_->name_copy); block57_data_unref (_data58_->_data57_); _data58_->_data57_ = NULL; g_slice_free (Block58Data, _data58_); } } static gboolean _pamac_database_get_installed_snap_icon_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_installed_snap_icon_async_co (self); return result; } static gint ____lambda41_ (Block58Data* _data58_) { Block57Data* _data57_; PamacDatabase* self; GMainContext* _tmp9_; GError* _inner_error0_ = NULL; gint result; _data57_ = _data58_->_data57_; self = _data57_->self; { gchar* _tmp0_ = NULL; PamacSnapPlugin* _tmp1_; const gchar* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; _tmp1_ = self->priv->snap_plugin; _tmp2_ = _data58_->name_copy; _tmp3_ = pamac_snap_plugin_get_installed_snap_icon (_tmp1_, _tmp2_, &_inner_error0_); _tmp0_ = _tmp3_; if (G_UNLIKELY (_inner_error0_ != NULL)) { goto __catch0_g_error; } _tmp4_ = _tmp0_; _tmp0_ = NULL; _g_free0 (_data57_->icon); _data57_->icon = _tmp4_; _g_free0 (_tmp0_); } goto __finally0; __catch0_g_error: { GError* e = NULL; const gchar* _tmp5_; GError* _tmp6_; const gchar* _tmp7_; e = _inner_error0_; _inner_error0_ = NULL; _tmp5_ = _data58_->name_copy; _tmp6_ = e; _tmp7_ = _tmp6_->message; g_warning ("database.vala:2519: %s: %s", _tmp5_, _tmp7_); _g_error_free0 (e); } __finally0: if (G_UNLIKELY (_inner_error0_ != NULL)) { gint _tmp8_ = -1; 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 _tmp8_; } _tmp9_ = self->priv->_context; g_main_context_invoke_full (_tmp9_, G_PRIORITY_DEFAULT, _pamac_database_get_installed_snap_icon_async_co_gsource_func, _data57_->_async_data_, NULL); result = 0; return result; } static gpointer _____lambda41__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ____lambda41_ (self)); block58_data_unref (self); return result; } static gboolean pamac_database_get_installed_snap_icon_async_co (PamacDatabaseGetInstalledSnapIconAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data57_ = g_slice_new0 (Block57Data); _data_->_data57_->_ref_count_ = 1; _data_->_data57_->self = g_object_ref (_data_->self); _data_->_data57_->_async_data_ = _data_; _data_->_tmp0_ = g_strdup (""); _data_->_data57_->icon = _data_->_tmp0_; _data_->_tmp1_ = _data_->self->priv->_config; _data_->_tmp2_ = pamac_config_get_enable_snap (_data_->_tmp1_); _data_->_tmp3_ = _data_->_tmp2_; if (_data_->_tmp3_) { _data_->_data58_ = g_slice_new0 (Block58Data); _data_->_data58_->_ref_count_ = 1; _data_->_data58_->_data57_ = block57_data_ref (_data_->_data57_); _data_->_tmp4_ = g_strdup (_data_->name); _data_->_data58_->name_copy = _data_->_tmp4_; { _data_->_tmp5_ = g_thread_try_new ("get_installed_snap_icon", _____lambda41__gthread_func, block58_data_ref (_data_->_data58_), &_data_->_inner_error0_); _data_->_tmp6_ = _data_->_tmp5_; _g_thread_unref0 (_data_->_tmp6_); 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_->_tmp7_ = _data_->e; _data_->_tmp8_ = _data_->_tmp7_->message; g_warning ("database.vala:2526: %s", _data_->_tmp8_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block58_data_unref (_data_->_data58_); _data_->_data58_ = NULL; block57_data_unref (_data_->_data57_); _data_->_data57_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } block58_data_unref (_data_->_data58_); _data_->_data58_ = NULL; } _data_->_tmp9_ = _data_->_data57_->icon; _data_->_tmp10_ = g_strdup (_data_->_tmp9_); _data_->result = _data_->_tmp10_; block57_data_unref (_data_->_data57_); _data_->_data57_ = NULL; 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_database_get_category_snaps_async_data_free (gpointer _data) { PamacDatabaseGetCategorySnapsAsyncData* _data_; _data_ = _data; _g_free0 (_data_->category); _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetCategorySnapsAsyncData, _data_); } void pamac_database_get_category_snaps_async (PamacDatabase* self, const gchar* category, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetCategorySnapsAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (category != NULL); _data_ = g_slice_new0 (PamacDatabaseGetCategorySnapsAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_category_snaps_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (category); _g_free0 (_data_->category); _data_->category = _tmp1_; pamac_database_get_category_snaps_async_co (_data_); } GPtrArray* pamac_database_get_category_snaps_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetCategorySnapsAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block59Data* block59_data_ref (Block59Data* _data59_) { g_atomic_int_inc (&_data59_->_ref_count_); return _data59_; } static void block59_data_unref (void * _userdata_) { Block59Data* _data59_; _data59_ = (Block59Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data59_->_ref_count_)) { PamacDatabase* self; self = _data59_->self; _g_ptr_array_unref0 (_data59_->pkgs); _g_object_unref0 (self); g_slice_free (Block59Data, _data59_); } } static Block60Data* block60_data_ref (Block60Data* _data60_) { g_atomic_int_inc (&_data60_->_ref_count_); return _data60_; } static void block60_data_unref (void * _userdata_) { Block60Data* _data60_; _data60_ = (Block60Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data60_->_ref_count_)) { PamacDatabase* self; self = _data60_->_data59_->self; _g_free0 (_data60_->category_copy); block59_data_unref (_data60_->_data59_); _data60_->_data59_ = NULL; g_slice_free (Block60Data, _data60_); } } static gboolean _pamac_database_get_category_snaps_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_category_snaps_async_co (self); return result; } static gint ____lambda42_ (Block60Data* _data60_) { Block59Data* _data59_; PamacDatabase* self; PamacSnapPlugin* _tmp0_; const gchar* _tmp1_; GMainContext* _tmp2_; gint result; _data59_ = _data60_->_data59_; self = _data59_->self; _tmp0_ = self->priv->snap_plugin; _tmp1_ = _data60_->category_copy; pamac_snap_plugin_get_category_snaps (_tmp0_, _tmp1_, &_data59_->pkgs); _tmp2_ = self->priv->_context; g_main_context_invoke_full (_tmp2_, G_PRIORITY_DEFAULT, _pamac_database_get_category_snaps_async_co_gsource_func, _data59_->_async_data_, NULL); result = 0; return result; } static gpointer _____lambda42__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ____lambda42_ (self)); block60_data_unref (self); return result; } static gboolean pamac_database_get_category_snaps_async_co (PamacDatabaseGetCategorySnapsAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data59_ = g_slice_new0 (Block59Data); _data_->_data59_->_ref_count_ = 1; _data_->_data59_->self = g_object_ref (_data_->self); _data_->_data59_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data59_->pkgs = _data_->_tmp0_; _data_->_tmp1_ = _data_->self->priv->_config; _data_->_tmp2_ = pamac_config_get_enable_snap (_data_->_tmp1_); _data_->_tmp3_ = _data_->_tmp2_; if (_data_->_tmp3_) { _data_->_data60_ = g_slice_new0 (Block60Data); _data_->_data60_->_ref_count_ = 1; _data_->_data60_->_data59_ = block59_data_ref (_data_->_data59_); _data_->_tmp4_ = g_strdup (_data_->category); _data_->_data60_->category_copy = _data_->_tmp4_; { _data_->_tmp5_ = g_thread_try_new ("get_category_snaps", _____lambda42__gthread_func, block60_data_ref (_data_->_data60_), &_data_->_inner_error0_); _data_->_tmp6_ = _data_->_tmp5_; _g_thread_unref0 (_data_->_tmp6_); 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_->_tmp7_ = _data_->e; _data_->_tmp8_ = _data_->_tmp7_->message; g_warning ("database.vala:2544: %s", _data_->_tmp8_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block60_data_unref (_data_->_data60_); _data_->_data60_ = NULL; block59_data_unref (_data_->_data59_); _data_->_data59_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } block60_data_unref (_data_->_data60_); _data_->_data60_ = NULL; } _data_->_tmp9_ = _data_->_data59_->pkgs; _data_->_tmp10_ = _g_ptr_array_ref0 (_data_->_tmp9_); _data_->result = _data_->_tmp10_; block59_data_unref (_data_->_data59_); _data_->_data59_ = NULL; 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; } void pamac_database_refresh_flatpak_appstream_data (PamacDatabase* self) { PamacConfig* _tmp0_; gboolean _tmp1_; gboolean _tmp2_; g_return_if_fail (self != NULL); _tmp0_ = self->priv->_config; _tmp1_ = pamac_config_get_enable_flatpak (_tmp0_); _tmp2_ = _tmp1_; if (_tmp2_) { PamacFlatpakPlugin* _tmp3_; _tmp3_ = self->priv->flatpak_plugin; pamac_flatpak_plugin_refresh_appstream_data (_tmp3_); } } static void pamac_database_refresh_flatpak_appstream_data_async_data_free (gpointer _data) { PamacDatabaseRefreshFlatpakAppstreamDataAsyncData* _data_; _data_ = _data; _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseRefreshFlatpakAppstreamDataAsyncData, _data_); } void pamac_database_refresh_flatpak_appstream_data_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseRefreshFlatpakAppstreamDataAsyncData* _data_; PamacDatabase* _tmp0_; g_return_if_fail (self != NULL); _data_ = g_slice_new0 (PamacDatabaseRefreshFlatpakAppstreamDataAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_refresh_flatpak_appstream_data_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; pamac_database_refresh_flatpak_appstream_data_async_co (_data_); } void pamac_database_refresh_flatpak_appstream_data_finish (PamacDatabase* self, GAsyncResult* _res_) { PamacDatabaseRefreshFlatpakAppstreamDataAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); } static Block61Data* block61_data_ref (Block61Data* _data61_) { g_atomic_int_inc (&_data61_->_ref_count_); return _data61_; } static void block61_data_unref (void * _userdata_) { Block61Data* _data61_; _data61_ = (Block61Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data61_->_ref_count_)) { PamacDatabase* self; self = _data61_->self; _g_object_unref0 (self); g_slice_free (Block61Data, _data61_); } } static gboolean _pamac_database_refresh_flatpak_appstream_data_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_refresh_flatpak_appstream_data_async_co (self); return result; } static gint ____lambda43_ (Block61Data* _data61_) { PamacDatabase* self; PamacFlatpakPlugin* _tmp0_; GMainContext* _tmp1_; gint result; self = _data61_->self; _tmp0_ = self->priv->flatpak_plugin; pamac_flatpak_plugin_refresh_appstream_data (_tmp0_); _tmp1_ = self->priv->_context; g_main_context_invoke_full (_tmp1_, G_PRIORITY_DEFAULT, _pamac_database_refresh_flatpak_appstream_data_async_co_gsource_func, _data61_->_async_data_, NULL); result = 0; return result; } static gpointer _____lambda43__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ____lambda43_ (self)); block61_data_unref (self); return result; } static gboolean pamac_database_refresh_flatpak_appstream_data_async_co (PamacDatabaseRefreshFlatpakAppstreamDataAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data61_ = g_slice_new0 (Block61Data); _data_->_data61_->_ref_count_ = 1; _data_->_data61_->self = g_object_ref (_data_->self); _data_->_data61_->_async_data_ = _data_; _data_->_tmp0_ = _data_->self->priv->_config; _data_->_tmp1_ = pamac_config_get_enable_flatpak (_data_->_tmp0_); _data_->_tmp2_ = _data_->_tmp1_; if (_data_->_tmp2_) { { _data_->_tmp3_ = g_thread_try_new ("refresh_flatpak_appstream_data", _____lambda43__gthread_func, block61_data_ref (_data_->_data61_), &_data_->_inner_error0_); _data_->_tmp4_ = _data_->_tmp3_; _g_thread_unref0 (_data_->_tmp4_); 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_->_tmp5_ = _data_->e; _data_->_tmp6_ = _data_->_tmp5_->message; g_warning ("database.vala:2566: %s", _data_->_tmp6_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block61_data_unref (_data_->_data61_); _data_->_data61_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } } block61_data_unref (_data_->_data61_); _data_->_data61_ = NULL; 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; } GPtrArray* pamac_database_get_flatpak_remotes_names (PamacDatabase* self) { GPtrArray* list = NULL; GPtrArray* _tmp0_; PamacConfig* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; GPtrArray* result; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); list = _tmp0_; _tmp1_ = self->priv->_config; _tmp2_ = pamac_config_get_enable_flatpak (_tmp1_); _tmp3_ = _tmp2_; if (_tmp3_) { PamacFlatpakPlugin* _tmp4_; _tmp4_ = self->priv->flatpak_plugin; pamac_flatpak_plugin_get_remotes_names (_tmp4_, &list); } result = list; return result; } static void pamac_database_get_installed_flatpaks_async_data_free (gpointer _data) { PamacDatabaseGetInstalledFlatpaksAsyncData* _data_; _data_ = _data; _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetInstalledFlatpaksAsyncData, _data_); } void pamac_database_get_installed_flatpaks_async (PamacDatabase* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetInstalledFlatpaksAsyncData* _data_; PamacDatabase* _tmp0_; g_return_if_fail (self != NULL); _data_ = g_slice_new0 (PamacDatabaseGetInstalledFlatpaksAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_installed_flatpaks_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; pamac_database_get_installed_flatpaks_async_co (_data_); } GPtrArray* pamac_database_get_installed_flatpaks_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetInstalledFlatpaksAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block62Data* block62_data_ref (Block62Data* _data62_) { g_atomic_int_inc (&_data62_->_ref_count_); return _data62_; } static void block62_data_unref (void * _userdata_) { Block62Data* _data62_; _data62_ = (Block62Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data62_->_ref_count_)) { PamacDatabase* self; self = _data62_->self; _g_ptr_array_unref0 (_data62_->pkgs); _g_object_unref0 (self); g_slice_free (Block62Data, _data62_); } } static gboolean _pamac_database_get_installed_flatpaks_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_installed_flatpaks_async_co (self); return result; } static gint ____lambda44_ (Block62Data* _data62_) { PamacDatabase* self; PamacFlatpakPlugin* _tmp0_; GMainContext* _tmp1_; gint result; self = _data62_->self; _tmp0_ = self->priv->flatpak_plugin; pamac_flatpak_plugin_get_installed_flatpaks (_tmp0_, &_data62_->pkgs); _tmp1_ = self->priv->_context; g_main_context_invoke_full (_tmp1_, G_PRIORITY_DEFAULT, _pamac_database_get_installed_flatpaks_async_co_gsource_func, _data62_->_async_data_, NULL); result = 0; return result; } static gpointer _____lambda44__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ____lambda44_ (self)); block62_data_unref (self); return result; } static gboolean pamac_database_get_installed_flatpaks_async_co (PamacDatabaseGetInstalledFlatpaksAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data62_ = g_slice_new0 (Block62Data); _data_->_data62_->_ref_count_ = 1; _data_->_data62_->self = g_object_ref (_data_->self); _data_->_data62_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data62_->pkgs = _data_->_tmp0_; _data_->_tmp1_ = _data_->self->priv->_config; _data_->_tmp2_ = pamac_config_get_enable_flatpak (_data_->_tmp1_); _data_->_tmp3_ = _data_->_tmp2_; if (_data_->_tmp3_) { { _data_->_tmp4_ = g_thread_try_new ("get_installed_flatpak", _____lambda44__gthread_func, block62_data_ref (_data_->_data62_), &_data_->_inner_error0_); _data_->_tmp5_ = _data_->_tmp4_; _g_thread_unref0 (_data_->_tmp5_); 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_->_tmp6_ = _data_->e; _data_->_tmp7_ = _data_->_tmp6_->message; g_warning ("database.vala:2590: %s", _data_->_tmp7_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block62_data_unref (_data_->_data62_); _data_->_data62_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } } _data_->_tmp8_ = _data_->_data62_->pkgs; _data_->_tmp9_ = _g_ptr_array_ref0 (_data_->_tmp8_); _data_->result = _data_->_tmp9_; block62_data_unref (_data_->_data62_); _data_->_data62_ = NULL; 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_database_search_flatpaks_async_data_free (gpointer _data) { PamacDatabaseSearchFlatpaksAsyncData* _data_; _data_ = _data; _g_free0 (_data_->search_string); _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseSearchFlatpaksAsyncData, _data_); } void pamac_database_search_flatpaks_async (PamacDatabase* self, const gchar* search_string, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseSearchFlatpaksAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (search_string != NULL); _data_ = g_slice_new0 (PamacDatabaseSearchFlatpaksAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_search_flatpaks_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (search_string); _g_free0 (_data_->search_string); _data_->search_string = _tmp1_; pamac_database_search_flatpaks_async_co (_data_); } GPtrArray* pamac_database_search_flatpaks_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseSearchFlatpaksAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block63Data* block63_data_ref (Block63Data* _data63_) { g_atomic_int_inc (&_data63_->_ref_count_); return _data63_; } static void block63_data_unref (void * _userdata_) { Block63Data* _data63_; _data63_ = (Block63Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data63_->_ref_count_)) { PamacDatabase* self; self = _data63_->self; _g_ptr_array_unref0 (_data63_->pkgs); _g_object_unref0 (self); g_slice_free (Block63Data, _data63_); } } static Block64Data* block64_data_ref (Block64Data* _data64_) { g_atomic_int_inc (&_data64_->_ref_count_); return _data64_; } static void block64_data_unref (void * _userdata_) { Block64Data* _data64_; _data64_ = (Block64Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data64_->_ref_count_)) { PamacDatabase* self; self = _data64_->_data63_->self; _g_free0 (_data64_->search_string_down); block63_data_unref (_data64_->_data63_); _data64_->_data63_ = NULL; g_slice_free (Block64Data, _data64_); } } static gboolean _pamac_database_search_flatpaks_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_search_flatpaks_async_co (self); return result; } static gint ____lambda45_ (Block64Data* _data64_) { Block63Data* _data63_; PamacDatabase* self; PamacFlatpakPlugin* _tmp0_; const gchar* _tmp1_; GMainContext* _tmp2_; gint result; _data63_ = _data64_->_data63_; self = _data63_->self; _tmp0_ = self->priv->flatpak_plugin; _tmp1_ = _data64_->search_string_down; pamac_flatpak_plugin_search_flatpaks (_tmp0_, _tmp1_, &_data63_->pkgs); _tmp2_ = self->priv->_context; g_main_context_invoke_full (_tmp2_, G_PRIORITY_DEFAULT, _pamac_database_search_flatpaks_async_co_gsource_func, _data63_->_async_data_, NULL); result = 0; return result; } static gpointer _____lambda45__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ____lambda45_ (self)); block64_data_unref (self); return result; } static gboolean pamac_database_search_flatpaks_async_co (PamacDatabaseSearchFlatpaksAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data63_ = g_slice_new0 (Block63Data); _data_->_data63_->_ref_count_ = 1; _data_->_data63_->self = g_object_ref (_data_->self); _data_->_data63_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data63_->pkgs = _data_->_tmp0_; _data_->_tmp1_ = _data_->self->priv->_config; _data_->_tmp2_ = pamac_config_get_enable_flatpak (_data_->_tmp1_); _data_->_tmp3_ = _data_->_tmp2_; if (_data_->_tmp3_) { _data_->_data64_ = g_slice_new0 (Block64Data); _data_->_data64_->_ref_count_ = 1; _data_->_data64_->_data63_ = block63_data_ref (_data_->_data63_); _data_->_tmp4_ = g_utf8_strdown (_data_->search_string, (gssize) -1); _data_->_data64_->search_string_down = _data_->_tmp4_; { _data_->_tmp5_ = g_thread_try_new ("search_flatpaks", _____lambda45__gthread_func, block64_data_ref (_data_->_data64_), &_data_->_inner_error0_); _data_->_tmp6_ = _data_->_tmp5_; _g_thread_unref0 (_data_->_tmp6_); 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_->_tmp7_ = _data_->e; _data_->_tmp8_ = _data_->_tmp7_->message; g_warning ("database.vala:2608: %s", _data_->_tmp8_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block64_data_unref (_data_->_data64_); _data_->_data64_ = NULL; block63_data_unref (_data_->_data63_); _data_->_data63_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } block64_data_unref (_data_->_data64_); _data_->_data64_ = NULL; } _data_->_tmp9_ = _data_->_data63_->pkgs; _data_->_tmp10_ = _g_ptr_array_ref0 (_data_->_tmp9_); _data_->result = _data_->_tmp10_; block63_data_unref (_data_->_data63_); _data_->_data63_ = NULL; 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; } gboolean pamac_database_is_installed_flatpak (PamacDatabase* self, const gchar* name) { PamacConfig* _tmp0_; gboolean _tmp1_; gboolean _tmp2_; gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (name != NULL, FALSE); _tmp0_ = self->priv->_config; _tmp1_ = pamac_config_get_enable_flatpak (_tmp0_); _tmp2_ = _tmp1_; if (_tmp2_) { PamacFlatpakPlugin* _tmp3_; _tmp3_ = self->priv->flatpak_plugin; result = pamac_flatpak_plugin_is_installed_flatpak (_tmp3_, name); return result; } result = FALSE; return result; } static void pamac_database_get_flatpak_async_data_free (gpointer _data) { PamacDatabaseGetFlatpakAsyncData* _data_; _data_ = _data; _g_free0 (_data_->id); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetFlatpakAsyncData, _data_); } void pamac_database_get_flatpak_async (PamacDatabase* self, const gchar* id, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetFlatpakAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (id != NULL); _data_ = g_slice_new0 (PamacDatabaseGetFlatpakAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_flatpak_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (id); _g_free0 (_data_->id); _data_->id = _tmp1_; pamac_database_get_flatpak_async_co (_data_); } PamacFlatpakPackage* pamac_database_get_flatpak_finish (PamacDatabase* self, GAsyncResult* _res_) { PamacFlatpakPackage* result; PamacDatabaseGetFlatpakAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block65Data* block65_data_ref (Block65Data* _data65_) { g_atomic_int_inc (&_data65_->_ref_count_); return _data65_; } static void block65_data_unref (void * _userdata_) { Block65Data* _data65_; _data65_ = (Block65Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data65_->_ref_count_)) { PamacDatabase* self; self = _data65_->self; _g_object_unref0 (self); g_slice_free (Block65Data, _data65_); } } static Block66Data* block66_data_ref (Block66Data* _data66_) { g_atomic_int_inc (&_data66_->_ref_count_); return _data66_; } static void block66_data_unref (void * _userdata_) { Block66Data* _data66_; _data66_ = (Block66Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data66_->_ref_count_)) { PamacDatabase* self; self = _data66_->_data65_->self; _g_free0 (_data66_->id_copy); block65_data_unref (_data66_->_data65_); _data66_->_data65_ = NULL; g_slice_free (Block66Data, _data66_); } } static gboolean _pamac_database_get_flatpak_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_flatpak_async_co (self); return result; } static gint ____lambda46_ (Block66Data* _data66_) { Block65Data* _data65_; PamacDatabase* self; PamacFlatpakPlugin* _tmp0_; const gchar* _tmp1_; PamacFlatpakPackage* _tmp2_; GMainContext* _tmp3_; gint result; _data65_ = _data66_->_data65_; self = _data65_->self; _tmp0_ = self->priv->flatpak_plugin; _tmp1_ = _data66_->id_copy; _tmp2_ = pamac_flatpak_plugin_get_flatpak (_tmp0_, _tmp1_); _data65_->pkg = _tmp2_; _tmp3_ = self->priv->_context; g_main_context_invoke_full (_tmp3_, G_PRIORITY_DEFAULT, _pamac_database_get_flatpak_async_co_gsource_func, _data65_->_async_data_, NULL); result = 0; return result; } static gpointer _____lambda46__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ____lambda46_ (self)); block66_data_unref (self); return result; } static gboolean pamac_database_get_flatpak_async_co (PamacDatabaseGetFlatpakAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data65_ = g_slice_new0 (Block65Data); _data_->_data65_->_ref_count_ = 1; _data_->_data65_->self = g_object_ref (_data_->self); _data_->_data65_->_async_data_ = _data_; _data_->_data65_->pkg = NULL; _data_->_tmp0_ = _data_->self->priv->_config; _data_->_tmp1_ = pamac_config_get_enable_flatpak (_data_->_tmp0_); _data_->_tmp2_ = _data_->_tmp1_; if (_data_->_tmp2_) { _data_->_data66_ = g_slice_new0 (Block66Data); _data_->_data66_->_ref_count_ = 1; _data_->_data66_->_data65_ = block65_data_ref (_data_->_data65_); _data_->_tmp3_ = g_strdup (_data_->id); _data_->_data66_->id_copy = _data_->_tmp3_; { _data_->_tmp4_ = g_thread_try_new ("get_flatpak", _____lambda46__gthread_func, block66_data_ref (_data_->_data66_), &_data_->_inner_error0_); _data_->_tmp5_ = _data_->_tmp4_; _g_thread_unref0 (_data_->_tmp5_); 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_->_tmp6_ = _data_->e; _data_->_tmp7_ = _data_->_tmp6_->message; g_warning ("database.vala:2633: %s", _data_->_tmp7_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block66_data_unref (_data_->_data66_); _data_->_data66_ = NULL; block65_data_unref (_data_->_data65_); _data_->_data65_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } block66_data_unref (_data_->_data66_); _data_->_data66_ = NULL; } _data_->_tmp8_ = _data_->_data65_->pkg; _data_->result = _data_->_tmp8_; block65_data_unref (_data_->_data65_); _data_->_data65_ = NULL; 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_database_get_category_flatpaks_async_data_free (gpointer _data) { PamacDatabaseGetCategoryFlatpaksAsyncData* _data_; _data_ = _data; _g_free0 (_data_->category); _g_ptr_array_unref0 (_data_->result); _g_object_unref0 (_data_->self); g_slice_free (PamacDatabaseGetCategoryFlatpaksAsyncData, _data_); } void pamac_database_get_category_flatpaks_async (PamacDatabase* self, const gchar* category, GAsyncReadyCallback _callback_, gpointer _user_data_) { PamacDatabaseGetCategoryFlatpaksAsyncData* _data_; PamacDatabase* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (category != NULL); _data_ = g_slice_new0 (PamacDatabaseGetCategoryFlatpaksAsyncData); _data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_); g_task_set_task_data (_data_->_async_result, _data_, pamac_database_get_category_flatpaks_async_data_free); _tmp0_ = _g_object_ref0 (self); _data_->self = _tmp0_; _tmp1_ = g_strdup (category); _g_free0 (_data_->category); _data_->category = _tmp1_; pamac_database_get_category_flatpaks_async_co (_data_); } GPtrArray* pamac_database_get_category_flatpaks_finish (PamacDatabase* self, GAsyncResult* _res_) { GPtrArray* result; PamacDatabaseGetCategoryFlatpaksAsyncData* _data_; _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); result = _data_->result; _data_->result = NULL; return result; } static Block67Data* block67_data_ref (Block67Data* _data67_) { g_atomic_int_inc (&_data67_->_ref_count_); return _data67_; } static void block67_data_unref (void * _userdata_) { Block67Data* _data67_; _data67_ = (Block67Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data67_->_ref_count_)) { PamacDatabase* self; self = _data67_->self; _g_ptr_array_unref0 (_data67_->pkgs); _g_object_unref0 (self); g_slice_free (Block67Data, _data67_); } } static Block68Data* block68_data_ref (Block68Data* _data68_) { g_atomic_int_inc (&_data68_->_ref_count_); return _data68_; } static void block68_data_unref (void * _userdata_) { Block68Data* _data68_; _data68_ = (Block68Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data68_->_ref_count_)) { PamacDatabase* self; self = _data68_->_data67_->self; _g_free0 (_data68_->category_copy); block67_data_unref (_data68_->_data67_); _data68_->_data67_ = NULL; g_slice_free (Block68Data, _data68_); } } static gboolean _pamac_database_get_category_flatpaks_async_co_gsource_func (gpointer self) { gboolean result; result = pamac_database_get_category_flatpaks_async_co (self); return result; } static gint ____lambda47_ (Block68Data* _data68_) { Block67Data* _data67_; PamacDatabase* self; PamacFlatpakPlugin* _tmp0_; const gchar* _tmp1_; GMainContext* _tmp2_; gint result; _data67_ = _data68_->_data67_; self = _data67_->self; _tmp0_ = self->priv->flatpak_plugin; _tmp1_ = _data68_->category_copy; pamac_flatpak_plugin_get_category_flatpaks (_tmp0_, _tmp1_, &_data67_->pkgs); _tmp2_ = self->priv->_context; g_main_context_invoke_full (_tmp2_, G_PRIORITY_DEFAULT, _pamac_database_get_category_flatpaks_async_co_gsource_func, _data67_->_async_data_, NULL); result = 0; return result; } static gpointer _____lambda47__gthread_func (gpointer self) { gpointer result; result = (gpointer) ((gintptr) ____lambda47_ (self)); block68_data_unref (self); return result; } static gboolean pamac_database_get_category_flatpaks_async_co (PamacDatabaseGetCategoryFlatpaksAsyncData* _data_) { switch (_data_->_state_) { case 0: goto _state_0; case 1: goto _state_1; default: g_assert_not_reached (); } _state_0: _data_->_data67_ = g_slice_new0 (Block67Data); _data_->_data67_->_ref_count_ = 1; _data_->_data67_->self = g_object_ref (_data_->self); _data_->_data67_->_async_data_ = _data_; _data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, NULL); _data_->_data67_->pkgs = _data_->_tmp0_; _data_->_tmp1_ = _data_->self->priv->_config; _data_->_tmp2_ = pamac_config_get_enable_flatpak (_data_->_tmp1_); _data_->_tmp3_ = _data_->_tmp2_; if (_data_->_tmp3_) { _data_->_data68_ = g_slice_new0 (Block68Data); _data_->_data68_->_ref_count_ = 1; _data_->_data68_->_data67_ = block67_data_ref (_data_->_data67_); _data_->_tmp4_ = g_strdup (_data_->category); _data_->_data68_->category_copy = _data_->_tmp4_; { _data_->_tmp5_ = g_thread_try_new ("get_category_flatpaks", _____lambda47__gthread_func, block68_data_ref (_data_->_data68_), &_data_->_inner_error0_); _data_->_tmp6_ = _data_->_tmp5_; _g_thread_unref0 (_data_->_tmp6_); 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_->_tmp7_ = _data_->e; _data_->_tmp8_ = _data_->_tmp7_->message; g_warning ("database.vala:2651: %s", _data_->_tmp8_); _g_error_free0 (_data_->e); } __finally0: if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) { block68_data_unref (_data_->_data68_); _data_->_data68_ = NULL; block67_data_unref (_data_->_data67_); _data_->_data67_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code); g_clear_error (&_data_->_inner_error0_); g_object_unref (_data_->_async_result); return FALSE; } block68_data_unref (_data_->_data68_); _data_->_data68_ = NULL; } _data_->_tmp9_ = _data_->_data67_->pkgs; _data_->_tmp10_ = _g_ptr_array_ref0 (_data_->_tmp9_); _data_->result = _data_->_tmp10_; block67_data_unref (_data_->_data67_); _data_->_data67_ = NULL; 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; } PamacConfig* pamac_database_get_config (PamacDatabase* self) { PamacConfig* result; PamacConfig* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_config; result = _tmp0_; return result; } void pamac_database_set_config (PamacDatabase* self, PamacConfig* value) { PamacConfig* old_value; g_return_if_fail (self != NULL); old_value = pamac_database_get_config (self); if (old_value != value) { PamacConfig* _tmp0_; _tmp0_ = _g_object_ref0 (value); _g_object_unref0 (self->priv->_config); self->priv->_config = _tmp0_; g_object_notify_by_pspec ((GObject *) self, pamac_database_properties[PAMAC_DATABASE_CONFIG_PROPERTY]); } } GMainContext* pamac_database_get_context (PamacDatabase* self) { GMainContext* result; GMainContext* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_context; result = _tmp0_; return result; } static void pamac_database_set_context (PamacDatabase* self, GMainContext* value) { GMainContext* old_value; g_return_if_fail (self != NULL); old_value = pamac_database_get_context (self); if (old_value != value) { self->priv->_context = value; g_object_notify_by_pspec ((GObject *) self, pamac_database_properties[PAMAC_DATABASE_CONTEXT_PROPERTY]); } } SoupSession* pamac_database_get_soup_session (PamacDatabase* self) { SoupSession* result; SoupSession* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_soup_session; result = _tmp0_; return result; } static void pamac_database_set_soup_session (PamacDatabase* self, SoupSession* value) { SoupSession* old_value; g_return_if_fail (self != NULL); old_value = pamac_database_get_soup_session (self); if (old_value != value) { SoupSession* _tmp0_; _tmp0_ = _g_object_ref0 (value); _g_object_unref0 (self->priv->_soup_session); self->priv->_soup_session = _tmp0_; g_object_notify_by_pspec ((GObject *) self, pamac_database_properties[PAMAC_DATABASE_SOUP_SESSION_PROPERTY]); } } PamacAURPlugin* pamac_database_get_aur_plugin (PamacDatabase* self) { PamacAURPlugin* result; PamacAURPlugin* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_aur_plugin; result = _tmp0_; return result; } static void pamac_database_set_aur_plugin (PamacDatabase* self, PamacAURPlugin* value) { PamacAURPlugin* old_value; g_return_if_fail (self != NULL); old_value = pamac_database_get_aur_plugin (self); if (old_value != value) { PamacAURPlugin* _tmp0_; _tmp0_ = _g_object_ref0 (value); _g_object_unref0 (self->priv->_aur_plugin); self->priv->_aur_plugin = _tmp0_; g_object_notify_by_pspec ((GObject *) self, pamac_database_properties[PAMAC_DATABASE_AUR_PLUGIN_PROPERTY]); } } PamacAlpmUtils* pamac_database_get_alpm_utils (PamacDatabase* self) { PamacAlpmUtils* result; PamacAlpmUtils* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_alpm_utils; result = _tmp0_; return result; } static void pamac_database_set_alpm_utils (PamacDatabase* self, PamacAlpmUtils* value) { PamacAlpmUtils* old_value; g_return_if_fail (self != NULL); old_value = pamac_database_get_alpm_utils (self); if (old_value != value) { PamacAlpmUtils* _tmp0_; _tmp0_ = _g_object_ref0 (value); _g_object_unref0 (self->priv->_alpm_utils); self->priv->_alpm_utils = _tmp0_; g_object_notify_by_pspec ((GObject *) self, pamac_database_properties[PAMAC_DATABASE_ALPM_UTILS_PROPERTY]); } } gsize pamac_database_get_dbs_count (PamacDatabase* self) { gsize result; g_return_val_if_fail (self != NULL, 0UL); result = self->priv->_dbs_count; return result; } void pamac_database_set_dbs_count (PamacDatabase* self, gsize value) { gsize old_value; g_return_if_fail (self != NULL); old_value = pamac_database_get_dbs_count (self); if (old_value != value) { self->priv->_dbs_count = value; g_object_notify_by_pspec ((GObject *) self, pamac_database_properties[PAMAC_DATABASE_DBS_COUNT_PROPERTY]); } } gsize pamac_database_get_dbs_index (PamacDatabase* self) { gsize result; g_return_val_if_fail (self != NULL, 0UL); result = self->priv->_dbs_index; return result; } void pamac_database_set_dbs_index (PamacDatabase* self, gsize value) { gsize old_value; g_return_if_fail (self != NULL); old_value = pamac_database_get_dbs_index (self); if (old_value != value) { self->priv->_dbs_index = value; g_object_notify_by_pspec ((GObject *) self, pamac_database_properties[PAMAC_DATABASE_DBS_INDEX_PROPERTY]); } } gboolean pamac_database_get_dbs_missing (PamacDatabase* self) { gboolean result; g_return_val_if_fail (self != NULL, FALSE); result = self->priv->_dbs_missing; return result; } static void pamac_database_set_dbs_missing (PamacDatabase* self, gboolean value) { gboolean old_value; g_return_if_fail (self != NULL); old_value = pamac_database_get_dbs_missing (self); if (old_value != value) { self->priv->_dbs_missing = value; g_object_notify_by_pspec ((GObject *) self, pamac_database_properties[PAMAC_DATABASE_DBS_MISSING_PROPERTY]); } } static gpointer _alpm_config_ref0 (gpointer self) { return self ? alpm_config_ref (self) : NULL; } static void _cb_evt_alpm_cb_event (void* ctx, alpm_event_t* data) { cb_evt (ctx, data); } static void _pamac_database_____lambda48_ (PamacDatabase* self) { PamacAURPlugin* _tmp0_; PamacConfig* _tmp1_; const gchar* _tmp2_; const gchar* _tmp3_; _tmp0_ = self->priv->_aur_plugin; _tmp1_ = self->priv->_config; _tmp2_ = pamac_config_get_aur_build_dir (_tmp1_); _tmp3_ = _tmp2_; pamac_aur_plugin_set_real_build_dir (_tmp0_, _tmp3_); } static void __pamac_database_____lambda48__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) { _pamac_database_____lambda48_ ((PamacDatabase*) self); } static GObject * pamac_database_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { GObject * obj; GObjectClass * parent_class; PamacDatabase * self; PamacConfig* _tmp0_; AlpmConfig* _tmp1_; AlpmConfig* _tmp2_; AlpmConfig* _tmp3_; GMainContext* _tmp4_; GHashFunc _tmp5_; GEqualFunc _tmp6_; GHashTable* _tmp7_; GHashFunc _tmp8_; GEqualFunc _tmp9_; GHashTable* _tmp10_; GHashFunc _tmp11_; GEqualFunc _tmp12_; GHashTable* _tmp13_; gchar* user_agent = NULL; gchar* _tmp14_; SoupSession* _tmp15_; SoupSession* _tmp16_; SoupSession* _tmp17_; const gchar* _tmp18_; SoupSession* _tmp19_; PamacConfig* _tmp20_; PamacAlpmUtils* _tmp21_; PamacAlpmUtils* _tmp22_; const gchar* _tmp23_; PamacConfig* _tmp48_; gboolean _tmp49_; gboolean _tmp50_; PamacConfig* _tmp61_; gboolean _tmp62_; gboolean _tmp63_; PamacConfig* _tmp73_; gboolean _tmp74_; gboolean _tmp75_; PamacConfig* _tmp80_; gboolean _tmp81_; gboolean _tmp82_; GError* _inner_error0_ = NULL; parent_class = G_OBJECT_CLASS (pamac_database_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = G_TYPE_CHECK_INSTANCE_CAST (obj, PAMAC_TYPE_DATABASE, PamacDatabase); _tmp0_ = self->priv->_config; _tmp1_ = pamac_config_get_alpm_config (_tmp0_); _tmp2_ = _tmp1_; _tmp3_ = _alpm_config_ref0 (_tmp2_); _alpm_config_unref0 (self->priv->alpm_config); self->priv->alpm_config = _tmp3_; _tmp4_ = g_main_context_default (); pamac_database_set_context (self, _tmp4_); _tmp5_ = g_str_hash; _tmp6_ = g_str_equal; _tmp7_ = g_hash_table_new_full (_tmp5_, _tmp6_, _g_free0_, _g_object_unref0_); _g_hash_table_unref0 (self->priv->aur_vcs_pkgs); self->priv->aur_vcs_pkgs = _tmp7_; _tmp8_ = g_str_hash; _tmp9_ = g_str_equal; _tmp10_ = g_hash_table_new_full (_tmp8_, _tmp9_, NULL, _g_object_unref0_); _g_hash_table_unref0 (self->priv->pkgs_cache); self->priv->pkgs_cache = _tmp10_; _tmp11_ = g_str_hash; _tmp12_ = g_str_equal; _tmp13_ = g_hash_table_new_full (_tmp11_, _tmp12_, NULL, _g_object_unref0_); _g_hash_table_unref0 (self->priv->aur_pkgs_cache); self->priv->aur_pkgs_cache = _tmp13_; _tmp14_ = get_user_agent (); user_agent = _tmp14_; _tmp15_ = soup_session_new (); _tmp16_ = _tmp15_; pamac_database_set_soup_session (self, _tmp16_); _g_object_unref0 (_tmp16_); _tmp17_ = self->priv->_soup_session; _tmp18_ = user_agent; soup_session_set_user_agent (_tmp17_, _tmp18_); _tmp19_ = self->priv->_soup_session; soup_session_set_timeout (_tmp19_, (guint) 10); _tmp20_ = self->priv->_config; _tmp21_ = pamac_alpm_utils_new (_tmp20_); _tmp22_ = _tmp21_; pamac_database_set_alpm_utils (self, _tmp22_); _g_object_unref0 (_tmp22_); _tmp23_ = user_agent; g_setenv ("HTTP_USER_AGENT", _tmp23_, TRUE); { AlpmConfig* _tmp24_; _tmp24_ = self->priv->alpm_config; g_rec_mutex_lock (&self->priv->__lock_alpm_config); { AlpmConfig* _tmp25_; alpm_handle_t* _tmp26_; alpm_handle_t* _tmp27_; GHashTable* _tmp44_; GHashTable* _tmp45_; GHashTable* _tmp46_; _tmp25_ = self->priv->alpm_config; _tmp26_ = alpm_config_get_handle (_tmp25_, FALSE, FALSE, TRUE); _alpm_release0 (self->priv->alpm_handle); self->priv->alpm_handle = _tmp26_; _tmp27_ = self->priv->alpm_handle; if (_tmp27_ == NULL) { { AlpmConfig* _tmp28_; _tmp28_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } _g_free0 (user_agent); return obj; } else { alpm_handle_t* _tmp37_; AlpmConfig* _tmp38_; alpm_handle_t* _tmp39_; AlpmConfig* _tmp40_; alpm_handle_t* _tmp41_; AlpmConfig* _tmp42_; alpm_handle_t* _tmp43_; { GHashTableIter _name_it = {0}; PamacConfig* _tmp29_; GHashTable* _tmp30_; GHashTable* _tmp31_; GHashTableIter _tmp32_ = {0}; const gchar* name = NULL; _tmp29_ = self->priv->_config; _tmp30_ = pamac_config_get_ignorepkgs (_tmp29_); _tmp31_ = _tmp30_; g_hash_table_iter_init (&_tmp32_, _tmp31_); _name_it = _tmp32_; while (TRUE) { gconstpointer _tmp33_; const gchar* _tmp34_; alpm_handle_t* _tmp35_; const gchar* _tmp36_; _tmp33_ = _vala_hash_set_next_value (&_name_it); name = (const gchar*) _tmp33_; _tmp34_ = name; if (!(_tmp34_ != NULL)) { break; } _tmp35_ = self->priv->alpm_handle; _tmp36_ = name; alpm_option_add_ignorepkg (_tmp35_, _tmp36_); } } _tmp37_ = self->priv->alpm_handle; alpm_option_set_eventcb (_tmp37_, _cb_evt_alpm_cb_event, self); _tmp38_ = self->priv->alpm_config; _tmp39_ = self->priv->alpm_handle; alpm_config_register_syncdbs (_tmp38_, _tmp39_); _tmp40_ = self->priv->alpm_config; _tmp41_ = alpm_config_get_handle (_tmp40_, TRUE, FALSE, TRUE); _alpm_release0 (self->priv->files_handle); self->priv->files_handle = _tmp41_; _tmp42_ = self->priv->alpm_config; _tmp43_ = self->priv->files_handle; alpm_config_register_syncdbs (_tmp42_, _tmp43_); } _tmp44_ = self->priv->aur_vcs_pkgs; g_hash_table_remove_all (_tmp44_); _tmp45_ = self->priv->pkgs_cache; g_hash_table_remove_all (_tmp45_); _tmp46_ = self->priv->aur_pkgs_cache; g_hash_table_remove_all (_tmp46_); } __finally0: { AlpmConfig* _tmp47_; _tmp47_ = self->priv->alpm_config; g_rec_mutex_unlock (&self->priv->__lock_alpm_config); } if (G_UNLIKELY (_inner_error0_ != NULL)) { _g_free0 (user_agent); 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_); } } _tmp48_ = self->priv->_config; _tmp49_ = pamac_config_get_support_aur (_tmp48_); _tmp50_ = _tmp49_; if (_tmp50_) { PamacConfig* _tmp51_; PamacAURPlugin* _tmp52_; PamacAURPlugin* _tmp53_; PamacAURPlugin* _tmp54_; _tmp51_ = self->priv->_config; _tmp52_ = pamac_config_get_aur_plugin (_tmp51_); _tmp53_ = _tmp52_; pamac_database_set_aur_plugin (self, _tmp53_); _g_object_unref0 (_tmp53_); _tmp54_ = self->priv->_aur_plugin; if (_tmp54_ == NULL) { PamacConfig* _tmp55_; _tmp55_ = self->priv->_config; pamac_config_set_enable_aur (_tmp55_, FALSE); } else { PamacAURPlugin* _tmp56_; PamacConfig* _tmp57_; const gchar* _tmp58_; const gchar* _tmp59_; PamacConfig* _tmp60_; _tmp56_ = self->priv->_aur_plugin; _tmp57_ = self->priv->_config; _tmp58_ = pamac_config_get_aur_build_dir (_tmp57_); _tmp59_ = _tmp58_; pamac_aur_plugin_set_real_build_dir (_tmp56_, _tmp59_); _tmp60_ = self->priv->_config; g_signal_connect_object ((GObject*) _tmp60_, "notify::aur-build-dir", (GCallback) __pamac_database_____lambda48__g_object_notify, self, 0); } } _tmp61_ = self->priv->_config; _tmp62_ = pamac_config_get_support_appstream (_tmp61_); _tmp63_ = _tmp62_; if (_tmp63_) { PamacConfig* _tmp64_; PamacAppstreamPlugin* _tmp65_; PamacAppstreamPlugin* _tmp66_; _tmp64_ = self->priv->_config; _tmp65_ = pamac_config_get_appstream_plugin (_tmp64_); _g_object_unref0 (self->priv->appstream_plugin); self->priv->appstream_plugin = _tmp65_; _tmp66_ = self->priv->appstream_plugin; if (_tmp66_ == NULL) { PamacConfig* _tmp67_; _tmp67_ = self->priv->_config; pamac_config_set_enable_appstream (_tmp67_, FALSE); } else { PamacConfig* _tmp68_; gboolean _tmp69_; gboolean _tmp70_; _tmp68_ = self->priv->_config; _tmp69_ = pamac_config_get_enable_appstream (_tmp68_); _tmp70_ = _tmp69_; if (_tmp70_) { PamacAppstreamPlugin* _tmp71_; GPtrArray* _tmp72_; _tmp71_ = self->priv->appstream_plugin; _tmp72_ = pamac_database_get_repos_names (self); pamac_appstream_plugin_load (_tmp71_, _tmp72_); } } } _tmp73_ = self->priv->_config; _tmp74_ = pamac_config_get_support_snap (_tmp73_); _tmp75_ = _tmp74_; if (_tmp75_) { PamacConfig* _tmp76_; PamacSnapPlugin* _tmp77_; PamacSnapPlugin* _tmp78_; _tmp76_ = self->priv->_config; _tmp77_ = pamac_config_get_snap_plugin (_tmp76_); _g_object_unref0 (self->priv->snap_plugin); self->priv->snap_plugin = _tmp77_; _tmp78_ = self->priv->snap_plugin; if (_tmp78_ == NULL) { PamacConfig* _tmp79_; _tmp79_ = self->priv->_config; pamac_config_set_enable_snap (_tmp79_, FALSE); } } _tmp80_ = self->priv->_config; _tmp81_ = pamac_config_get_support_flatpak (_tmp80_); _tmp82_ = _tmp81_; if (_tmp82_) { PamacConfig* _tmp83_; PamacFlatpakPlugin* _tmp84_; PamacFlatpakPlugin* _tmp85_; _tmp83_ = self->priv->_config; _tmp84_ = pamac_config_get_flatpak_plugin (_tmp83_); _g_object_unref0 (self->priv->flatpak_plugin); self->priv->flatpak_plugin = _tmp84_; _tmp85_ = self->priv->flatpak_plugin; if (_tmp85_ == NULL) { PamacConfig* _tmp86_; _tmp86_ = self->priv->_config; pamac_config_set_enable_flatpak (_tmp86_, FALSE); } else { PamacFlatpakPlugin* _tmp87_; PamacConfig* _tmp88_; guint64 _tmp89_; guint64 _tmp90_; PamacConfig* _tmp91_; gboolean _tmp92_; gboolean _tmp93_; _tmp87_ = self->priv->flatpak_plugin; _tmp88_ = self->priv->_config; _tmp89_ = pamac_config_get_refresh_period (_tmp88_); _tmp90_ = _tmp89_; pamac_flatpak_plugin_set_refresh_period (_tmp87_, _tmp90_); _tmp91_ = self->priv->_config; _tmp92_ = pamac_config_get_enable_flatpak (_tmp91_); _tmp93_ = _tmp92_; if (_tmp93_) { PamacFlatpakPlugin* _tmp94_; _tmp94_ = self->priv->flatpak_plugin; pamac_flatpak_plugin_load_appstream_data (_tmp94_); } } } _g_free0 (user_agent); return obj; } static void pamac_database_class_init (PamacDatabaseClass * klass, gpointer klass_data) { pamac_database_parent_class = g_type_class_peek_parent (klass); g_type_class_adjust_private_offset (klass, &PamacDatabase_private_offset); G_OBJECT_CLASS (klass)->get_property = _vala_pamac_database_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_pamac_database_set_property; G_OBJECT_CLASS (klass)->constructor = pamac_database_constructor; G_OBJECT_CLASS (klass)->finalize = pamac_database_finalize; g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_DATABASE_CONFIG_PROPERTY, pamac_database_properties[PAMAC_DATABASE_CONFIG_PROPERTY] = g_param_spec_object ("config", "config", "config", PAMAC_TYPE_CONFIG, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT)); g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_DATABASE_CONTEXT_PROPERTY, pamac_database_properties[PAMAC_DATABASE_CONTEXT_PROPERTY] = g_param_spec_boxed ("context", "context", "context", G_TYPE_MAIN_CONTEXT, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_DATABASE_SOUP_SESSION_PROPERTY, pamac_database_properties[PAMAC_DATABASE_SOUP_SESSION_PROPERTY] = g_param_spec_object ("soup-session", "soup-session", "soup-session", soup_session_get_type (), G_PARAM_STATIC_STRINGS | G_PARAM_READABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_DATABASE_AUR_PLUGIN_PROPERTY, pamac_database_properties[PAMAC_DATABASE_AUR_PLUGIN_PROPERTY] = g_param_spec_object ("aur-plugin", "aur-plugin", "aur-plugin", PAMAC_TYPE_AUR_PLUGIN, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_DATABASE_ALPM_UTILS_PROPERTY, pamac_database_properties[PAMAC_DATABASE_ALPM_UTILS_PROPERTY] = g_param_spec_object ("alpm-utils", "alpm-utils", "alpm-utils", PAMAC_TYPE_ALPM_UTILS, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_DATABASE_DBS_COUNT_PROPERTY, pamac_database_properties[PAMAC_DATABASE_DBS_COUNT_PROPERTY] = g_param_spec_ulong ("dbs-count", "dbs-count", "dbs-count", 0, G_MAXULONG, 0UL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_DATABASE_DBS_INDEX_PROPERTY, pamac_database_properties[PAMAC_DATABASE_DBS_INDEX_PROPERTY] = g_param_spec_ulong ("dbs-index", "dbs-index", "dbs-index", 0, G_MAXULONG, 0UL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_DATABASE_DBS_MISSING_PROPERTY, pamac_database_properties[PAMAC_DATABASE_DBS_MISSING_PROPERTY] = g_param_spec_boolean ("dbs-missing", "dbs-missing", "dbs-missing", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE)); pamac_database_signals[PAMAC_DATABASE_GET_UPDATES_PROGRESS_SIGNAL] = g_signal_new ("get-updates-progress", PAMAC_TYPE_DATABASE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__UINT, G_TYPE_NONE, 1, G_TYPE_UINT); pamac_database_signals[PAMAC_DATABASE_EMIT_WARNING_SIGNAL] = g_signal_new ("emit-warning", PAMAC_TYPE_DATABASE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); } static void pamac_database_instance_init (PamacDatabase * self, gpointer klass) { self->priv = pamac_database_get_instance_private (self); g_rec_mutex_init (&self->priv->__lock_alpm_config); self->vercmp = _alpm_pkg_vercmp_gcompare_func; } static void pamac_database_finalize (GObject * obj) { PamacDatabase * self; self = G_TYPE_CHECK_INSTANCE_CAST (obj, PAMAC_TYPE_DATABASE, PamacDatabase); g_rec_mutex_clear (&self->priv->__lock_alpm_config); _alpm_config_unref0 (self->priv->alpm_config); _alpm_release0 (self->priv->alpm_handle); _alpm_release0 (self->priv->files_handle); _g_hash_table_unref0 (self->priv->aur_vcs_pkgs); _g_hash_table_unref0 (self->priv->pkgs_cache); _g_hash_table_unref0 (self->priv->aur_pkgs_cache); _g_ptr_array_unref0 (self->priv->mirrors_countries); _g_free0 (self->priv->mirrors_choosen_country); _g_ptr_array_unref0 (self->priv->groups_names); _g_ptr_array_unref0 (self->priv->repos_names); _g_ptr_array_unref0 (self->priv->categories_names); _g_object_unref0 (self->priv->appstream_plugin); _g_object_unref0 (self->priv->snap_plugin); _g_object_unref0 (self->priv->flatpak_plugin); _g_object_unref0 (self->priv->_config); _g_object_unref0 (self->priv->_soup_session); _g_object_unref0 (self->priv->_aur_plugin); _g_object_unref0 (self->priv->_alpm_utils); G_OBJECT_CLASS (pamac_database_parent_class)->finalize (obj); } static GType pamac_database_get_type_once (void) { static const GTypeInfo g_define_type_info = { sizeof (PamacDatabaseClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pamac_database_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PamacDatabase), 0, (GInstanceInitFunc) pamac_database_instance_init, NULL }; GType pamac_database_type_id; pamac_database_type_id = g_type_register_static (G_TYPE_OBJECT, "PamacDatabase", &g_define_type_info, 0); PamacDatabase_private_offset = g_type_add_instance_private (pamac_database_type_id, sizeof (PamacDatabasePrivate)); return pamac_database_type_id; } GType pamac_database_get_type (void) { static volatile gsize pamac_database_type_id__once = 0; if (g_once_init_enter (&pamac_database_type_id__once)) { GType pamac_database_type_id; pamac_database_type_id = pamac_database_get_type_once (); g_once_init_leave (&pamac_database_type_id__once, pamac_database_type_id); } return pamac_database_type_id__once; } static void _vala_pamac_database_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { PamacDatabase * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, PAMAC_TYPE_DATABASE, PamacDatabase); switch (property_id) { case PAMAC_DATABASE_CONFIG_PROPERTY: g_value_set_object (value, pamac_database_get_config (self)); break; case PAMAC_DATABASE_CONTEXT_PROPERTY: g_value_set_boxed (value, pamac_database_get_context (self)); break; case PAMAC_DATABASE_SOUP_SESSION_PROPERTY: g_value_set_object (value, pamac_database_get_soup_session (self)); break; case PAMAC_DATABASE_AUR_PLUGIN_PROPERTY: g_value_set_object (value, pamac_database_get_aur_plugin (self)); break; case PAMAC_DATABASE_ALPM_UTILS_PROPERTY: g_value_set_object (value, pamac_database_get_alpm_utils (self)); break; case PAMAC_DATABASE_DBS_COUNT_PROPERTY: g_value_set_ulong (value, pamac_database_get_dbs_count (self)); break; case PAMAC_DATABASE_DBS_INDEX_PROPERTY: g_value_set_ulong (value, pamac_database_get_dbs_index (self)); break; case PAMAC_DATABASE_DBS_MISSING_PROPERTY: g_value_set_boolean (value, pamac_database_get_dbs_missing (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } static void _vala_pamac_database_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { PamacDatabase * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, PAMAC_TYPE_DATABASE, PamacDatabase); switch (property_id) { case PAMAC_DATABASE_CONFIG_PROPERTY: pamac_database_set_config (self, g_value_get_object (value)); break; case PAMAC_DATABASE_CONTEXT_PROPERTY: pamac_database_set_context (self, g_value_get_boxed (value)); break; case PAMAC_DATABASE_SOUP_SESSION_PROPERTY: pamac_database_set_soup_session (self, g_value_get_object (value)); break; case PAMAC_DATABASE_AUR_PLUGIN_PROPERTY: pamac_database_set_aur_plugin (self, g_value_get_object (value)); break; case PAMAC_DATABASE_ALPM_UTILS_PROPERTY: pamac_database_set_alpm_utils (self, g_value_get_object (value)); break; case PAMAC_DATABASE_DBS_COUNT_PROPERTY: pamac_database_set_dbs_count (self, g_value_get_ulong (value)); break; case PAMAC_DATABASE_DBS_INDEX_PROPERTY: pamac_database_set_dbs_index (self, g_value_get_ulong (value)); break; case PAMAC_DATABASE_DBS_MISSING_PROPERTY: pamac_database_set_dbs_missing (self, g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } gint alpm_pkg_compare_name (alpm_pkg_t* pkg_a, alpm_pkg_t* pkg_b) { GCompareFunc _tmp0_; const gchar* _tmp1_; const gchar* _tmp2_; const gchar* _tmp3_; const gchar* _tmp4_; gint result; g_return_val_if_fail (pkg_a != NULL, 0); g_return_val_if_fail (pkg_b != NULL, 0); _tmp0_ = ((GCompareFunc) g_strcmp0); _tmp1_ = alpm_pkg_get_name (pkg_a); _tmp2_ = _tmp1_; _tmp3_ = alpm_pkg_get_name (pkg_b); _tmp4_ = _tmp3_; result = _tmp0_ (_tmp2_, _tmp4_); return result; } gint pkg_compare_name (PamacPackage* pkg_a, PamacPackage* pkg_b) { GCompareFunc _tmp0_; const gchar* _tmp1_; const gchar* _tmp2_; const gchar* _tmp3_; const gchar* _tmp4_; gint result; g_return_val_if_fail (pkg_a != NULL, 0); g_return_val_if_fail (pkg_b != NULL, 0); _tmp0_ = ((GCompareFunc) g_strcmp0); _tmp1_ = pamac_package_get_name (pkg_a); _tmp2_ = _tmp1_; _tmp3_ = pamac_package_get_name (pkg_b); _tmp4_ = _tmp3_; result = _tmp0_ (_tmp2_, _tmp4_); return result; } static Block69Data* block69_data_ref (Block69Data* _data69_) { g_atomic_int_inc (&_data69_->_ref_count_); return _data69_; } static void block69_data_unref (void * _userdata_) { Block69Data* _data69_; _data69_ = (Block69Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data69_->_ref_count_)) { _g_object_unref0 (_data69_->database); g_slice_free (Block69Data, _data69_); } } static gboolean ____lambda30_ (Block69Data* _data69_) { PamacDatabase* _tmp0_; PamacDatabase* _tmp1_; gsize _tmp2_; gsize _tmp3_; PamacDatabase* _tmp4_; gsize _tmp5_; gsize _tmp6_; gboolean result; _tmp0_ = _data69_->database; _tmp1_ = _data69_->database; _tmp2_ = pamac_database_get_dbs_index (_tmp1_); _tmp3_ = _tmp2_; _tmp4_ = _data69_->database; _tmp5_ = pamac_database_get_dbs_count (_tmp4_); _tmp6_ = _tmp5_; g_signal_emit (_tmp0_, pamac_database_signals[PAMAC_DATABASE_GET_UPDATES_PROGRESS_SIGNAL], 0, (guint) ((((gdouble) _tmp3_) / _tmp6_) * ((gdouble) 90))); result = FALSE; return result; } static gboolean _____lambda30__gsource_func (gpointer self) { gboolean result; result = ____lambda30_ (self); return result; } void cb_dl (void* ctx, const gchar* filename, alpm_download_event_type_t event_type, void* event_data) { g_return_if_fail (filename != NULL); if (event_type == ALPM_DOWNLOAD_COMPLETED) { if (g_str_has_suffix (filename, ".db")) { Block69Data* _data69_; PamacDatabase* _tmp0_; PamacDatabase* _tmp1_; GMainContext* _tmp2_; GMainContext* _tmp3_; PamacDatabase* _tmp4_; gsize _tmp5_; gsize _tmp6_; _data69_ = g_slice_new0 (Block69Data); _data69_->_ref_count_ = 1; _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (ctx, PAMAC_TYPE_DATABASE, PamacDatabase)); _data69_->database = _tmp0_; _tmp1_ = _data69_->database; _tmp2_ = pamac_database_get_context (_tmp1_); _tmp3_ = _tmp2_; g_main_context_invoke_full (_tmp3_, G_PRIORITY_DEFAULT, _____lambda30__gsource_func, block69_data_ref (_data69_), block69_data_unref); _tmp4_ = _data69_->database; _tmp5_ = pamac_database_get_dbs_index (_tmp4_); _tmp6_ = _tmp5_; pamac_database_set_dbs_index (_tmp4_, _tmp6_ + 1); block69_data_unref (_data69_); _data69_ = NULL; } } } void cb_evt (void* ctx, alpm_event_t* data) { g_return_if_fail (data != NULL); switch (data->type) { case ALPM_EVENT_DATABASE_MISSING: { PamacDatabase* database = NULL; PamacDatabase* _tmp0_; PamacDatabase* _tmp1_; _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (ctx, PAMAC_TYPE_DATABASE, PamacDatabase)); database = _tmp0_; _tmp1_ = database; pamac_database_set_dbs_missing (_tmp1_, TRUE); _g_object_unref0 (database); break; } default: { break; } } } 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); } static gssize _vala_array_length (gpointer array) { gssize length; length = 0; if (array) { while (((gpointer*) array)[length]) { length++; } } return length; }