/* pamac-gtk.h generated by valac 0.56.17, the Vala compiler, do not modify */

#ifndef __SRC_PAMAC_GTK_H__
#define __SRC_PAMAC_GTK_H__

#include <pamac.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <handy.h>

G_BEGIN_DECLS

#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_TRANSACTION_GTK (pamac_transaction_gtk_get_type ())
#define PAMAC_TRANSACTION_GTK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_TRANSACTION_GTK, PamacTransactionGtk))
#define PAMAC_TRANSACTION_GTK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_TRANSACTION_GTK, PamacTransactionGtkClass))
#define PAMAC_IS_TRANSACTION_GTK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_TRANSACTION_GTK))
#define PAMAC_IS_TRANSACTION_GTK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_TRANSACTION_GTK))
#define PAMAC_TRANSACTION_GTK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_TRANSACTION_GTK, PamacTransactionGtkClass))

typedef struct _PamacTransactionGtk PamacTransactionGtk;
typedef struct _PamacTransactionGtkClass PamacTransactionGtkClass;
typedef struct _PamacTransactionGtkPrivate PamacTransactionGtkPrivate;

#define PAMAC_TYPE_PROGRESS_BOX (pamac_progress_box_get_type ())
#define PAMAC_PROGRESS_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_PROGRESS_BOX, PamacProgressBox))
#define PAMAC_PROGRESS_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_PROGRESS_BOX, PamacProgressBoxClass))
#define PAMAC_IS_PROGRESS_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_PROGRESS_BOX))
#define PAMAC_IS_PROGRESS_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_PROGRESS_BOX))
#define PAMAC_PROGRESS_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_PROGRESS_BOX, PamacProgressBoxClass))

typedef struct _PamacProgressBox PamacProgressBox;
typedef struct _PamacProgressBoxClass PamacProgressBoxClass;

#define PAMAC_TYPE_LOCAL_CONFIG (pamac_local_config_get_type ())
#define PAMAC_LOCAL_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_LOCAL_CONFIG, PamacLocalConfig))
#define PAMAC_LOCAL_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_LOCAL_CONFIG, PamacLocalConfigClass))
#define PAMAC_IS_LOCAL_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_LOCAL_CONFIG))
#define PAMAC_IS_LOCAL_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_LOCAL_CONFIG))
#define PAMAC_LOCAL_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_LOCAL_CONFIG, PamacLocalConfigClass))

typedef struct _PamacLocalConfig PamacLocalConfig;
typedef struct _PamacLocalConfigClass PamacLocalConfigClass;

#define PAMAC_TYPE_CHOOSE_PKGS_DIALOG (pamac_choose_pkgs_dialog_get_type ())
#define PAMAC_CHOOSE_PKGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_CHOOSE_PKGS_DIALOG, PamacChoosePkgsDialog))
#define PAMAC_CHOOSE_PKGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_CHOOSE_PKGS_DIALOG, PamacChoosePkgsDialogClass))
#define PAMAC_IS_CHOOSE_PKGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_CHOOSE_PKGS_DIALOG))
#define PAMAC_IS_CHOOSE_PKGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_CHOOSE_PKGS_DIALOG))
#define PAMAC_CHOOSE_PKGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_CHOOSE_PKGS_DIALOG, PamacChoosePkgsDialogClass))

typedef struct _PamacChoosePkgsDialog PamacChoosePkgsDialog;
typedef struct _PamacChoosePkgsDialogClass PamacChoosePkgsDialogClass;
typedef struct _PamacChoosePkgsDialogPrivate PamacChoosePkgsDialogPrivate;
typedef struct _PamacProgressBoxPrivate PamacProgressBoxPrivate;
typedef struct _PamacLocalConfigPrivate PamacLocalConfigPrivate;

#define PAMAC_TYPE_DATABASE_GTK (pamac_database_gtk_get_type ())
#define PAMAC_DATABASE_GTK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_DATABASE_GTK, PamacDatabaseGtk))
#define PAMAC_DATABASE_GTK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_DATABASE_GTK, PamacDatabaseGtkClass))
#define PAMAC_IS_DATABASE_GTK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_DATABASE_GTK))
#define PAMAC_IS_DATABASE_GTK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_DATABASE_GTK))
#define PAMAC_DATABASE_GTK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_DATABASE_GTK, PamacDatabaseGtkClass))

typedef struct _PamacDatabaseGtk PamacDatabaseGtk;
typedef struct _PamacDatabaseGtkClass PamacDatabaseGtkClass;
typedef struct _PamacDatabaseGtkPrivate PamacDatabaseGtkPrivate;

struct _PamacTransactionGtk {
	PamacTransaction parent_instance;
	PamacTransactionGtkPrivate * priv;
	PamacProgressBox* progress_box;
	GtkScrolledWindow* details_window;
	GtkTextView* details_textview;
	GtkNotebook* build_files_notebook;
	gboolean commit_transaction_answer;
};

struct _PamacTransactionGtkClass {
	PamacTransactionClass parent_class;
};

struct _PamacChoosePkgsDialog {
	GtkDialog parent_instance;
	PamacChoosePkgsDialogPrivate * priv;
	HdyClamp* search_clamp;
	GtkSearchEntry* search_entry;
	GtkSeparator* search_separator;
	GtkListBox* listbox;
	GtkButton* cancel_button;
};

struct _PamacChoosePkgsDialogClass {
	GtkDialogClass parent_class;
};

struct _PamacProgressBox {
	GtkBox parent_instance;
	PamacProgressBoxPrivate * priv;
	GtkProgressBar* progressbar;
	GtkLabel* action_label;
};

struct _PamacProgressBoxClass {
	GtkBoxClass parent_class;
};

struct _PamacLocalConfig {
	GObject parent_instance;
	PamacLocalConfigPrivate * priv;
};

struct _PamacLocalConfigClass {
	GObjectClass parent_class;
};

struct _PamacDatabaseGtk {
	PamacDatabase parent_instance;
	PamacDatabaseGtkPrivate * priv;
};

struct _PamacDatabaseGtkClass {
	PamacDatabaseClass parent_class;
};

VALA_EXTERN GType pamac_transaction_gtk_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacTransactionGtk, g_object_unref)
VALA_EXTERN GType pamac_progress_box_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacProgressBox, g_object_unref)
VALA_EXTERN GType pamac_local_config_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacLocalConfig, g_object_unref)
VALA_EXTERN PamacTransactionGtk* pamac_transaction_gtk_new (PamacDatabase* database,
                                                PamacLocalConfig* local_config,
                                                GtkApplication* application);
VALA_EXTERN PamacTransactionGtk* pamac_transaction_gtk_construct (GType object_type,
                                                      PamacDatabase* database,
                                                      PamacLocalConfig* local_config,
                                                      GtkApplication* application);
VALA_EXTERN void pamac_transaction_gtk_show_details (PamacTransactionGtk* self,
                                         const gchar* message);
VALA_EXTERN void pamac_transaction_gtk_reset_progress_box (PamacTransactionGtk* self);
VALA_EXTERN void pamac_transaction_gtk_start_progressbar_pulse (PamacTransactionGtk* self);
VALA_EXTERN void pamac_transaction_gtk_stop_progressbar_pulse (PamacTransactionGtk* self);
VALA_EXTERN GType pamac_choose_pkgs_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacChoosePkgsDialog, g_object_unref)
VALA_EXTERN PamacChoosePkgsDialog* pamac_transaction_gtk_create_choose_pkgs_dialog (PamacTransactionGtk* self);
VALA_EXTERN void pamac_transaction_gtk_transaction_summary_remove_all (PamacTransactionGtk* self);
VALA_EXTERN gboolean pamac_transaction_gtk_transaction_summary_contains (PamacTransactionGtk* self,
                                                             const gchar* id);
VALA_EXTERN guint pamac_transaction_gtk_transaction_summary_length (PamacTransactionGtk* self);
VALA_EXTERN void pamac_transaction_gtk_get_icon_pixbuf (PamacTransactionGtk* self,
                                            const gchar* url,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
VALA_EXTERN GdkPixbuf* pamac_transaction_gtk_get_icon_pixbuf_finish (PamacTransactionGtk* self,
                                                         GAsyncResult* _res_);
VALA_EXTERN void pamac_transaction_gtk_populate_build_files_async (PamacTransactionGtk* self,
                                                       const gchar* pkgname,
                                                       gboolean clone,
                                                       gboolean overwrite,
                                                       GAsyncReadyCallback _callback_,
                                                       gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_gtk_populate_build_files_finish (PamacTransactionGtk* self,
                                                            GAsyncResult* _res_);
VALA_EXTERN void pamac_transaction_gtk_save_build_files_async (PamacTransactionGtk* self,
                                                   const gchar* pkgname,
                                                   GAsyncReadyCallback _callback_,
                                                   gpointer _user_data_);
VALA_EXTERN void pamac_transaction_gtk_save_build_files_finish (PamacTransactionGtk* self,
                                                    GAsyncResult* _res_);
VALA_EXTERN void pamac_transaction_gtk_clear_warnings (PamacTransactionGtk* self);
VALA_EXTERN void pamac_transaction_gtk_show_warnings (PamacTransactionGtk* self,
                                          gboolean block);
VALA_EXTERN void pamac_transaction_gtk_display_error (PamacTransactionGtk* self,
                                          const gchar* message,
                                          GPtrArray* details);
VALA_EXTERN void pamac_transaction_gtk_show_notification (PamacTransactionGtk* self,
                                              const gchar* message);
VALA_EXTERN GtkApplication* pamac_transaction_gtk_get_application (PamacTransactionGtk* self);
VALA_EXTERN PamacLocalConfig* pamac_transaction_gtk_get_local_config (PamacTransactionGtk* self);
VALA_EXTERN gboolean pamac_transaction_gtk_get_no_confirm_upgrade (PamacTransactionGtk* self);
VALA_EXTERN void pamac_transaction_gtk_set_no_confirm_upgrade (PamacTransactionGtk* self,
                                                   gboolean value);
VALA_EXTERN PamacChoosePkgsDialog* pamac_choose_pkgs_dialog_new (GtkWindow* window);
VALA_EXTERN PamacChoosePkgsDialog* pamac_choose_pkgs_dialog_construct (GType object_type,
                                                           GtkWindow* window);
VALA_EXTERN void pamac_choose_pkgs_dialog_enable_search (PamacChoosePkgsDialog* self);
VALA_EXTERN void pamac_choose_pkgs_dialog_add_pkg (PamacChoosePkgsDialog* self,
                                       const gchar* pkgname);
VALA_EXTERN GPtrArray* pamac_choose_pkgs_dialog_get_selected_pkgs (PamacChoosePkgsDialog* self);
VALA_EXTERN PamacProgressBox* pamac_progress_box_new (void);
VALA_EXTERN PamacProgressBox* pamac_progress_box_construct (GType object_type);
VALA_EXTERN PamacLocalConfig* pamac_local_config_new (const gchar* conf_path);
VALA_EXTERN PamacLocalConfig* pamac_local_config_construct (GType object_type,
                                                const gchar* conf_path);
VALA_EXTERN void pamac_local_config_reload (PamacLocalConfig* self);
VALA_EXTERN void pamac_local_config_write (PamacLocalConfig* self,
                               GHashTable* new_conf);
VALA_EXTERN const gchar* pamac_local_config_get_conf_path (PamacLocalConfig* self);
VALA_EXTERN guint64 pamac_local_config_get_width (PamacLocalConfig* self);
VALA_EXTERN guint64 pamac_local_config_get_height (PamacLocalConfig* self);
VALA_EXTERN gboolean pamac_local_config_get_maximized (PamacLocalConfig* self);
VALA_EXTERN gboolean pamac_local_config_get_software_mode (PamacLocalConfig* self);
VALA_EXTERN void pamac_local_config_set_software_mode (PamacLocalConfig* self,
                                           gboolean value);
VALA_EXTERN GType pamac_database_gtk_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PamacDatabaseGtk, g_object_unref)
VALA_EXTERN PamacDatabaseGtk* pamac_database_gtk_new (PamacConfig* config);
VALA_EXTERN PamacDatabaseGtk* pamac_database_gtk_construct (GType object_type,
                                                PamacConfig* config);
VALA_EXTERN GtkWindow* pamac_database_gtk_get_window (PamacDatabaseGtk* self);
VALA_EXTERN void pamac_database_gtk_set_window (PamacDatabaseGtk* self,
                                    GtkWindow* value);

G_END_DECLS

#endif
