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

/*
 * ExcludeAppsBox.vala
 *
 * Copyright 2012-2018 Tony George <teejeetech@gmail.com>
 *
 * 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 2 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 copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301, USA.
 *
 *
 */

#include <gtk/gtk.h>
#include <glib-object.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <glib/gi18n-lib.h>
#include <gee.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#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 TYPE_EXCLUDE_APPS_BOX (exclude_apps_box_get_type ())
#define EXCLUDE_APPS_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXCLUDE_APPS_BOX, ExcludeAppsBox))
#define EXCLUDE_APPS_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXCLUDE_APPS_BOX, ExcludeAppsBoxClass))
#define IS_EXCLUDE_APPS_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXCLUDE_APPS_BOX))
#define IS_EXCLUDE_APPS_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXCLUDE_APPS_BOX))
#define EXCLUDE_APPS_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXCLUDE_APPS_BOX, ExcludeAppsBoxClass))

typedef struct _ExcludeAppsBox ExcludeAppsBox;
typedef struct _ExcludeAppsBoxClass ExcludeAppsBoxClass;
typedef struct _ExcludeAppsBoxPrivate ExcludeAppsBoxPrivate;
enum  {
	EXCLUDE_APPS_BOX_0_PROPERTY,
	EXCLUDE_APPS_BOX_NUM_PROPERTIES
};
static GParamSpec* exclude_apps_box_properties[EXCLUDE_APPS_BOX_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define TYPE_APP_EXCLUDE_ENTRY (app_exclude_entry_get_type ())
#define APP_EXCLUDE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_EXCLUDE_ENTRY, AppExcludeEntry))
#define APP_EXCLUDE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_EXCLUDE_ENTRY, AppExcludeEntryClass))
#define IS_APP_EXCLUDE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_EXCLUDE_ENTRY))
#define IS_APP_EXCLUDE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_EXCLUDE_ENTRY))
#define APP_EXCLUDE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_EXCLUDE_ENTRY, AppExcludeEntryClass))

typedef struct _AppExcludeEntry AppExcludeEntry;
typedef struct _AppExcludeEntryClass AppExcludeEntryClass;
typedef struct _AppExcludeEntryPrivate AppExcludeEntryPrivate;
#define __vala_GtkTreePath_free0(var) ((var == NULL) ? NULL : (var = (_vala_GtkTreePath_free (var), NULL)))

#define TYPE_EXCLUDE_LIST_SUMMARY_WINDOW (exclude_list_summary_window_get_type ())
#define EXCLUDE_LIST_SUMMARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXCLUDE_LIST_SUMMARY_WINDOW, ExcludeListSummaryWindow))
#define EXCLUDE_LIST_SUMMARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXCLUDE_LIST_SUMMARY_WINDOW, ExcludeListSummaryWindowClass))
#define IS_EXCLUDE_LIST_SUMMARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXCLUDE_LIST_SUMMARY_WINDOW))
#define IS_EXCLUDE_LIST_SUMMARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXCLUDE_LIST_SUMMARY_WINDOW))
#define EXCLUDE_LIST_SUMMARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXCLUDE_LIST_SUMMARY_WINDOW, ExcludeListSummaryWindowClass))

typedef struct _ExcludeListSummaryWindow ExcludeListSummaryWindow;
typedef struct _ExcludeListSummaryWindowClass ExcludeListSummaryWindowClass;

#define TYPE_MAIN (main_get_type ())
#define MAIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MAIN, Main))
#define MAIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MAIN, MainClass))
#define IS_MAIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MAIN))
#define IS_MAIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MAIN))
#define MAIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MAIN, MainClass))

typedef struct _Main Main;
typedef struct _MainClass MainClass;
typedef struct _MainPrivate MainPrivate;

#define TYPE_DEVICE (device_get_type ())
#define DEVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DEVICE, Device))
#define DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DEVICE, DeviceClass))
#define IS_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DEVICE))
#define IS_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DEVICE))
#define DEVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DEVICE, DeviceClass))

typedef struct _Device Device;
typedef struct _DeviceClass DeviceClass;

#define TYPE_MOUNT_ENTRY (mount_entry_get_type ())
#define MOUNT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MOUNT_ENTRY, MountEntry))
#define MOUNT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MOUNT_ENTRY, MountEntryClass))
#define IS_MOUNT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MOUNT_ENTRY))
#define IS_MOUNT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MOUNT_ENTRY))
#define MOUNT_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MOUNT_ENTRY, MountEntryClass))

typedef struct _MountEntry MountEntry;
typedef struct _MountEntryClass MountEntryClass;

#define TYPE_SNAPSHOT_REPO (snapshot_repo_get_type ())
#define SNAPSHOT_REPO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SNAPSHOT_REPO, SnapshotRepo))
#define SNAPSHOT_REPO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SNAPSHOT_REPO, SnapshotRepoClass))
#define IS_SNAPSHOT_REPO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SNAPSHOT_REPO))
#define IS_SNAPSHOT_REPO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SNAPSHOT_REPO))
#define SNAPSHOT_REPO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SNAPSHOT_REPO, SnapshotRepoClass))

typedef struct _SnapshotRepo SnapshotRepo;
typedef struct _SnapshotRepoClass SnapshotRepoClass;

#define TYPE_SUBVOLUME (subvolume_get_type ())
#define SUBVOLUME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SUBVOLUME, Subvolume))
#define SUBVOLUME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SUBVOLUME, SubvolumeClass))
#define IS_SUBVOLUME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SUBVOLUME))
#define IS_SUBVOLUME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SUBVOLUME))
#define SUBVOLUME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SUBVOLUME, SubvolumeClass))

typedef struct _Subvolume Subvolume;
typedef struct _SubvolumeClass SubvolumeClass;

#define TYPE_LINUX_DISTRO (linux_distro_get_type ())
#define LINUX_DISTRO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LINUX_DISTRO, LinuxDistro))
#define LINUX_DISTRO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LINUX_DISTRO, LinuxDistroClass))
#define IS_LINUX_DISTRO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LINUX_DISTRO))
#define IS_LINUX_DISTRO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LINUX_DISTRO))
#define LINUX_DISTRO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LINUX_DISTRO, LinuxDistroClass))

typedef struct _LinuxDistro LinuxDistro;
typedef struct _LinuxDistroClass LinuxDistroClass;

#define TYPE_APP_LOCK (app_lock_get_type ())
#define APP_LOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_LOCK, AppLock))
#define APP_LOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_LOCK, AppLockClass))
#define IS_APP_LOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_LOCK))
#define IS_APP_LOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_LOCK))
#define APP_LOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_LOCK, AppLockClass))

typedef struct _AppLock AppLock;
typedef struct _AppLockClass AppLockClass;

#define TYPE_SNAPSHOT (snapshot_get_type ())
#define SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SNAPSHOT, Snapshot))
#define SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SNAPSHOT, SnapshotClass))
#define IS_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SNAPSHOT))
#define IS_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SNAPSHOT))
#define SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SNAPSHOT, SnapshotClass))

typedef struct _Snapshot Snapshot;
typedef struct _SnapshotClass SnapshotClass;

#define TYPE_ASYNC_TASK (async_task_get_type ())
#define ASYNC_TASK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ASYNC_TASK, AsyncTask))
#define ASYNC_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ASYNC_TASK, AsyncTaskClass))
#define IS_ASYNC_TASK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ASYNC_TASK))
#define IS_ASYNC_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ASYNC_TASK))
#define ASYNC_TASK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ASYNC_TASK, AsyncTaskClass))

typedef struct _AsyncTask AsyncTask;
typedef struct _AsyncTaskClass AsyncTaskClass;

#define TYPE_RSYNC_TASK (rsync_task_get_type ())
#define RSYNC_TASK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RSYNC_TASK, RsyncTask))
#define RSYNC_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RSYNC_TASK, RsyncTaskClass))
#define IS_RSYNC_TASK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RSYNC_TASK))
#define IS_RSYNC_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RSYNC_TASK))
#define RSYNC_TASK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RSYNC_TASK, RsyncTaskClass))

typedef struct _RsyncTask RsyncTask;
typedef struct _RsyncTaskClass RsyncTaskClass;

#define TYPE_DELETE_FILE_TASK (delete_file_task_get_type ())
#define DELETE_FILE_TASK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DELETE_FILE_TASK, DeleteFileTask))
#define DELETE_FILE_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DELETE_FILE_TASK, DeleteFileTaskClass))
#define IS_DELETE_FILE_TASK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DELETE_FILE_TASK))
#define IS_DELETE_FILE_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DELETE_FILE_TASK))
#define DELETE_FILE_TASK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DELETE_FILE_TASK, DeleteFileTaskClass))

typedef struct _DeleteFileTask DeleteFileTask;
typedef struct _DeleteFileTaskClass DeleteFileTaskClass;

#define TYPE_RSYNC_SPACE_CHECK_TASK (rsync_space_check_task_get_type ())
#define RSYNC_SPACE_CHECK_TASK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RSYNC_SPACE_CHECK_TASK, RsyncSpaceCheckTask))
#define RSYNC_SPACE_CHECK_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RSYNC_SPACE_CHECK_TASK, RsyncSpaceCheckTaskClass))
#define IS_RSYNC_SPACE_CHECK_TASK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RSYNC_SPACE_CHECK_TASK))
#define IS_RSYNC_SPACE_CHECK_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RSYNC_SPACE_CHECK_TASK))
#define RSYNC_SPACE_CHECK_TASK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RSYNC_SPACE_CHECK_TASK, RsyncSpaceCheckTaskClass))

typedef struct _RsyncSpaceCheckTask RsyncSpaceCheckTask;
typedef struct _RsyncSpaceCheckTaskClass RsyncSpaceCheckTaskClass;

#define TYPE_SYSTEM_USER (system_user_get_type ())
#define SYSTEM_USER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SYSTEM_USER, SystemUser))
#define SYSTEM_USER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SYSTEM_USER, SystemUserClass))
#define IS_SYSTEM_USER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SYSTEM_USER))
#define IS_SYSTEM_USER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SYSTEM_USER))
#define SYSTEM_USER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SYSTEM_USER, SystemUserClass))

typedef struct _SystemUser SystemUser;
typedef struct _SystemUserClass SystemUserClass;
#define _g_free0(var) (var = (g_free (var), NULL))

struct _ExcludeAppsBox {
	GtkBox parent_instance;
	ExcludeAppsBoxPrivate * priv;
};

struct _ExcludeAppsBoxClass {
	GtkBoxClass parent_class;
};

struct _ExcludeAppsBoxPrivate {
	GtkTreeView* treeview;
	GtkWindow* parent_window;
};

struct _AppExcludeEntry {
	GObject parent_instance;
	AppExcludeEntryPrivate * priv;
	gchar* name;
	gboolean is_include;
	gboolean is_file;
	gboolean enabled;
	GeeArrayList* items;
	GeeArrayList* patterns;
};

struct _AppExcludeEntryClass {
	GObjectClass parent_class;
};

struct _Main {
	GObject parent_instance;
	MainPrivate * priv;
	gchar* app_path;
	gchar* share_folder;
	gchar* rsnapshot_conf_path;
	gchar* app_conf_path;
	gchar* app_conf_path_old;
	gchar* app_conf_path_default;
	gboolean first_run;
	gchar* backup_uuid;
	gchar* backup_parent_uuid;
	gboolean btrfs_mode;
	gboolean include_btrfs_home_for_backup;
	gboolean include_btrfs_home_for_restore;
	gboolean stop_cron_emails;
	GeeArrayList* partitions;
	GeeArrayList* exclude_list_user;
	GeeArrayList* exclude_list_default;
	GeeArrayList* exclude_list_default_extra;
	GeeArrayList* exclude_list_home;
	GeeArrayList* exclude_list_restore;
	GeeArrayList* exclude_list_apps;
	GeeArrayList* mount_list;
	GeeArrayList* exclude_app_names;
	SnapshotRepo* repo;
	Device* sys_root;
	Device* sys_boot;
	Device* sys_efi;
	Device* sys_home;
	GeeHashMap* sys_subvolumes;
	gchar* mount_point_restore;
	gchar* mount_point_app;
	LinuxDistro* current_distro;
	gboolean mirror_system;
	gboolean schedule_monthly;
	gboolean schedule_weekly;
	gboolean schedule_daily;
	gboolean schedule_hourly;
	gboolean schedule_boot;
	gint count_monthly;
	gint count_weekly;
	gint count_daily;
	gint count_hourly;
	gint count_boot;
	gchar* app_mode;
	gboolean dry_run;
	gboolean thr_success;
	gboolean thread_restore_running;
	gboolean thread_restore_success;
	gboolean thread_delete_running;
	gboolean thread_delete_success;
	gboolean thread_subvol_info_running;
	gboolean thread_subvol_info_success;
	gint thr_retval;
	gchar* thr_arg1;
	gboolean thr_timeout_active;
	gchar* thr_timeout_cmd;
	gint startup_delay_interval_mins;
	gint retain_snapshots_max_days;
	gchar* log_dir;
	gchar* log_file;
	AppLock* app_lock;
	gchar* date_format;
	GeeArrayList* delete_list;
	Snapshot* snapshot_to_delete;
	Snapshot* snapshot_to_restore;
	gboolean reinstall_grub2;
	gboolean update_initramfs;
	gboolean update_grub;
	gchar* grub_device;
	gboolean use_option_raw;
	gboolean cmd_skip_grub;
	gchar* cmd_grub_device;
	gchar* cmd_target_device;
	gchar* cmd_backup_device;
	gchar* cmd_snapshot;
	gboolean cmd_confirm;
	gboolean cmd_verbose;
	gboolean cmd_scripted;
	gchar* cmd_comments;
	gchar* cmd_tags;
	gboolean* cmd_btrfs_mode;
	gchar* progress_text;
	GtkWindow* parent_window;
	RsyncTask* task;
	DeleteFileTask* delete_file_task;
	RsyncSpaceCheckTask* space_check_task;
	GeeHashMap* current_system_users;
	gchar* users_with_encrypted_home;
	gchar* encrypted_home_dirs;
	gboolean encrypted_home_warning_shown;
	gchar* encrypted_private_dirs;
	gboolean encrypted_private_warning_shown;
};

struct _MainClass {
	GObjectClass parent_class;
};

static gint ExcludeAppsBox_private_offset;
static gpointer exclude_apps_box_parent_class = NULL;
VALA_EXTERN Main* App;

VALA_EXTERN GType exclude_apps_box_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ExcludeAppsBox, g_object_unref)
VALA_EXTERN ExcludeAppsBox* exclude_apps_box_new (GtkWindow* _parent_window);
VALA_EXTERN ExcludeAppsBox* exclude_apps_box_construct (GType object_type,
                                            GtkWindow* _parent_window);
VALA_EXTERN void tee_jee_logging_log_debug (const gchar* message);
VALA_EXTERN GtkLabel* tee_jee_gtk_helper_add_label_header (GtkBox* box,
                                               const gchar* text,
                                               gboolean large_heading);
VALA_EXTERN GtkLabel* tee_jee_gtk_helper_add_label (GtkBox* box,
                                        const gchar* text,
                                        gboolean bold,
                                        gboolean italic,
                                        gboolean large);
static void exclude_apps_box_init_exclude_summary_link (ExcludeAppsBox* self,
                                                 GtkBox* box);
static void exclude_apps_box_init_treeview (ExcludeAppsBox* self);
VALA_EXTERN void exclude_apps_box_refresh_treeview (ExcludeAppsBox* self);
static void __lambda116_ (ExcludeAppsBox* self,
                   GtkCellLayout* cell_layout,
                   GtkCellRenderer* cell,
                   GtkTreeModel* model,
                   GtkTreeIter* iter);
VALA_EXTERN GType app_exclude_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AppExcludeEntry, g_object_unref)
static void ___lambda116__gtk_cell_layout_data_func (GtkCellLayout* cell_layout,
                                              GtkCellRenderer* cell,
                                              GtkTreeModel* tree_model,
                                              GtkTreeIter* iter,
                                              gpointer self);
static void __lambda117_ (ExcludeAppsBox* self,
                   GtkCellRendererToggle* cell_toggle,
                   const gchar* path);
static void _vala_GtkTreePath_free (GtkTreePath* self);
static void ___lambda117__gtk_cell_renderer_toggle_toggled (GtkCellRendererToggle* _sender,
                                                     const gchar* path,
                                                     gpointer self);
static void __lambda118_ (ExcludeAppsBox* self,
                   GtkCellLayout* cell_layout,
                   GtkCellRenderer* cell,
                   GtkTreeModel* model,
                   GtkTreeIter* iter);
static void ___lambda118__gtk_cell_layout_data_func (GtkCellLayout* cell_layout,
                                              GtkCellRenderer* cell,
                                              GtkTreeModel* tree_model,
                                              GtkTreeIter* iter,
                                              gpointer self);
VALA_EXTERN GtkButton* tee_jee_gtk_helper_add_button (GtkBox* box,
                                          const gchar* text,
                                          const gchar* tooltip,
                                          GtkSizeGroup* size_group,
                                          GtkImage* icon);
static void __lambda115_ (ExcludeAppsBox* self);
VALA_EXTERN ExcludeListSummaryWindow* exclude_list_summary_window_new (gboolean _for_restore);
VALA_EXTERN ExcludeListSummaryWindow* exclude_list_summary_window_construct (GType object_type,
                                                                 gboolean _for_restore);
VALA_EXTERN GType exclude_list_summary_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ExcludeListSummaryWindow, g_object_unref)
static void ___lambda115__gtk_button_clicked (GtkButton* _sender,
                                       gpointer self);
VALA_EXTERN void exclude_apps_box_refresh (ExcludeAppsBox* self);
VALA_EXTERN GType main_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Main, g_object_unref)
VALA_EXTERN GType device_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Device, g_object_unref)
VALA_EXTERN GType mount_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MountEntry, g_object_unref)
VALA_EXTERN GType snapshot_repo_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SnapshotRepo, g_object_unref)
VALA_EXTERN GType subvolume_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Subvolume, g_object_unref)
VALA_EXTERN GType linux_distro_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LinuxDistro, g_object_unref)
VALA_EXTERN GType app_lock_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AppLock, g_object_unref)
VALA_EXTERN GType snapshot_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Snapshot, g_object_unref)
VALA_EXTERN GType async_task_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AsyncTask, g_object_unref)
VALA_EXTERN GType rsync_task_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RsyncTask, g_object_unref)
VALA_EXTERN GType delete_file_task_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DeleteFileTask, g_object_unref)
VALA_EXTERN GType rsync_space_check_task_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (RsyncSpaceCheckTask, g_object_unref)
VALA_EXTERN GType system_user_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SystemUser, g_object_unref)
VALA_EXTERN gchar* app_exclude_entry_tooltip_text (AppExcludeEntry* self);
static void exclude_apps_box_finalize (GObject * obj);
static GType exclude_apps_box_get_type_once (void);

static inline gpointer
exclude_apps_box_get_instance_private (ExcludeAppsBox* self)
{
	return G_STRUCT_MEMBER_P (self, ExcludeAppsBox_private_offset);
}

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

ExcludeAppsBox*
exclude_apps_box_construct (GType object_type,
                            GtkWindow* _parent_window)
{
	ExcludeAppsBox * self = NULL;
	GtkWindow* _tmp0_;
	GtkBox* box = NULL;
	GtkBox* _tmp1_;
	GtkLabel* _tmp2_;
	GtkLabel* _tmp3_;
	GtkLabel* buffer = NULL;
	GtkLabel* _tmp4_;
	g_return_val_if_fail (_parent_window != NULL, NULL);
	tee_jee_logging_log_debug ("ExcludeAppsBox: ExcludeAppsBox()");
	self = (ExcludeAppsBox*) g_object_new (object_type, "orientation", GTK_ORIENTATION_VERTICAL, "spacing", 6, NULL);
	_tmp0_ = _g_object_ref0 (_parent_window);
	_g_object_unref0 (self->priv->parent_window);
	self->priv->parent_window = _tmp0_;
	g_object_set ((GtkWidget*) self, "margin", 12, NULL);
	_tmp1_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
	g_object_ref_sink (_tmp1_);
	box = _tmp1_;
	gtk_container_add ((GtkContainer*) self, (GtkWidget*) box);
	_tmp2_ = tee_jee_gtk_helper_add_label_header (box, _ ("Exclude Application Settings"), TRUE);
	_tmp3_ = _tmp2_;
	_g_object_unref0 (_tmp3_);
	_tmp4_ = tee_jee_gtk_helper_add_label (box, "", FALSE, FALSE, FALSE);
	buffer = _tmp4_;
	gtk_widget_set_hexpand ((GtkWidget*) buffer, TRUE);
	exclude_apps_box_init_exclude_summary_link (self, box);
	exclude_apps_box_init_treeview (self);
	exclude_apps_box_refresh_treeview (self);
	tee_jee_logging_log_debug ("ExcludeAppsBox: ExcludeAppsBox(): exit");
	_g_object_unref0 (buffer);
	_g_object_unref0 (box);
	return self;
}

ExcludeAppsBox*
exclude_apps_box_new (GtkWindow* _parent_window)
{
	return exclude_apps_box_construct (TYPE_EXCLUDE_APPS_BOX, _parent_window);
}

static void
__lambda116_ (ExcludeAppsBox* self,
              GtkCellLayout* cell_layout,
              GtkCellRenderer* cell,
              GtkTreeModel* model,
              GtkTreeIter* iter)
{
	AppExcludeEntry* entry = NULL;
	GtkTreeIter _tmp0_;
	AppExcludeEntry* _tmp1_ = NULL;
	g_return_if_fail (cell_layout != NULL);
	g_return_if_fail (cell != NULL);
	g_return_if_fail (model != NULL);
	g_return_if_fail (iter != NULL);
	_tmp0_ = *iter;
	gtk_tree_model_get (model, &_tmp0_, 0, &_tmp1_, -1, -1);
	_g_object_unref0 (entry);
	entry = _tmp1_;
	gtk_cell_renderer_toggle_set_active (G_TYPE_CHECK_INSTANCE_CAST (cell, gtk_cell_renderer_toggle_get_type (), GtkCellRendererToggle), entry->enabled);
	_g_object_unref0 (entry);
}

static void
___lambda116__gtk_cell_layout_data_func (GtkCellLayout* cell_layout,
                                         GtkCellRenderer* cell,
                                         GtkTreeModel* tree_model,
                                         GtkTreeIter* iter,
                                         gpointer self)
{
	__lambda116_ ((ExcludeAppsBox*) self, cell_layout, cell, tree_model, iter);
}

static void
_vala_GtkTreePath_free (GtkTreePath* self)
{
	g_boxed_free (gtk_tree_path_get_type (), self);
}

static void
__lambda117_ (ExcludeAppsBox* self,
              GtkCellRendererToggle* cell_toggle,
              const gchar* path)
{
	GtkTreePath* tree_path = NULL;
	GtkTreePath* _tmp0_;
	GtkTreeIter iter = {0};
	GtkListStore* store = NULL;
	GtkTreeView* _tmp1_;
	GtkTreeModel* _tmp2_;
	GtkTreeModel* _tmp3_;
	GtkListStore* _tmp4_;
	GtkTreeIter _tmp5_ = {0};
	AppExcludeEntry* entry = NULL;
	GtkTreeIter _tmp6_;
	AppExcludeEntry* _tmp7_ = NULL;
	gboolean _tmp8_;
	gboolean _tmp9_;
	GtkTreeIter _tmp10_;
	gboolean _tmp11_;
	gboolean _tmp12_;
	g_return_if_fail (cell_toggle != NULL);
	g_return_if_fail (path != NULL);
	_tmp0_ = gtk_tree_path_new_from_string (path);
	tree_path = _tmp0_;
	_tmp1_ = self->priv->treeview;
	_tmp2_ = gtk_tree_view_get_model (_tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_list_store_get_type (), GtkListStore));
	store = _tmp4_;
	gtk_tree_model_get_iter ((GtkTreeModel*) store, &_tmp5_, tree_path);
	iter = _tmp5_;
	_tmp6_ = iter;
	gtk_tree_model_get ((GtkTreeModel*) store, &_tmp6_, 0, &_tmp7_, -1);
	_g_object_unref0 (entry);
	entry = _tmp7_;
	_tmp8_ = gtk_cell_renderer_toggle_get_active (cell_toggle);
	_tmp9_ = _tmp8_;
	entry->enabled = !_tmp9_;
	_tmp10_ = iter;
	_tmp11_ = gtk_cell_renderer_toggle_get_active (cell_toggle);
	_tmp12_ = _tmp11_;
	gtk_list_store_set (store, &_tmp10_, 1, !_tmp12_, -1);
	_g_object_unref0 (entry);
	_g_object_unref0 (store);
	__vala_GtkTreePath_free0 (tree_path);
}

static void
___lambda117__gtk_cell_renderer_toggle_toggled (GtkCellRendererToggle* _sender,
                                                const gchar* path,
                                                gpointer self)
{
	__lambda117_ ((ExcludeAppsBox*) self, _sender, path);
}

static void
__lambda118_ (ExcludeAppsBox* self,
              GtkCellLayout* cell_layout,
              GtkCellRenderer* cell,
              GtkTreeModel* model,
              GtkTreeIter* iter)
{
	AppExcludeEntry* entry = NULL;
	GtkTreeIter _tmp0_;
	AppExcludeEntry* _tmp1_ = NULL;
	const gchar* _tmp2_;
	g_return_if_fail (cell_layout != NULL);
	g_return_if_fail (cell != NULL);
	g_return_if_fail (model != NULL);
	g_return_if_fail (iter != NULL);
	_tmp0_ = *iter;
	gtk_tree_model_get (model, &_tmp0_, 0, &_tmp1_, -1, -1);
	_g_object_unref0 (entry);
	entry = _tmp1_;
	_tmp2_ = entry->name;
	g_object_set (G_TYPE_CHECK_INSTANCE_CAST (cell, gtk_cell_renderer_text_get_type (), GtkCellRendererText), "text", _tmp2_, NULL);
	_g_object_unref0 (entry);
}

static void
___lambda118__gtk_cell_layout_data_func (GtkCellLayout* cell_layout,
                                         GtkCellRenderer* cell,
                                         GtkTreeModel* tree_model,
                                         GtkTreeIter* iter,
                                         gpointer self)
{
	__lambda118_ ((ExcludeAppsBox*) self, cell_layout, cell, tree_model, iter);
}

static void
exclude_apps_box_init_treeview (ExcludeAppsBox* self)
{
	GtkTreeView* _tmp0_;
	GtkTreeView* _tmp1_;
	GtkTreeSelection* _tmp2_;
	GtkTreeView* _tmp3_;
	GtkTreeView* _tmp4_;
	GtkTreeView* _tmp5_;
	GtkScrolledWindow* scrolled = NULL;
	GtkScrolledWindow* _tmp6_;
	GtkTreeView* _tmp7_;
	GtkTreeViewColumn* col = NULL;
	GtkTreeViewColumn* _tmp8_;
	GtkTreeView* _tmp9_;
	GtkCellRendererText* cell_text = NULL;
	GtkCellRendererText* _tmp10_;
	GtkCellRendererText* _tmp11_;
	GtkCellRendererText* _tmp12_;
	GtkCellRendererToggle* cell_toggle = NULL;
	GtkCellRendererToggle* _tmp13_;
	GtkCellRendererText* _tmp14_;
	GtkCellRendererText* _tmp15_;
	GtkCellRendererText* _tmp16_;
	g_return_if_fail (self != NULL);
	_tmp0_ = (GtkTreeView*) gtk_tree_view_new ();
	g_object_ref_sink (_tmp0_);
	_g_object_unref0 (self->priv->treeview);
	self->priv->treeview = _tmp0_;
	_tmp1_ = self->priv->treeview;
	_tmp2_ = gtk_tree_view_get_selection (_tmp1_);
	gtk_tree_selection_set_mode (_tmp2_, GTK_SELECTION_MULTIPLE);
	_tmp3_ = self->priv->treeview;
	gtk_tree_view_set_headers_visible (_tmp3_, FALSE);
	_tmp4_ = self->priv->treeview;
	gtk_tree_view_set_reorderable (_tmp4_, TRUE);
	_tmp5_ = self->priv->treeview;
	gtk_tree_view_set_tooltip_column (_tmp5_, 2);
	_tmp6_ = (GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL);
	g_object_ref_sink (_tmp6_);
	scrolled = _tmp6_;
	gtk_scrolled_window_set_shadow_type (scrolled, GTK_SHADOW_ETCHED_IN);
	_tmp7_ = self->priv->treeview;
	gtk_container_add ((GtkContainer*) scrolled, (GtkWidget*) _tmp7_);
	g_object_set ((GtkWidget*) scrolled, "expand", TRUE, NULL);
	gtk_container_add ((GtkContainer*) self, (GtkWidget*) scrolled);
	_tmp8_ = gtk_tree_view_column_new ();
	g_object_ref_sink (_tmp8_);
	col = _tmp8_;
	gtk_tree_view_column_set_expand (col, TRUE);
	_tmp9_ = self->priv->treeview;
	gtk_tree_view_append_column (_tmp9_, col);
	_tmp10_ = (GtkCellRendererText*) gtk_cell_renderer_text_new ();
	g_object_ref_sink (_tmp10_);
	cell_text = _tmp10_;
	_tmp11_ = cell_text;
	g_object_set (_tmp11_, "text", "", NULL);
	_tmp12_ = cell_text;
	gtk_cell_layout_pack_start ((GtkCellLayout*) col, (GtkCellRenderer*) _tmp12_, FALSE);
	_tmp13_ = (GtkCellRendererToggle*) gtk_cell_renderer_toggle_new ();
	g_object_ref_sink (_tmp13_);
	cell_toggle = _tmp13_;
	gtk_cell_renderer_toggle_set_radio (cell_toggle, FALSE);
	gtk_cell_renderer_toggle_set_activatable (cell_toggle, TRUE);
	gtk_cell_layout_pack_start ((GtkCellLayout*) col, (GtkCellRenderer*) cell_toggle, FALSE);
	gtk_cell_layout_set_cell_data_func ((GtkCellLayout*) col, (GtkCellRenderer*) cell_toggle, ___lambda116__gtk_cell_layout_data_func, g_object_ref (self), g_object_unref);
	g_signal_connect_object (cell_toggle, "toggled", (GCallback) ___lambda117__gtk_cell_renderer_toggle_toggled, self, 0);
	_tmp14_ = (GtkCellRendererText*) gtk_cell_renderer_text_new ();
	g_object_ref_sink (_tmp14_);
	_g_object_unref0 (cell_text);
	cell_text = _tmp14_;
	_tmp15_ = cell_text;
	gtk_cell_layout_pack_start ((GtkCellLayout*) col, (GtkCellRenderer*) _tmp15_, FALSE);
	_tmp16_ = cell_text;
	gtk_cell_layout_set_cell_data_func ((GtkCellLayout*) col, (GtkCellRenderer*) _tmp16_, ___lambda118__gtk_cell_layout_data_func, g_object_ref (self), g_object_unref);
	_g_object_unref0 (cell_toggle);
	_g_object_unref0 (cell_text);
	_g_object_unref0 (col);
	_g_object_unref0 (scrolled);
}

static void
__lambda115_ (ExcludeAppsBox* self)
{
	ExcludeListSummaryWindow* _tmp0_;
	ExcludeListSummaryWindow* _tmp1_;
	_tmp0_ = exclude_list_summary_window_new (TRUE);
	g_object_ref_sink (_tmp0_);
	_tmp1_ = _tmp0_;
	_g_object_unref0 (_tmp1_);
}

static void
___lambda115__gtk_button_clicked (GtkButton* _sender,
                                  gpointer self)
{
	__lambda115_ ((ExcludeAppsBox*) self);
}

static void
exclude_apps_box_init_exclude_summary_link (ExcludeAppsBox* self,
                                            GtkBox* box)
{
	GtkSizeGroup* size_group = NULL;
	GtkSizeGroup* _tmp0_;
	GtkButton* button = NULL;
	GtkButton* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (box != NULL);
	_tmp0_ = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
	size_group = _tmp0_;
	_tmp1_ = tee_jee_gtk_helper_add_button (box, _ ("Summary"), "", size_group, NULL);
	button = _tmp1_;
	g_signal_connect_object (button, "clicked", (GCallback) ___lambda115__gtk_button_clicked, self, 0);
	_g_object_unref0 (button);
	_g_object_unref0 (size_group);
}

void
exclude_apps_box_refresh (ExcludeAppsBox* self)
{
	g_return_if_fail (self != NULL);
	exclude_apps_box_refresh_treeview (self);
}

void
exclude_apps_box_refresh_treeview (ExcludeAppsBox* self)
{
	GtkListStore* model = NULL;
	GtkListStore* _tmp0_;
	GtkTreeView* _tmp1_;
	GtkListStore* _tmp2_;
	g_return_if_fail (self != NULL);
	_tmp0_ = gtk_list_store_new (3, TYPE_APP_EXCLUDE_ENTRY, G_TYPE_BOOLEAN, G_TYPE_STRING, -1);
	model = _tmp0_;
	_tmp1_ = self->priv->treeview;
	_tmp2_ = model;
	gtk_tree_view_set_model (_tmp1_, (GtkTreeModel*) _tmp2_);
	{
		GeeArrayList* _entry_list = NULL;
		Main* _tmp3_;
		GeeArrayList* _tmp4_;
		gint _entry_size = 0;
		GeeArrayList* _tmp5_;
		gint _tmp6_;
		gint _tmp7_;
		gint _entry_index = 0;
		_tmp3_ = App;
		_tmp4_ = _tmp3_->exclude_list_apps;
		_entry_list = _tmp4_;
		_tmp5_ = _entry_list;
		_tmp6_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp5_);
		_tmp7_ = _tmp6_;
		_entry_size = _tmp7_;
		_entry_index = -1;
		while (TRUE) {
			gint _tmp8_;
			gint _tmp9_;
			AppExcludeEntry* entry = NULL;
			GeeArrayList* _tmp10_;
			gpointer _tmp11_;
			GtkTreeIter iter = {0};
			GtkListStore* _tmp12_;
			GtkTreeIter _tmp13_ = {0};
			GtkListStore* _tmp14_;
			GtkTreeIter _tmp15_;
			AppExcludeEntry* _tmp16_;
			GtkListStore* _tmp17_;
			GtkTreeIter _tmp18_;
			AppExcludeEntry* _tmp19_;
			GtkListStore* _tmp20_;
			GtkTreeIter _tmp21_;
			AppExcludeEntry* _tmp22_;
			gchar* _tmp23_;
			gchar* _tmp24_;
			_entry_index = _entry_index + 1;
			_tmp8_ = _entry_index;
			_tmp9_ = _entry_size;
			if (!(_tmp8_ < _tmp9_)) {
				break;
			}
			_tmp10_ = _entry_list;
			_tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp10_, _entry_index);
			entry = (AppExcludeEntry*) _tmp11_;
			_tmp12_ = model;
			gtk_list_store_append (_tmp12_, &_tmp13_);
			iter = _tmp13_;
			_tmp14_ = model;
			_tmp15_ = iter;
			_tmp16_ = entry;
			gtk_list_store_set (_tmp14_, &_tmp15_, 0, _tmp16_, -1, -1);
			_tmp17_ = model;
			_tmp18_ = iter;
			_tmp19_ = entry;
			gtk_list_store_set (_tmp17_, &_tmp18_, 1, _tmp19_->enabled, -1, -1);
			_tmp20_ = model;
			_tmp21_ = iter;
			_tmp22_ = entry;
			_tmp23_ = app_exclude_entry_tooltip_text (_tmp22_);
			_tmp24_ = _tmp23_;
			gtk_list_store_set (_tmp20_, &_tmp21_, 2, _tmp24_, -1, -1);
			_g_free0 (_tmp24_);
			_g_object_unref0 (entry);
		}
	}
	_g_object_unref0 (model);
}

static void
exclude_apps_box_class_init (ExcludeAppsBoxClass * klass,
                             gpointer klass_data)
{
	exclude_apps_box_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ExcludeAppsBox_private_offset);
	G_OBJECT_CLASS (klass)->finalize = exclude_apps_box_finalize;
}

static void
exclude_apps_box_instance_init (ExcludeAppsBox * self,
                                gpointer klass)
{
	self->priv = exclude_apps_box_get_instance_private (self);
}

static void
exclude_apps_box_finalize (GObject * obj)
{
	ExcludeAppsBox * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EXCLUDE_APPS_BOX, ExcludeAppsBox);
	_g_object_unref0 (self->priv->treeview);
	_g_object_unref0 (self->priv->parent_window);
	G_OBJECT_CLASS (exclude_apps_box_parent_class)->finalize (obj);
}

static GType
exclude_apps_box_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ExcludeAppsBoxClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) exclude_apps_box_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ExcludeAppsBox), 0, (GInstanceInitFunc) exclude_apps_box_instance_init, NULL };
	GType exclude_apps_box_type_id;
	exclude_apps_box_type_id = g_type_register_static (gtk_box_get_type (), "ExcludeAppsBox", &g_define_type_info, 0);
	ExcludeAppsBox_private_offset = g_type_add_instance_private (exclude_apps_box_type_id, sizeof (ExcludeAppsBoxPrivate));
	return exclude_apps_box_type_id;
}

GType
exclude_apps_box_get_type (void)
{
	static volatile gsize exclude_apps_box_type_id__once = 0;
	if (g_once_init_enter (&exclude_apps_box_type_id__once)) {
		GType exclude_apps_box_type_id;
		exclude_apps_box_type_id = exclude_apps_box_get_type_once ();
		g_once_init_leave (&exclude_apps_box_type_id__once, exclude_apps_box_type_id);
	}
	return exclude_apps_box_type_id__once;
}

