/* deja.h generated by valac 0.56.18-dirty, the Vala compiler, do not modify */

#ifndef __LIBDEJA_DEJA_H__
#define __LIBDEJA_DEJA_H__

#include <glib-object.h>
#include <gio/gio.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <libsecret/secret.h>
#include <libintl.h>

G_BEGIN_DECLS

#define DEJA_DUP_BACKEND_INFINITE_SPACE G_MAXUINT64
#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 DEJA_DUP_DRIVE_ROOT "Drive"
#define DEJA_DUP_DRIVE_UUID_KEY "uuid"
#define DEJA_DUP_DRIVE_NAME_KEY "name"
#define DEJA_DUP_DRIVE_ICON_KEY "icon"
#define DEJA_DUP_DRIVE_FOLDER_KEY "folder"
#define DEJA_DUP_GOOGLE_ROOT "Google"
#define DEJA_DUP_GOOGLE_FOLDER_KEY "folder"
#define DEJA_DUP_GOOGLE_SERVER "google.com"
#define DEJA_DUP_LOCAL_ROOT "Local"
#define DEJA_DUP_LOCAL_FOLDER_KEY "folder"
#define DEJA_DUP_MICROSOFT_ROOT "Microsoft"
#define DEJA_DUP_MICROSOFT_FOLDER_KEY "folder"
#define DEJA_DUP_MICROSOFT_SERVER "microsoft.com"
#define DEJA_DUP_RCLONE_ROOT "Rclone"
#define DEJA_DUP_RCLONE_REMOTE_KEY "remote"
#define DEJA_DUP_RCLONE_FOLDER_KEY "folder"
#define DEJA_DUP_REMOTE_ROOT "Remote"
#define DEJA_DUP_REMOTE_URI_KEY "uri"
#define DEJA_DUP_REMOTE_FOLDER_KEY "folder"
#define DEJA_DUP_WINDOW_WIDTH_KEY "window-width"
#define DEJA_DUP_WINDOW_HEIGHT_KEY "window-height"
#define DEJA_DUP_WINDOW_MAXIMIZED_KEY "window-maximized"
#define DEJA_DUP_WINDOW_FULLSCREENED_KEY "window-fullscreened"
#define DEJA_DUP_INCLUDE_LIST_KEY "include-list"
#define DEJA_DUP_EXCLUDE_LIST_KEY "exclude-list"
#define DEJA_DUP_BACKEND_KEY "backend"
#define DEJA_DUP_LAST_RUN_KEY "last-run"
#define DEJA_DUP_LAST_BACKUP_KEY "last-backup"
#define DEJA_DUP_LAST_RESTORE_KEY "last-restore"
#define DEJA_DUP_PROMPT_CHECK_KEY "prompt-check"
#define DEJA_DUP_NAG_CHECK_KEY "nag-check"
#define DEJA_DUP_PERIODIC_KEY "periodic"
#define DEJA_DUP_PERIODIC_PERIOD_KEY "periodic-period"
#define DEJA_DUP_PERIODIC_TIMESTAMP_KEY "periodic-timestamp"
#define DEJA_DUP_DELETE_AFTER_KEY "delete-after"
#define DEJA_DUP_FULL_BACKUP_PERIOD_KEY "full-backup-period"
#define DEJA_DUP_ALLOW_METERED_KEY "allow-metered"
#define DEJA_DUP_ALLOW_POWER_SAVER_KEY "allow-power-saver"
#define DEJA_DUP__TOOL_KEY "tool"
#define DEJA_DUP_TOOL_WHEN_NEW_KEY "tool-when-new"
#define DEJA_DUP_CUSTOM_TOOL_SETUP_KEY "custom-tool-setup"
#define DEJA_DUP_CUSTOM_TOOL_TEARDOWN_KEY "custom-tool-teardown"
#define DEJA_DUP_CUSTOM_TOOL_WRAPPER_KEY "custom-tool-wrapper"

#define DEJA_DUP_TYPE_BACKEND (deja_dup_backend_get_type ())
#define DEJA_DUP_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_BACKEND, DejaDupBackend))
#define DEJA_DUP_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_BACKEND, DejaDupBackendClass))
#define DEJA_DUP_IS_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_BACKEND))
#define DEJA_DUP_IS_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_BACKEND))
#define DEJA_DUP_BACKEND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_BACKEND, DejaDupBackendClass))

typedef struct _DejaDupBackend DejaDupBackend;
typedef struct _DejaDupBackendClass DejaDupBackendClass;
typedef struct _DejaDupBackendPrivate DejaDupBackendPrivate;
typedef enum  {
	DEJA_DUP_BACKEND_KIND_UNKNOWN,
	DEJA_DUP_BACKEND_KIND_LOCAL,
	DEJA_DUP_BACKEND_KIND_GVFS,
	DEJA_DUP_BACKEND_KIND_GOOGLE,
	DEJA_DUP_BACKEND_KIND_MICROSOFT,
	DEJA_DUP_BACKEND_KIND_RCLONE
} DejaDupBackendKind;

#define DEJA_DUP_BACKEND_TYPE_KIND (deja_dup_backend_kind_get_type ())

#define DEJA_DUP_TYPE_BACKEND_AUTO (deja_dup_backend_auto_get_type ())
#define DEJA_DUP_BACKEND_AUTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_BACKEND_AUTO, DejaDupBackendAuto))
#define DEJA_DUP_BACKEND_AUTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_BACKEND_AUTO, DejaDupBackendAutoClass))
#define DEJA_DUP_IS_BACKEND_AUTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_BACKEND_AUTO))
#define DEJA_DUP_IS_BACKEND_AUTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_BACKEND_AUTO))
#define DEJA_DUP_BACKEND_AUTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_BACKEND_AUTO, DejaDupBackendAutoClass))

typedef struct _DejaDupBackendAuto DejaDupBackendAuto;
typedef struct _DejaDupBackendAutoClass DejaDupBackendAutoClass;
typedef struct _DejaDupBackendAutoPrivate DejaDupBackendAutoPrivate;

#define DEJA_DUP_TYPE_BACKEND_FILE (deja_dup_backend_file_get_type ())
#define DEJA_DUP_BACKEND_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_BACKEND_FILE, DejaDupBackendFile))
#define DEJA_DUP_BACKEND_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_BACKEND_FILE, DejaDupBackendFileClass))
#define DEJA_DUP_IS_BACKEND_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_BACKEND_FILE))
#define DEJA_DUP_IS_BACKEND_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_BACKEND_FILE))
#define DEJA_DUP_BACKEND_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_BACKEND_FILE, DejaDupBackendFileClass))

typedef struct _DejaDupBackendFile DejaDupBackendFile;
typedef struct _DejaDupBackendFileClass DejaDupBackendFileClass;
typedef struct _DejaDupBackendFilePrivate DejaDupBackendFilePrivate;

#define DEJA_DUP_TYPE_BACKEND_DRIVE (deja_dup_backend_drive_get_type ())
#define DEJA_DUP_BACKEND_DRIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_BACKEND_DRIVE, DejaDupBackendDrive))
#define DEJA_DUP_BACKEND_DRIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_BACKEND_DRIVE, DejaDupBackendDriveClass))
#define DEJA_DUP_IS_BACKEND_DRIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_BACKEND_DRIVE))
#define DEJA_DUP_IS_BACKEND_DRIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_BACKEND_DRIVE))
#define DEJA_DUP_BACKEND_DRIVE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_BACKEND_DRIVE, DejaDupBackendDriveClass))

typedef struct _DejaDupBackendDrive DejaDupBackendDrive;
typedef struct _DejaDupBackendDriveClass DejaDupBackendDriveClass;
typedef struct _DejaDupBackendDrivePrivate DejaDupBackendDrivePrivate;

#define DEJA_DUP_TYPE_BACKEND_OAUTH (deja_dup_backend_oauth_get_type ())
#define DEJA_DUP_BACKEND_OAUTH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_BACKEND_OAUTH, DejaDupBackendOAuth))
#define DEJA_DUP_BACKEND_OAUTH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_BACKEND_OAUTH, DejaDupBackendOAuthClass))
#define DEJA_DUP_IS_BACKEND_OAUTH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_BACKEND_OAUTH))
#define DEJA_DUP_IS_BACKEND_OAUTH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_BACKEND_OAUTH))
#define DEJA_DUP_BACKEND_OAUTH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_BACKEND_OAUTH, DejaDupBackendOAuthClass))

typedef struct _DejaDupBackendOAuth DejaDupBackendOAuth;
typedef struct _DejaDupBackendOAuthClass DejaDupBackendOAuthClass;
typedef struct _DejaDupBackendOAuthPrivate DejaDupBackendOAuthPrivate;

#define DEJA_DUP_TYPE_BACKEND_GOOGLE (deja_dup_backend_google_get_type ())
#define DEJA_DUP_BACKEND_GOOGLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_BACKEND_GOOGLE, DejaDupBackendGoogle))
#define DEJA_DUP_BACKEND_GOOGLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_BACKEND_GOOGLE, DejaDupBackendGoogleClass))
#define DEJA_DUP_IS_BACKEND_GOOGLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_BACKEND_GOOGLE))
#define DEJA_DUP_IS_BACKEND_GOOGLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_BACKEND_GOOGLE))
#define DEJA_DUP_BACKEND_GOOGLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_BACKEND_GOOGLE, DejaDupBackendGoogleClass))

typedef struct _DejaDupBackendGoogle DejaDupBackendGoogle;
typedef struct _DejaDupBackendGoogleClass DejaDupBackendGoogleClass;
typedef struct _DejaDupBackendGooglePrivate DejaDupBackendGooglePrivate;

#define DEJA_DUP_TYPE_BACKEND_LOCAL (deja_dup_backend_local_get_type ())
#define DEJA_DUP_BACKEND_LOCAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_BACKEND_LOCAL, DejaDupBackendLocal))
#define DEJA_DUP_BACKEND_LOCAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_BACKEND_LOCAL, DejaDupBackendLocalClass))
#define DEJA_DUP_IS_BACKEND_LOCAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_BACKEND_LOCAL))
#define DEJA_DUP_IS_BACKEND_LOCAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_BACKEND_LOCAL))
#define DEJA_DUP_BACKEND_LOCAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_BACKEND_LOCAL, DejaDupBackendLocalClass))

typedef struct _DejaDupBackendLocal DejaDupBackendLocal;
typedef struct _DejaDupBackendLocalClass DejaDupBackendLocalClass;
typedef struct _DejaDupBackendLocalPrivate DejaDupBackendLocalPrivate;

#define DEJA_DUP_TYPE_BACKEND_MICROSOFT (deja_dup_backend_microsoft_get_type ())
#define DEJA_DUP_BACKEND_MICROSOFT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_BACKEND_MICROSOFT, DejaDupBackendMicrosoft))
#define DEJA_DUP_BACKEND_MICROSOFT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_BACKEND_MICROSOFT, DejaDupBackendMicrosoftClass))
#define DEJA_DUP_IS_BACKEND_MICROSOFT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_BACKEND_MICROSOFT))
#define DEJA_DUP_IS_BACKEND_MICROSOFT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_BACKEND_MICROSOFT))
#define DEJA_DUP_BACKEND_MICROSOFT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_BACKEND_MICROSOFT, DejaDupBackendMicrosoftClass))

typedef struct _DejaDupBackendMicrosoft DejaDupBackendMicrosoft;
typedef struct _DejaDupBackendMicrosoftClass DejaDupBackendMicrosoftClass;
typedef struct _DejaDupBackendMicrosoftPrivate DejaDupBackendMicrosoftPrivate;

#define DEJA_DUP_TYPE_BACKEND_RCLONE (deja_dup_backend_rclone_get_type ())
#define DEJA_DUP_BACKEND_RCLONE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_BACKEND_RCLONE, DejaDupBackendRclone))
#define DEJA_DUP_BACKEND_RCLONE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_BACKEND_RCLONE, DejaDupBackendRcloneClass))
#define DEJA_DUP_IS_BACKEND_RCLONE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_BACKEND_RCLONE))
#define DEJA_DUP_IS_BACKEND_RCLONE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_BACKEND_RCLONE))
#define DEJA_DUP_BACKEND_RCLONE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_BACKEND_RCLONE, DejaDupBackendRcloneClass))

typedef struct _DejaDupBackendRclone DejaDupBackendRclone;
typedef struct _DejaDupBackendRcloneClass DejaDupBackendRcloneClass;
typedef struct _DejaDupBackendRclonePrivate DejaDupBackendRclonePrivate;

#define DEJA_DUP_TYPE_BACKEND_REMOTE (deja_dup_backend_remote_get_type ())
#define DEJA_DUP_BACKEND_REMOTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_BACKEND_REMOTE, DejaDupBackendRemote))
#define DEJA_DUP_BACKEND_REMOTE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_BACKEND_REMOTE, DejaDupBackendRemoteClass))
#define DEJA_DUP_IS_BACKEND_REMOTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_BACKEND_REMOTE))
#define DEJA_DUP_IS_BACKEND_REMOTE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_BACKEND_REMOTE))
#define DEJA_DUP_BACKEND_REMOTE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_BACKEND_REMOTE, DejaDupBackendRemoteClass))

typedef struct _DejaDupBackendRemote DejaDupBackendRemote;
typedef struct _DejaDupBackendRemoteClass DejaDupBackendRemoteClass;
typedef struct _DejaDupBackendRemotePrivate DejaDupBackendRemotePrivate;

#define DEJA_DUP_TYPE_BACKEND_UNSUPPORTED (deja_dup_backend_unsupported_get_type ())
#define DEJA_DUP_BACKEND_UNSUPPORTED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_BACKEND_UNSUPPORTED, DejaDupBackendUnsupported))
#define DEJA_DUP_BACKEND_UNSUPPORTED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_BACKEND_UNSUPPORTED, DejaDupBackendUnsupportedClass))
#define DEJA_DUP_IS_BACKEND_UNSUPPORTED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_BACKEND_UNSUPPORTED))
#define DEJA_DUP_IS_BACKEND_UNSUPPORTED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_BACKEND_UNSUPPORTED))
#define DEJA_DUP_BACKEND_UNSUPPORTED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_BACKEND_UNSUPPORTED, DejaDupBackendUnsupportedClass))

typedef struct _DejaDupBackendUnsupported DejaDupBackendUnsupported;
typedef struct _DejaDupBackendUnsupportedClass DejaDupBackendUnsupportedClass;
typedef struct _DejaDupBackendUnsupportedPrivate DejaDupBackendUnsupportedPrivate;

#define DEJA_DUP_TYPE_BACKEND_WATCHER (deja_dup_backend_watcher_get_type ())
#define DEJA_DUP_BACKEND_WATCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_BACKEND_WATCHER, DejaDupBackendWatcher))
#define DEJA_DUP_BACKEND_WATCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_BACKEND_WATCHER, DejaDupBackendWatcherClass))
#define DEJA_DUP_IS_BACKEND_WATCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_BACKEND_WATCHER))
#define DEJA_DUP_IS_BACKEND_WATCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_BACKEND_WATCHER))
#define DEJA_DUP_BACKEND_WATCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_BACKEND_WATCHER, DejaDupBackendWatcherClass))

typedef struct _DejaDupBackendWatcher DejaDupBackendWatcher;
typedef struct _DejaDupBackendWatcherClass DejaDupBackendWatcherClass;
typedef struct _DejaDupBackendWatcherPrivate DejaDupBackendWatcherPrivate;

#define DEJA_DUP_TYPE_BACKUP_ERROR (deja_dup_backup_error_get_type ())

#define DEJA_DUP_TYPE_FILTERED_SETTINGS (deja_dup_filtered_settings_get_type ())
#define DEJA_DUP_FILTERED_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_FILTERED_SETTINGS, DejaDupFilteredSettings))
#define DEJA_DUP_FILTERED_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_FILTERED_SETTINGS, DejaDupFilteredSettingsClass))
#define DEJA_DUP_IS_FILTERED_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_FILTERED_SETTINGS))
#define DEJA_DUP_IS_FILTERED_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_FILTERED_SETTINGS))
#define DEJA_DUP_FILTERED_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_FILTERED_SETTINGS, DejaDupFilteredSettingsClass))

typedef struct _DejaDupFilteredSettings DejaDupFilteredSettings;
typedef struct _DejaDupFilteredSettingsClass DejaDupFilteredSettingsClass;

#define DEJA_DUP_TYPE_FILE_TREE (deja_dup_file_tree_get_type ())
#define DEJA_DUP_FILE_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_FILE_TREE, DejaDupFileTree))
#define DEJA_DUP_FILE_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_FILE_TREE, DejaDupFileTreeClass))
#define DEJA_DUP_IS_FILE_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_FILE_TREE))
#define DEJA_DUP_IS_FILE_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_FILE_TREE))
#define DEJA_DUP_FILE_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_FILE_TREE, DejaDupFileTreeClass))

typedef struct _DejaDupFileTree DejaDupFileTree;
typedef struct _DejaDupFileTreeClass DejaDupFileTreeClass;
typedef struct _DejaDupFileTreePrivate DejaDupFileTreePrivate;

#define DEJA_DUP_FILE_TREE_TYPE_NODE (deja_dup_file_tree_node_get_type ())
#define DEJA_DUP_FILE_TREE_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_FILE_TREE_TYPE_NODE, DejaDupFileTreeNode))
#define DEJA_DUP_FILE_TREE_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_FILE_TREE_TYPE_NODE, DejaDupFileTreeNodeClass))
#define DEJA_DUP_FILE_TREE_IS_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_FILE_TREE_TYPE_NODE))
#define DEJA_DUP_FILE_TREE_IS_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_FILE_TREE_TYPE_NODE))
#define DEJA_DUP_FILE_TREE_NODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_FILE_TREE_TYPE_NODE, DejaDupFileTreeNodeClass))

typedef struct _DejaDupFileTreeNode DejaDupFileTreeNode;
typedef struct _DejaDupFileTreeNodeClass DejaDupFileTreeNodeClass;
typedef struct _DejaDupFileTreeNodePrivate DejaDupFileTreeNodePrivate;
typedef struct _DejaDupFilteredSettingsPrivate DejaDupFilteredSettingsPrivate;

#define DEJA_DUP_TYPE_INSTALL_ENV (deja_dup_install_env_get_type ())
#define DEJA_DUP_INSTALL_ENV(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_INSTALL_ENV, DejaDupInstallEnv))
#define DEJA_DUP_INSTALL_ENV_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_INSTALL_ENV, DejaDupInstallEnvClass))
#define DEJA_DUP_IS_INSTALL_ENV(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_INSTALL_ENV))
#define DEJA_DUP_IS_INSTALL_ENV_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_INSTALL_ENV))
#define DEJA_DUP_INSTALL_ENV_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_INSTALL_ENV, DejaDupInstallEnvClass))

typedef struct _DejaDupInstallEnv DejaDupInstallEnv;
typedef struct _DejaDupInstallEnvClass DejaDupInstallEnvClass;
typedef struct _DejaDupInstallEnvPrivate DejaDupInstallEnvPrivate;

#define DEJA_DUP_TYPE_LOG_OBSCURER (deja_dup_log_obscurer_get_type ())
#define DEJA_DUP_LOG_OBSCURER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_LOG_OBSCURER, DejaDupLogObscurer))
#define DEJA_DUP_LOG_OBSCURER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_LOG_OBSCURER, DejaDupLogObscurerClass))
#define DEJA_DUP_IS_LOG_OBSCURER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_LOG_OBSCURER))
#define DEJA_DUP_IS_LOG_OBSCURER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_LOG_OBSCURER))
#define DEJA_DUP_LOG_OBSCURER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_LOG_OBSCURER, DejaDupLogObscurerClass))

typedef struct _DejaDupLogObscurer DejaDupLogObscurer;
typedef struct _DejaDupLogObscurerClass DejaDupLogObscurerClass;
typedef struct _DejaDupLogObscurerPrivate DejaDupLogObscurerPrivate;

#define DEJA_DUP_TYPE_MOUNT_ERROR (deja_dup_mount_error_get_type ())

#define DEJA_DUP_TYPE_MOUNT_MANAGER (deja_dup_mount_manager_get_type ())
#define DEJA_DUP_MOUNT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_MOUNT_MANAGER, DejaDupMountManager))
#define DEJA_DUP_MOUNT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_MOUNT_MANAGER, DejaDupMountManagerClass))
#define DEJA_DUP_IS_MOUNT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_MOUNT_MANAGER))
#define DEJA_DUP_IS_MOUNT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_MOUNT_MANAGER))
#define DEJA_DUP_MOUNT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_MOUNT_MANAGER, DejaDupMountManagerClass))

typedef struct _DejaDupMountManager DejaDupMountManager;
typedef struct _DejaDupMountManagerClass DejaDupMountManagerClass;
typedef struct _DejaDupMountManagerPrivate DejaDupMountManagerPrivate;

#define DEJA_DUP_OPERATION_TYPE_STATE (deja_dup_operation_state_get_type ())
#define DEJA_DUP_OPERATION_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_OPERATION_TYPE_STATE, DejaDupOperationState))
#define DEJA_DUP_OPERATION_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_OPERATION_TYPE_STATE, DejaDupOperationStateClass))
#define DEJA_DUP_OPERATION_IS_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_OPERATION_TYPE_STATE))
#define DEJA_DUP_OPERATION_IS_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_OPERATION_TYPE_STATE))
#define DEJA_DUP_OPERATION_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_OPERATION_TYPE_STATE, DejaDupOperationStateClass))

typedef struct _DejaDupOperationState DejaDupOperationState;
typedef struct _DejaDupOperationStateClass DejaDupOperationStateClass;

#define DEJA_DUP_TYPE_NETWORK (deja_dup_network_get_type ())
#define DEJA_DUP_NETWORK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_NETWORK, DejaDupNetwork))
#define DEJA_DUP_NETWORK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_NETWORK, DejaDupNetworkClass))
#define DEJA_DUP_IS_NETWORK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_NETWORK))
#define DEJA_DUP_IS_NETWORK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_NETWORK))
#define DEJA_DUP_NETWORK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_NETWORK, DejaDupNetworkClass))

typedef struct _DejaDupNetwork DejaDupNetwork;
typedef struct _DejaDupNetworkClass DejaDupNetworkClass;
typedef struct _DejaDupNetworkPrivate DejaDupNetworkPrivate;

#define DEJA_DUP_TYPE_OPERATION (deja_dup_operation_get_type ())
#define DEJA_DUP_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_OPERATION, DejaDupOperation))
#define DEJA_DUP_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_OPERATION, DejaDupOperationClass))
#define DEJA_DUP_IS_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_OPERATION))
#define DEJA_DUP_IS_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_OPERATION))
#define DEJA_DUP_OPERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_OPERATION, DejaDupOperationClass))

typedef struct _DejaDupOperation DejaDupOperation;
typedef struct _DejaDupOperationClass DejaDupOperationClass;
typedef struct _DejaDupOperationPrivate DejaDupOperationPrivate;

#define DEJA_DUP_TYPE_TOOL_PLUGIN (deja_dup_tool_plugin_get_type ())
#define DEJA_DUP_TOOL_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_TOOL_PLUGIN, DejaDupToolPlugin))
#define DEJA_DUP_TOOL_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_TOOL_PLUGIN, DejaDupToolPluginClass))
#define DEJA_DUP_IS_TOOL_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_TOOL_PLUGIN))
#define DEJA_DUP_IS_TOOL_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_TOOL_PLUGIN))
#define DEJA_DUP_TOOL_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_TOOL_PLUGIN, DejaDupToolPluginClass))

typedef struct _DejaDupToolPlugin DejaDupToolPlugin;
typedef struct _DejaDupToolPluginClass DejaDupToolPluginClass;

#define DEJA_DUP_TYPE_TOOL_JOB (deja_dup_tool_job_get_type ())
#define DEJA_DUP_TOOL_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_TOOL_JOB, DejaDupToolJob))
#define DEJA_DUP_TOOL_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_TOOL_JOB, DejaDupToolJobClass))
#define DEJA_DUP_IS_TOOL_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_TOOL_JOB))
#define DEJA_DUP_IS_TOOL_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_TOOL_JOB))
#define DEJA_DUP_TOOL_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_TOOL_JOB, DejaDupToolJobClass))

typedef struct _DejaDupToolJob DejaDupToolJob;
typedef struct _DejaDupToolJobClass DejaDupToolJobClass;
typedef enum  {
	DEJA_DUP_TOOL_JOB_MODE_INVALID,
	DEJA_DUP_TOOL_JOB_MODE_BACKUP,
	DEJA_DUP_TOOL_JOB_MODE_RESTORE,
	DEJA_DUP_TOOL_JOB_MODE_LIST_SNAPSHOTS,
	DEJA_DUP_TOOL_JOB_MODE_LIST_FILES,
	DEJA_DUP_TOOL_JOB_MODE_VERIFY_BASIC,
	DEJA_DUP_TOOL_JOB_MODE_VERIFY_CLEAN,
	DEJA_DUP_TOOL_JOB_MODE_MOUNT,
	DEJA_DUP_TOOL_JOB_MODE_LAST_MODE
} DejaDupToolJobMode;

#define DEJA_DUP_TOOL_JOB_TYPE_MODE (deja_dup_tool_job_mode_get_type ())
typedef struct _DejaDupOperationStatePrivate DejaDupOperationStatePrivate;

#define DEJA_DUP_TYPE_OPERATION_BACKUP (deja_dup_operation_backup_get_type ())
#define DEJA_DUP_OPERATION_BACKUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_OPERATION_BACKUP, DejaDupOperationBackup))
#define DEJA_DUP_OPERATION_BACKUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_OPERATION_BACKUP, DejaDupOperationBackupClass))
#define DEJA_DUP_IS_OPERATION_BACKUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_OPERATION_BACKUP))
#define DEJA_DUP_IS_OPERATION_BACKUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_OPERATION_BACKUP))
#define DEJA_DUP_OPERATION_BACKUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_OPERATION_BACKUP, DejaDupOperationBackupClass))

typedef struct _DejaDupOperationBackup DejaDupOperationBackup;
typedef struct _DejaDupOperationBackupClass DejaDupOperationBackupClass;
typedef struct _DejaDupOperationBackupPrivate DejaDupOperationBackupPrivate;

#define DEJA_DUP_TYPE_OPERATION_FILES (deja_dup_operation_files_get_type ())
#define DEJA_DUP_OPERATION_FILES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_OPERATION_FILES, DejaDupOperationFiles))
#define DEJA_DUP_OPERATION_FILES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_OPERATION_FILES, DejaDupOperationFilesClass))
#define DEJA_DUP_IS_OPERATION_FILES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_OPERATION_FILES))
#define DEJA_DUP_IS_OPERATION_FILES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_OPERATION_FILES))
#define DEJA_DUP_OPERATION_FILES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_OPERATION_FILES, DejaDupOperationFilesClass))

typedef struct _DejaDupOperationFiles DejaDupOperationFiles;
typedef struct _DejaDupOperationFilesClass DejaDupOperationFilesClass;
typedef struct _DejaDupOperationFilesPrivate DejaDupOperationFilesPrivate;

#define DEJA_DUP_TYPE_OPERATION_MOUNT (deja_dup_operation_mount_get_type ())
#define DEJA_DUP_OPERATION_MOUNT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_OPERATION_MOUNT, DejaDupOperationMount))
#define DEJA_DUP_OPERATION_MOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_OPERATION_MOUNT, DejaDupOperationMountClass))
#define DEJA_DUP_IS_OPERATION_MOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_OPERATION_MOUNT))
#define DEJA_DUP_IS_OPERATION_MOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_OPERATION_MOUNT))
#define DEJA_DUP_OPERATION_MOUNT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_OPERATION_MOUNT, DejaDupOperationMountClass))

typedef struct _DejaDupOperationMount DejaDupOperationMount;
typedef struct _DejaDupOperationMountClass DejaDupOperationMountClass;
typedef struct _DejaDupOperationMountPrivate DejaDupOperationMountPrivate;

#define DEJA_DUP_TYPE_OPERATION_RESTORE (deja_dup_operation_restore_get_type ())
#define DEJA_DUP_OPERATION_RESTORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_OPERATION_RESTORE, DejaDupOperationRestore))
#define DEJA_DUP_OPERATION_RESTORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_OPERATION_RESTORE, DejaDupOperationRestoreClass))
#define DEJA_DUP_IS_OPERATION_RESTORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_OPERATION_RESTORE))
#define DEJA_DUP_IS_OPERATION_RESTORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_OPERATION_RESTORE))
#define DEJA_DUP_OPERATION_RESTORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_OPERATION_RESTORE, DejaDupOperationRestoreClass))

typedef struct _DejaDupOperationRestore DejaDupOperationRestore;
typedef struct _DejaDupOperationRestoreClass DejaDupOperationRestoreClass;
typedef struct _DejaDupOperationRestorePrivate DejaDupOperationRestorePrivate;

#define DEJA_DUP_TYPE_OPERATION_STATUS (deja_dup_operation_status_get_type ())
#define DEJA_DUP_OPERATION_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_OPERATION_STATUS, DejaDupOperationStatus))
#define DEJA_DUP_OPERATION_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_OPERATION_STATUS, DejaDupOperationStatusClass))
#define DEJA_DUP_IS_OPERATION_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_OPERATION_STATUS))
#define DEJA_DUP_IS_OPERATION_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_OPERATION_STATUS))
#define DEJA_DUP_OPERATION_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_OPERATION_STATUS, DejaDupOperationStatusClass))

typedef struct _DejaDupOperationStatus DejaDupOperationStatus;
typedef struct _DejaDupOperationStatusClass DejaDupOperationStatusClass;
typedef struct _DejaDupOperationStatusPrivate DejaDupOperationStatusPrivate;

#define DEJA_DUP_TYPE_OPERATION_VERIFY (deja_dup_operation_verify_get_type ())
#define DEJA_DUP_OPERATION_VERIFY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_OPERATION_VERIFY, DejaDupOperationVerify))
#define DEJA_DUP_OPERATION_VERIFY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_OPERATION_VERIFY, DejaDupOperationVerifyClass))
#define DEJA_DUP_IS_OPERATION_VERIFY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_OPERATION_VERIFY))
#define DEJA_DUP_IS_OPERATION_VERIFY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_OPERATION_VERIFY))
#define DEJA_DUP_OPERATION_VERIFY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_OPERATION_VERIFY, DejaDupOperationVerifyClass))

typedef struct _DejaDupOperationVerify DejaDupOperationVerify;
typedef struct _DejaDupOperationVerifyClass DejaDupOperationVerifyClass;
typedef struct _DejaDupOperationVerifyPrivate DejaDupOperationVerifyPrivate;

#define DEJA_DUP_TYPE_OPERATION_WATCHER (deja_dup_operation_watcher_get_type ())
#define DEJA_DUP_OPERATION_WATCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_OPERATION_WATCHER, DejaDupOperationWatcher))
#define DEJA_DUP_OPERATION_WATCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_OPERATION_WATCHER, DejaDupOperationWatcherClass))
#define DEJA_DUP_IS_OPERATION_WATCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_OPERATION_WATCHER))
#define DEJA_DUP_IS_OPERATION_WATCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_OPERATION_WATCHER))
#define DEJA_DUP_OPERATION_WATCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_OPERATION_WATCHER, DejaDupOperationWatcherClass))

typedef struct _DejaDupOperationWatcher DejaDupOperationWatcher;
typedef struct _DejaDupOperationWatcherClass DejaDupOperationWatcherClass;
typedef struct _DejaDupOperationWatcherPrivate DejaDupOperationWatcherPrivate;

#define DEJA_DUP_TYPE_RECURSIVE_OP (deja_dup_recursive_op_get_type ())
#define DEJA_DUP_RECURSIVE_OP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_RECURSIVE_OP, DejaDupRecursiveOp))
#define DEJA_DUP_RECURSIVE_OP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_RECURSIVE_OP, DejaDupRecursiveOpClass))
#define DEJA_DUP_IS_RECURSIVE_OP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_RECURSIVE_OP))
#define DEJA_DUP_IS_RECURSIVE_OP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_RECURSIVE_OP))
#define DEJA_DUP_RECURSIVE_OP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_RECURSIVE_OP, DejaDupRecursiveOpClass))

typedef struct _DejaDupRecursiveOp DejaDupRecursiveOp;
typedef struct _DejaDupRecursiveOpClass DejaDupRecursiveOpClass;
typedef struct _DejaDupRecursiveOpPrivate DejaDupRecursiveOpPrivate;

#define DEJA_DUP_TYPE_RECURSIVE_DELETE (deja_dup_recursive_delete_get_type ())
#define DEJA_DUP_RECURSIVE_DELETE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_RECURSIVE_DELETE, DejaDupRecursiveDelete))
#define DEJA_DUP_RECURSIVE_DELETE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_RECURSIVE_DELETE, DejaDupRecursiveDeleteClass))
#define DEJA_DUP_IS_RECURSIVE_DELETE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_RECURSIVE_DELETE))
#define DEJA_DUP_IS_RECURSIVE_DELETE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_RECURSIVE_DELETE))
#define DEJA_DUP_RECURSIVE_DELETE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_RECURSIVE_DELETE, DejaDupRecursiveDeleteClass))

typedef struct _DejaDupRecursiveDelete DejaDupRecursiveDelete;
typedef struct _DejaDupRecursiveDeleteClass DejaDupRecursiveDeleteClass;
typedef struct _DejaDupRecursiveDeletePrivate DejaDupRecursiveDeletePrivate;

#define DEJA_DUP_TYPE_SNAPSHOT_INFO (deja_dup_snapshot_info_get_type ())
#define DEJA_DUP_SNAPSHOT_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_SNAPSHOT_INFO, DejaDupSnapshotInfo))
#define DEJA_DUP_SNAPSHOT_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_SNAPSHOT_INFO, DejaDupSnapshotInfoClass))
#define DEJA_DUP_IS_SNAPSHOT_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_SNAPSHOT_INFO))
#define DEJA_DUP_IS_SNAPSHOT_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_SNAPSHOT_INFO))
#define DEJA_DUP_SNAPSHOT_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_SNAPSHOT_INFO, DejaDupSnapshotInfoClass))

typedef struct _DejaDupSnapshotInfo DejaDupSnapshotInfo;
typedef struct _DejaDupSnapshotInfoClass DejaDupSnapshotInfoClass;
typedef struct _DejaDupSnapshotInfoPrivate DejaDupSnapshotInfoPrivate;
typedef struct _DejaDupToolJobPrivate DejaDupToolJobPrivate;
typedef enum  {
	DEJA_DUP_TOOL_JOB_FLAGS_NO_PROGRESS
} DejaDupToolJobFlags;

#define DEJA_DUP_TOOL_JOB_TYPE_FLAGS (deja_dup_tool_job_flags_get_type ())
typedef struct _DejaDupToolPluginPrivate DejaDupToolPluginPrivate;

#define TYPE_BORG_PLUGIN (borg_plugin_get_type ())
#define BORG_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BORG_PLUGIN, BorgPlugin))
#define BORG_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BORG_PLUGIN, BorgPluginClass))
#define IS_BORG_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BORG_PLUGIN))
#define IS_BORG_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BORG_PLUGIN))
#define BORG_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BORG_PLUGIN, BorgPluginClass))

typedef struct _BorgPlugin BorgPlugin;
typedef struct _BorgPluginClass BorgPluginClass;
typedef struct _BorgPluginPrivate BorgPluginPrivate;

#define DEJA_DUP_TYPE_DUPLICITY_LOGGER (deja_dup_duplicity_logger_get_type ())
#define DEJA_DUP_DUPLICITY_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_DUPLICITY_LOGGER, DejaDupDuplicityLogger))
#define DEJA_DUP_DUPLICITY_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_DUPLICITY_LOGGER, DejaDupDuplicityLoggerClass))
#define DEJA_DUP_IS_DUPLICITY_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_DUPLICITY_LOGGER))
#define DEJA_DUP_IS_DUPLICITY_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_DUPLICITY_LOGGER))
#define DEJA_DUP_DUPLICITY_LOGGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_DUPLICITY_LOGGER, DejaDupDuplicityLoggerClass))

typedef struct _DejaDupDuplicityLogger DejaDupDuplicityLogger;
typedef struct _DejaDupDuplicityLoggerClass DejaDupDuplicityLoggerClass;
typedef struct _DejaDupDuplicityLoggerPrivate DejaDupDuplicityLoggerPrivate;

#define TYPE_DUPLICITY_PLUGIN (duplicity_plugin_get_type ())
#define DUPLICITY_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DUPLICITY_PLUGIN, DuplicityPlugin))
#define DUPLICITY_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DUPLICITY_PLUGIN, DuplicityPluginClass))
#define IS_DUPLICITY_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DUPLICITY_PLUGIN))
#define IS_DUPLICITY_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DUPLICITY_PLUGIN))
#define DUPLICITY_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DUPLICITY_PLUGIN, DuplicityPluginClass))

typedef struct _DuplicityPlugin DuplicityPlugin;
typedef struct _DuplicityPluginClass DuplicityPluginClass;
typedef struct _DuplicityPluginPrivate DuplicityPluginPrivate;

#define DEJA_DUP_TYPE_RESTIC_LOGGER (deja_dup_restic_logger_get_type ())
#define DEJA_DUP_RESTIC_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DEJA_DUP_TYPE_RESTIC_LOGGER, DejaDupResticLogger))
#define DEJA_DUP_RESTIC_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DEJA_DUP_TYPE_RESTIC_LOGGER, DejaDupResticLoggerClass))
#define DEJA_DUP_IS_RESTIC_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DEJA_DUP_TYPE_RESTIC_LOGGER))
#define DEJA_DUP_IS_RESTIC_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DEJA_DUP_TYPE_RESTIC_LOGGER))
#define DEJA_DUP_RESTIC_LOGGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DEJA_DUP_TYPE_RESTIC_LOGGER, DejaDupResticLoggerClass))

typedef struct _DejaDupResticLogger DejaDupResticLogger;
typedef struct _DejaDupResticLoggerClass DejaDupResticLoggerClass;
typedef struct _DejaDupResticLoggerPrivate DejaDupResticLoggerPrivate;

#define TYPE_RESTIC_PLUGIN (restic_plugin_get_type ())
#define RESTIC_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RESTIC_PLUGIN, ResticPlugin))
#define RESTIC_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RESTIC_PLUGIN, ResticPluginClass))
#define IS_RESTIC_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RESTIC_PLUGIN))
#define IS_RESTIC_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RESTIC_PLUGIN))
#define RESTIC_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RESTIC_PLUGIN, ResticPluginClass))

typedef struct _ResticPlugin ResticPlugin;
typedef struct _ResticPluginClass ResticPluginClass;
typedef struct _ResticPluginPrivate ResticPluginPrivate;

struct _DejaDupBackend {
	GObject parent_instance;
	DejaDupBackendPrivate * priv;
};

struct _DejaDupBackendClass {
	GObjectClass parent_class;
	void (*provide_backend_password) (DejaDupBackend* self, const gchar* password, gboolean save, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*provide_backend_password_finish) (DejaDupBackend* self, GAsyncResult* _res_);
	gboolean (*is_native) (DejaDupBackend* self);
	GIcon* (*get_icon) (DejaDupBackend* self);
	gchar* (*get_location_pretty) (DejaDupBackend* self);
	gchar* (*get_unique_location) (DejaDupBackend* self);
	gchar** (*get_dependencies) (DejaDupBackend* self, gint* result_length1);
	gboolean (*needs_dependencies) (DejaDupBackend* self);
	void (*is_ready) (DejaDupBackend* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*is_ready_finish) (DejaDupBackend* self, GAsyncResult* _res_, gchar** reason, gchar** message);
	gboolean (*is_acceptable) (DejaDupBackend* self, gchar** reason);
	void (*prepare) (DejaDupBackend* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*prepare_finish) (DejaDupBackend* self, GAsyncResult* _res_, GError** error);
	void (*cleanup) (DejaDupBackend* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*cleanup_finish) (DejaDupBackend* self, GAsyncResult* _res_);
	void (*peek_at_files) (DejaDupBackend* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GList* (*peek_at_files_finish) (DejaDupBackend* self, GAsyncResult* _res_);
	void (*get_space) (DejaDupBackend* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*get_space_finish) (DejaDupBackend* self, GAsyncResult* _res_, guint64* free, guint64* total);
	void (*add_excludes) (DejaDupBackend* self, GList** excludes);
};

struct _DejaDupBackendAuto {
	DejaDupBackend parent_instance;
	DejaDupBackendAutoPrivate * priv;
};

struct _DejaDupBackendAutoClass {
	DejaDupBackendClass parent_class;
};

struct _DejaDupBackendFile {
	DejaDupBackend parent_instance;
	DejaDupBackendFilePrivate * priv;
};

struct _DejaDupBackendFileClass {
	DejaDupBackendClass parent_class;
	GFile* (*get_root_from_settings) (DejaDupBackendFile* self);
	GFile* (*get_file_from_settings) (DejaDupBackendFile* self);
	void (*mount) (DejaDupBackendFile* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*mount_finish) (DejaDupBackendFile* self, GAsyncResult* _res_, GError** error);
	void (*unmount) (DejaDupBackendFile* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*unmount_finish) (DejaDupBackendFile* self, GAsyncResult* _res_);
};

struct _DejaDupBackendDrive {
	DejaDupBackendFile parent_instance;
	DejaDupBackendDrivePrivate * priv;
};

struct _DejaDupBackendDriveClass {
	DejaDupBackendFileClass parent_class;
};

struct _DejaDupBackendOAuth {
	DejaDupBackend parent_instance;
	DejaDupBackendOAuthPrivate * priv;
	gchar* brand_name;
	gchar* client_id;
	gchar* auth_url;
	gchar* token_url;
	gchar* scope;
};

struct _DejaDupBackendOAuthClass {
	DejaDupBackendClass parent_class;
	gchar* (*get_redirect_uri) (DejaDupBackendOAuth* self);
	void (*got_credentials) (DejaDupBackendOAuth* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*got_credentials_finish) (DejaDupBackendOAuth* self, GAsyncResult* _res_, GError** error);
};

struct _DejaDupBackendGoogle {
	DejaDupBackendOAuth parent_instance;
	DejaDupBackendGooglePrivate * priv;
};

struct _DejaDupBackendGoogleClass {
	DejaDupBackendOAuthClass parent_class;
};

struct _DejaDupBackendLocal {
	DejaDupBackendFile parent_instance;
	DejaDupBackendLocalPrivate * priv;
};

struct _DejaDupBackendLocalClass {
	DejaDupBackendFileClass parent_class;
};

struct _DejaDupBackendMicrosoft {
	DejaDupBackendOAuth parent_instance;
	DejaDupBackendMicrosoftPrivate * priv;
};

struct _DejaDupBackendMicrosoftClass {
	DejaDupBackendOAuthClass parent_class;
};

struct _DejaDupBackendRclone {
	DejaDupBackend parent_instance;
	DejaDupBackendRclonePrivate * priv;
};

struct _DejaDupBackendRcloneClass {
	DejaDupBackendClass parent_class;
};

struct _DejaDupBackendRemote {
	DejaDupBackendFile parent_instance;
	DejaDupBackendRemotePrivate * priv;
};

struct _DejaDupBackendRemoteClass {
	DejaDupBackendFileClass parent_class;
	gchar* (*get_folder) (DejaDupBackendRemote* self);
};

struct _DejaDupBackendUnsupported {
	DejaDupBackend parent_instance;
	DejaDupBackendUnsupportedPrivate * priv;
};

struct _DejaDupBackendUnsupportedClass {
	DejaDupBackendClass parent_class;
};

struct _DejaDupBackendWatcher {
	GObject parent_instance;
	DejaDupBackendWatcherPrivate * priv;
};

struct _DejaDupBackendWatcherClass {
	GObjectClass parent_class;
};

typedef enum  {
	DEJA_DUP_BACKUP_ERROR_BAD_CONFIG,
	DEJA_DUP_BACKUP_ERROR_ALREADY_RUNNING
} DejaDupBackupError;
#define DEJA_DUP_BACKUP_ERROR deja_dup_backup_error_quark ()

struct _DejaDupFileTree {
	GObject parent_instance;
	DejaDupFileTreePrivate * priv;
};

struct _DejaDupFileTreeClass {
	GObjectClass parent_class;
};

struct _DejaDupFileTreeNode {
	GObject parent_instance;
	DejaDupFileTreeNodePrivate * priv;
	gchar** search_tokens;
	gint search_tokens_length1;
};

struct _DejaDupFileTreeNodeClass {
	GObjectClass parent_class;
};

struct _DejaDupFilteredSettings {
	GSettings parent_instance;
	DejaDupFilteredSettingsPrivate * priv;
};

struct _DejaDupFilteredSettingsClass {
	GSettingsClass parent_class;
};

struct _DejaDupInstallEnv {
	GObject parent_instance;
	DejaDupInstallEnvPrivate * priv;
};

struct _DejaDupInstallEnvClass {
	GObjectClass parent_class;
	gchar* (*get_name) (DejaDupInstallEnv* self);
	void (*request_autostart) (DejaDupInstallEnv* self, const gchar* handle, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*request_autostart_finish) (DejaDupInstallEnv* self, GAsyncResult* _res_, gchar** mitigation);
	gboolean (*has_custom_config_home) (DejaDupInstallEnv* self);
	gchar** (*get_system_tempdirs) (DejaDupInstallEnv* self, gint* result_length1);
	gchar* (*get_trash_dir) (DejaDupInstallEnv* self);
	gchar* (*get_read_root) (DejaDupInstallEnv* self);
	void (*register_monitor_restart) (DejaDupInstallEnv* self, GMainLoop* loop);
	gboolean (*is_file_available) (DejaDupInstallEnv* self, GFile* file);
	gchar* (*get_debug_info) (DejaDupInstallEnv* self);
};

struct _DejaDupLogObscurer {
	GObject parent_instance;
	DejaDupLogObscurerPrivate * priv;
};

struct _DejaDupLogObscurerClass {
	GObjectClass parent_class;
};

typedef enum  {
	DEJA_DUP_MOUNT_ERROR_NO_FUSERMOUNT
} DejaDupMountError;
#define DEJA_DUP_MOUNT_ERROR deja_dup_mount_error_quark ()

struct _DejaDupMountManager {
	GObject parent_instance;
	DejaDupMountManagerPrivate * priv;
};

struct _DejaDupMountManagerClass {
	GObjectClass parent_class;
};

struct _DejaDupNetwork {
	GObject parent_instance;
	DejaDupNetworkPrivate * priv;
};

struct _DejaDupNetworkClass {
	GObjectClass parent_class;
};

struct _DejaDupOperation {
	GObject parent_instance;
	DejaDupOperationPrivate * priv;
	DejaDupToolPlugin* tool;
	DejaDupToolJob* job;
	gchar* passphrase;
	DejaDupOperation* chained_op;
};

struct _DejaDupOperationClass {
	GObjectClass parent_class;
	DejaDupOperationState* (*get_state) (DejaDupOperation* self);
	void (*set_state) (DejaDupOperation* self, DejaDupOperationState* state);
	void (*start) (DejaDupOperation* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*start_finish) (DejaDupOperation* self, GAsyncResult* _res_);
	gboolean (*stop_if_dormant) (DejaDupOperation* self);
	void (*stop) (DejaDupOperation* self);
	void (*resume) (DejaDupOperation* self);
	void (*prepare) (DejaDupOperation* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*prepare_finish) (DejaDupOperation* self, GAsyncResult* _res_);
	void (*connect_to_backend) (DejaDupOperation* self);
	void (*connect_to_job) (DejaDupOperation* self, gboolean actions);
	void (*set_passphrase) (DejaDupOperation* self, const gchar* passphrase, gboolean save, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*set_passphrase_finish) (DejaDupOperation* self, GAsyncResult* _res_);
	void (*set_backend_password) (DejaDupOperation* self, const gchar* password, gboolean save, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*set_backend_password_finish) (DejaDupOperation* self, GAsyncResult* _res_);
	void (*set_mount_op) (DejaDupOperation* self, GMountOperation* mount_op);
	gboolean (*set_oauth_token) (DejaDupOperation* self, const gchar* uri);
	gchar* (*get_success_detail) (DejaDupOperation* self);
	void (*operation_finished) (DejaDupOperation* self, gboolean success, gboolean cancelled, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*operation_finished_finish) (DejaDupOperation* self, GAsyncResult* _res_);
	GList* (*make_argv) (DejaDupOperation* self);
};

struct _DejaDupOperationState {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DejaDupOperationStatePrivate * priv;
	DejaDupBackend* backend;
	DejaDupToolPlugin* tool;
	gchar* passphrase;
};

struct _DejaDupOperationStateClass {
	GTypeClass parent_class;
	void (*finalize) (DejaDupOperationState *self);
};

struct _DejaDupOperationBackup {
	DejaDupOperation parent_instance;
	DejaDupOperationBackupPrivate * priv;
};

struct _DejaDupOperationBackupClass {
	DejaDupOperationClass parent_class;
};

struct _DejaDupOperationFiles {
	DejaDupOperation parent_instance;
	DejaDupOperationFilesPrivate * priv;
};

struct _DejaDupOperationFilesClass {
	DejaDupOperationClass parent_class;
};

struct _DejaDupOperationMount {
	DejaDupOperation parent_instance;
	DejaDupOperationMountPrivate * priv;
};

struct _DejaDupOperationMountClass {
	DejaDupOperationClass parent_class;
};

struct _DejaDupOperationRestore {
	DejaDupOperation parent_instance;
	DejaDupOperationRestorePrivate * priv;
};

struct _DejaDupOperationRestoreClass {
	DejaDupOperationClass parent_class;
};

struct _DejaDupOperationStatus {
	DejaDupOperation parent_instance;
	DejaDupOperationStatusPrivate * priv;
};

struct _DejaDupOperationStatusClass {
	DejaDupOperationClass parent_class;
};

struct _DejaDupOperationVerify {
	DejaDupOperation parent_instance;
	DejaDupOperationVerifyPrivate * priv;
};

struct _DejaDupOperationVerifyClass {
	DejaDupOperationClass parent_class;
};

struct _DejaDupOperationWatcher {
	DejaDupOperation parent_instance;
	DejaDupOperationWatcherPrivate * priv;
};

struct _DejaDupOperationWatcherClass {
	DejaDupOperationClass parent_class;
};

struct _DejaDupRecursiveOp {
	GObject parent_instance;
	DejaDupRecursiveOpPrivate * priv;
	GFileType src_type;
	GFileType dst_type;
};

struct _DejaDupRecursiveOpClass {
	GObjectClass parent_class;
	void (*handle_file) (DejaDupRecursiveOp* self);
	void (*handle_dir) (DejaDupRecursiveOp* self);
	void (*finish_dir) (DejaDupRecursiveOp* self);
	DejaDupRecursiveOp* (*clone_for_info) (DejaDupRecursiveOp* self, GFileInfo* info);
	GFileType (*query_file_type) (DejaDupRecursiveOp* self, GFile* file);
};

struct _DejaDupRecursiveDelete {
	DejaDupRecursiveOp parent_instance;
	DejaDupRecursiveDeletePrivate * priv;
};

struct _DejaDupRecursiveDeleteClass {
	DejaDupRecursiveOpClass parent_class;
};

struct _DejaDupSnapshotInfo {
	GObject parent_instance;
	DejaDupSnapshotInfoPrivate * priv;
	GDateTime* time;
	gchar* tag;
	gchar* external_description;
};

struct _DejaDupSnapshotInfoClass {
	GObjectClass parent_class;
};

struct _DejaDupToolJob {
	GObject parent_instance;
	DejaDupToolJobPrivate * priv;
	GList* includes;
	GList* excludes;
	GList* exclude_regexps;
	GList* _restore_files;
};

struct _DejaDupToolJobClass {
	GObjectClass parent_class;
	void (*start) (DejaDupToolJob* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*start_finish) (DejaDupToolJob* self, GAsyncResult* _res_);
	void (*stop) (DejaDupToolJob* self);
	void (*pause) (DejaDupToolJob* self, const gchar* reason);
	void (*resume) (DejaDupToolJob* self);
};

struct _DejaDupToolPlugin {
	GObject parent_instance;
	DejaDupToolPluginPrivate * priv;
};

struct _DejaDupToolPluginClass {
	GObjectClass parent_class;
	gchar* (*get_version) (DejaDupToolPlugin* self, GError** error);
	gchar** (*get_dependencies) (DejaDupToolPlugin* self, gint* result_length1);
	gboolean (*needs_dependencies) (DejaDupToolPlugin* self);
	DejaDupToolJob* (*create_job) (DejaDupToolPlugin* self, GError** error);
	gboolean (*supports_backend) (DejaDupToolPlugin* self, DejaDupBackendKind kind, gchar** explanation);
	gboolean (*supports_mount) (DejaDupToolPlugin* self);
};

struct _BorgPlugin {
	DejaDupToolPlugin parent_instance;
	BorgPluginPrivate * priv;
};

struct _BorgPluginClass {
	DejaDupToolPluginClass parent_class;
};

struct _DejaDupDuplicityLogger {
	GObject parent_instance;
	DejaDupDuplicityLoggerPrivate * priv;
};

struct _DejaDupDuplicityLoggerClass {
	GObjectClass parent_class;
};

struct _DuplicityPlugin {
	DejaDupToolPlugin parent_instance;
	DuplicityPluginPrivate * priv;
};

struct _DuplicityPluginClass {
	DejaDupToolPluginClass parent_class;
};

struct _DejaDupResticLogger {
	GObject parent_instance;
	DejaDupResticLoggerPrivate * priv;
};

struct _DejaDupResticLoggerClass {
	GObjectClass parent_class;
};

struct _ResticPlugin {
	DejaDupToolPlugin parent_instance;
	ResticPluginPrivate * priv;
};

struct _ResticPluginClass {
	DejaDupToolPluginClass parent_class;
};

VALA_EXTERN GType deja_dup_backend_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupBackend, g_object_unref)
VALA_EXTERN GType deja_dup_backend_kind_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void deja_dup_backend_provide_backend_password (DejaDupBackend* self,
                                                const gchar* password,
                                                gboolean save,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN void deja_dup_backend_provide_backend_password_finish (DejaDupBackend* self,
                                                       GAsyncResult* _res_);
VALA_EXTERN gboolean deja_dup_backend_is_native (DejaDupBackend* self);
VALA_EXTERN GIcon* deja_dup_backend_get_icon (DejaDupBackend* self);
VALA_EXTERN GIcon* deja_dup_backend_get_icon_safe (DejaDupBackend* self);
VALA_EXTERN gchar* deja_dup_backend_get_location_pretty (DejaDupBackend* self);
VALA_EXTERN gchar* deja_dup_backend_get_unique_id (DejaDupBackend* self);
VALA_EXTERN gchar* deja_dup_backend_get_unique_location (DejaDupBackend* self);
VALA_EXTERN gchar** deja_dup_backend_get_dependencies (DejaDupBackend* self,
                                           gint* result_length1);
VALA_EXTERN gboolean deja_dup_backend_needs_dependencies (DejaDupBackend* self);
VALA_EXTERN void deja_dup_backend_is_ready (DejaDupBackend* self,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);
VALA_EXTERN gboolean deja_dup_backend_is_ready_finish (DejaDupBackend* self,
                                           GAsyncResult* _res_,
                                           gchar** reason,
                                           gchar** message);
VALA_EXTERN gboolean deja_dup_backend_is_acceptable (DejaDupBackend* self,
                                         gchar** reason);
VALA_EXTERN void deja_dup_backend_prepare (DejaDupBackend* self,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_);
VALA_EXTERN void deja_dup_backend_prepare_finish (DejaDupBackend* self,
                                      GAsyncResult* _res_,
                                      GError** error);
VALA_EXTERN void deja_dup_backend_cleanup (DejaDupBackend* self,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_);
VALA_EXTERN void deja_dup_backend_cleanup_finish (DejaDupBackend* self,
                                      GAsyncResult* _res_);
VALA_EXTERN void deja_dup_backend_peek_at_files (DejaDupBackend* self,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_);
VALA_EXTERN GList* deja_dup_backend_peek_at_files_finish (DejaDupBackend* self,
                                              GAsyncResult* _res_);
VALA_EXTERN void deja_dup_backend_get_space (DejaDupBackend* self,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
VALA_EXTERN void deja_dup_backend_get_space_finish (DejaDupBackend* self,
                                        GAsyncResult* _res_,
                                        guint64* free,
                                        guint64* total);
VALA_EXTERN void deja_dup_backend_add_excludes (DejaDupBackend* self,
                                    GList** excludes);
VALA_EXTERN DejaDupBackend* deja_dup_backend_get_for_key (const gchar* key,
                                              GSettings* settings);
VALA_EXTERN gchar* deja_dup_backend_get_key_name (GSettings* settings);
VALA_EXTERN DejaDupBackend* deja_dup_backend_get_default (void);
VALA_EXTERN gchar* deja_dup_backend_get_default_key (void);
VALA_EXTERN DejaDupBackend* deja_dup_backend_construct (GType object_type);
VALA_EXTERN DejaDupBackendKind deja_dup_backend_get_kind (DejaDupBackend* self);
VALA_EXTERN GSettings* deja_dup_backend_get_settings (DejaDupBackend* self);
VALA_EXTERN gboolean deja_dup_backend_get_needs_backend_password (DejaDupBackend* self);
VALA_EXTERN void deja_dup_backend_set_needs_backend_password (DejaDupBackend* self,
                                                  gboolean value);
VALA_EXTERN GMountOperation* deja_dup_backend_get_mount_op (DejaDupBackend* self);
VALA_EXTERN void deja_dup_backend_set_mount_op (DejaDupBackend* self,
                                    GMountOperation* value);
VALA_EXTERN GType deja_dup_backend_auto_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupBackendAuto, g_object_unref)
VALA_EXTERN DejaDupBackendAuto* deja_dup_backend_auto_new (void);
VALA_EXTERN DejaDupBackendAuto* deja_dup_backend_auto_construct (GType object_type);
VALA_EXTERN GType deja_dup_backend_file_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupBackendFile, g_object_unref)
VALA_EXTERN GType deja_dup_backend_drive_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupBackendDrive, g_object_unref)
VALA_EXTERN DejaDupBackendDrive* deja_dup_backend_drive_new (GSettings* settings);
VALA_EXTERN DejaDupBackendDrive* deja_dup_backend_drive_construct (GType object_type,
                                                       GSettings* settings);
VALA_EXTERN gchar* deja_dup_backend_drive_get_uuid (GVolume* v);
VALA_EXTERN GVolume* deja_dup_backend_drive_find_volume (const gchar* uuid);
VALA_EXTERN gboolean deja_dup_backend_drive_is_allowed_volume (GVolume* vol);
VALA_EXTERN gboolean deja_dup_backend_drive_set_volume_info_from_file (GFile* file,
                                                           GSettings* settings);
VALA_EXTERN void deja_dup_backend_drive_update_volume_info (GVolume* volume,
                                                GSettings* settings);
VALA_EXTERN gchar* deja_dup_backend_file_test_space_free;
VALA_EXTERN GFile* deja_dup_backend_file_get_root_from_settings (DejaDupBackendFile* self);
VALA_EXTERN void deja_dup_backend_file_mount (DejaDupBackendFile* self,
                                  GAsyncReadyCallback _callback_,
                                  gpointer _user_data_);
VALA_EXTERN gboolean deja_dup_backend_file_mount_finish (DejaDupBackendFile* self,
                                             GAsyncResult* _res_,
                                             GError** error);
VALA_EXTERN void deja_dup_backend_file_unmount (DejaDupBackendFile* self,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
VALA_EXTERN void deja_dup_backend_file_unmount_finish (DejaDupBackendFile* self,
                                           GAsyncResult* _res_);
VALA_EXTERN gchar* deja_dup_backend_file_escape_uri_chars (const gchar* path);
VALA_EXTERN gchar* deja_dup_backend_file_get_path_as_url (DejaDupBackendFile* self);
VALA_EXTERN gchar* deja_dup_backend_file_replace_path_with_uri (DejaDupBackendFile* self,
                                                    const gchar* message);
VALA_EXTERN DejaDupBackendFile* deja_dup_backend_file_construct (GType object_type);
VALA_EXTERN gboolean deja_dup_backend_file_get_unmount_when_done (DejaDupBackendFile* self);
VALA_EXTERN void deja_dup_backend_file_set_unmount_when_done (DejaDupBackendFile* self,
                                                  gboolean value);
VALA_EXTERN GType deja_dup_backend_oauth_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupBackendOAuth, g_object_unref)
VALA_EXTERN GType deja_dup_backend_google_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupBackendGoogle, g_object_unref)
VALA_EXTERN DejaDupBackendGoogle* deja_dup_backend_google_new (GSettings* settings);
VALA_EXTERN DejaDupBackendGoogle* deja_dup_backend_google_construct (GType object_type,
                                                         GSettings* settings);
VALA_EXTERN gchar* deja_dup_backend_google_get_folder (DejaDupBackendGoogle* self);
VALA_EXTERN gchar* deja_dup_backend_google_fill_envp (DejaDupBackendGoogle* self,
                                          GList** envp);
VALA_EXTERN GType deja_dup_backend_local_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupBackendLocal, g_object_unref)
VALA_EXTERN DejaDupBackendLocal* deja_dup_backend_local_new (GSettings* settings);
VALA_EXTERN DejaDupBackendLocal* deja_dup_backend_local_construct (GType object_type,
                                                       GSettings* settings);
VALA_EXTERN GFile* deja_dup_backend_local_get_file_for_path (const gchar* path);
VALA_EXTERN gchar* deja_dup_backend_local_get_path_from_file (GFile* file);
VALA_EXTERN GType deja_dup_backend_microsoft_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupBackendMicrosoft, g_object_unref)
VALA_EXTERN DejaDupBackendMicrosoft* deja_dup_backend_microsoft_new (GSettings* settings);
VALA_EXTERN DejaDupBackendMicrosoft* deja_dup_backend_microsoft_construct (GType object_type,
                                                               GSettings* settings);
VALA_EXTERN gchar* deja_dup_backend_microsoft_fill_envp (DejaDupBackendMicrosoft* self,
                                             GList** envp);
VALA_EXTERN const gchar* deja_dup_backend_microsoft_get_drive_id (DejaDupBackendMicrosoft* self);
VALA_EXTERN gchar* deja_dup_backend_oauth_get_redirect_uri (DejaDupBackendOAuth* self);
VALA_EXTERN gboolean deja_dup_backend_oauth_continue_authorization (DejaDupBackendOAuth* self,
                                                        const gchar* command_line_redirect_uri);
VALA_EXTERN void deja_dup_backend_oauth_lookup_refresh_token (DejaDupBackendOAuth* self,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
VALA_EXTERN gchar* deja_dup_backend_oauth_lookup_refresh_token_finish (DejaDupBackendOAuth* self,
                                                           GAsyncResult* _res_);
VALA_EXTERN void deja_dup_backend_oauth_clear_refresh_token (DejaDupBackendOAuth* self,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN void deja_dup_backend_oauth_clear_refresh_token_finish (DejaDupBackendOAuth* self,
                                                        GAsyncResult* _res_);
VALA_EXTERN void deja_dup_backend_oauth_got_credentials (DejaDupBackendOAuth* self,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN void deja_dup_backend_oauth_got_credentials_finish (DejaDupBackendOAuth* self,
                                                    GAsyncResult* _res_,
                                                    GError** error);
VALA_EXTERN void deja_dup_backend_oauth_stop_login (DejaDupBackendOAuth* self,
                                        const gchar* reason,
                                        GError** error);
VALA_EXTERN DejaDupBackendOAuth* deja_dup_backend_oauth_construct (GType object_type);
VALA_EXTERN const gchar* deja_dup_backend_oauth_get_full_token (DejaDupBackendOAuth* self);
VALA_EXTERN const gchar* deja_dup_backend_oauth_get_access_token (DejaDupBackendOAuth* self);
VALA_EXTERN const gchar* deja_dup_backend_oauth_get_refresh_token (DejaDupBackendOAuth* self);
VALA_EXTERN GType deja_dup_backend_rclone_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupBackendRclone, g_object_unref)
VALA_EXTERN DejaDupBackendRclone* deja_dup_backend_rclone_new (GSettings* settings);
VALA_EXTERN DejaDupBackendRclone* deja_dup_backend_rclone_construct (GType object_type,
                                                         GSettings* settings);
VALA_EXTERN void deja_dup_backend_rclone_lookup_config_password (DejaDupBackendRclone* self,
                                                     GAsyncReadyCallback _callback_,
                                                     gpointer _user_data_);
VALA_EXTERN gchar* deja_dup_backend_rclone_lookup_config_password_finish (DejaDupBackendRclone* self,
                                                              GAsyncResult* _res_);
VALA_EXTERN void deja_dup_backend_rclone_clear_config_password (DejaDupBackendRclone* self,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN void deja_dup_backend_rclone_clear_config_password_finish (DejaDupBackendRclone* self,
                                                           GAsyncResult* _res_);
VALA_EXTERN gchar* deja_dup_backend_rclone_fill_envp (DejaDupBackendRclone* self,
                                          GList** envp);
VALA_EXTERN GType deja_dup_backend_remote_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupBackendRemote, g_object_unref)
VALA_EXTERN DejaDupBackendRemote* deja_dup_backend_remote_new (GSettings* settings);
VALA_EXTERN DejaDupBackendRemote* deja_dup_backend_remote_construct (GType object_type,
                                                         GSettings* settings);
VALA_EXTERN gchar* deja_dup_backend_remote_get_folder (DejaDupBackendRemote* self);
VALA_EXTERN void deja_dup_backend_remote_check_fuse (DejaDupBackendRemote* self,
                                         GFile* root,
                                         GError** error);
VALA_EXTERN GType deja_dup_backend_unsupported_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupBackendUnsupported, g_object_unref)
VALA_EXTERN DejaDupBackendUnsupported* deja_dup_backend_unsupported_new (const gchar* key);
VALA_EXTERN DejaDupBackendUnsupported* deja_dup_backend_unsupported_construct (GType object_type,
                                                                   const gchar* key);
VALA_EXTERN const gchar* deja_dup_backend_unsupported_get_key (DejaDupBackendUnsupported* self);
VALA_EXTERN GType deja_dup_backend_watcher_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupBackendWatcher, g_object_unref)
VALA_EXTERN DejaDupBackendWatcher* deja_dup_backend_watcher_get_instance (void);
VALA_EXTERN GQuark deja_dup_backup_error_quark (void);
VALA_EXTERN GType deja_dup_backup_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gboolean deja_dup_in_unit_testing_mode (void);
VALA_EXTERN gboolean deja_dup_in_testing_mode (void);
VALA_EXTERN gboolean deja_dup_in_demo_mode (void);
VALA_EXTERN GDateTime* deja_dup_now (void);
VALA_EXTERN gchar* deja_dup_current_time_as_iso8601 (void);
VALA_EXTERN void deja_dup_update_last_run_timestamp (const gchar* key);
guint64 g_ascii_strtoull (const gchar* nptr,
                          gchar** endptr,
                          guint _base);
VALA_EXTERN gboolean deja_dup_parse_version (const gchar* version_string,
                                 gint* major,
                                 gint* minor,
                                 gint* micro);
VALA_EXTERN gboolean deja_dup_equals_version (gint major,
                                  gint minor,
                                  gint micro,
                                  gint req_major,
                                  gint req_minor,
                                  gint req_micro);
VALA_EXTERN gboolean deja_dup_meets_version (gint major,
                                 gint minor,
                                 gint micro,
                                 gint req_major,
                                 gint req_minor,
                                 gint req_micro);
VALA_EXTERN gchar** deja_dup_nice_prefix (gchar** command,
                              gint command_length1,
                              gint* result_length1);
VALA_EXTERN void deja_dup_run_command (gchar** args,
                           gint args_length1);
VALA_EXTERN gchar* deja_dup_get_monitor_exec (void);
VALA_EXTERN gchar* deja_dup_get_application_path (void);
VALA_EXTERN GDateTime* deja_dup_fuzz_to_midnight (GDateTime* original);
VALA_EXTERN GTimeSpan deja_dup_get_day (void);
VALA_EXTERN GDateTime* deja_dup_next_possible_run_date (void);
VALA_EXTERN GDateTime* deja_dup_next_run_date (void);
VALA_EXTERN GTimeSpan deja_dup_get_late_timespan (void);
VALA_EXTERN gint deja_dup_get_prompt_delay (void);
VALA_EXTERN gboolean deja_dup_make_prompt_check (void);
VALA_EXTERN void deja_dup_update_prompt_time (gboolean cancel);
VALA_EXTERN void deja_dup_update_nag_time (gboolean cancel);
VALA_EXTERN gint deja_dup_get_nag_delay (void);
VALA_EXTERN gboolean deja_dup_is_nag_time (void);
VALA_EXTERN gchar* deja_dup_process_folder_key (const gchar* folder,
                                    gboolean abs_allowed,
                                    gboolean* replaced);
VALA_EXTERN gchar* deja_dup_get_folder_key (GSettings* settings,
                                const gchar* key,
                                gboolean abs_allowed);
VALA_EXTERN GType deja_dup_filtered_settings_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupFilteredSettings, g_object_unref)
VALA_EXTERN DejaDupFilteredSettings* deja_dup_get_settings (const gchar* subdir);
VALA_EXTERN void deja_dup_initialize (void);
VALA_EXTERN void deja_dup_i18n_setup (void);
VALA_EXTERN gchar* deja_dup_get_file_desc (GFile* file);
VALA_EXTERN gchar* deja_dup_get_display_name (GFile* f);
VALA_EXTERN void deja_dup_get_nickname (GFile* f,
                            GAsyncReadyCallback _callback_,
                            gpointer _user_data_);
VALA_EXTERN gchar* deja_dup_get_nickname_finish (GAsyncResult* _res_);
VALA_EXTERN gint deja_dup_get_full_backup_threshold (void);
VALA_EXTERN GDateTime* deja_dup_get_full_backup_threshold_date (void);
VALA_EXTERN SecretSchema* deja_dup_get_passphrase_schema (void);
VALA_EXTERN gchar* deja_dup_process_passphrase (const gchar* input);
VALA_EXTERN void deja_dup_store_passphrase (const gchar* passphrase,
                                gboolean remember,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);
VALA_EXTERN void deja_dup_store_passphrase_finish (GAsyncResult* _res_);
VALA_EXTERN void deja_dup_lookup_passphrase (GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
VALA_EXTERN gchar* deja_dup_lookup_passphrase_finish (GAsyncResult* _res_,
                                          gboolean* success);
VALA_EXTERN gboolean deja_dup_ensure_directory_exists (const gchar* path);
VALA_EXTERN void deja_dup_get_tempdir (GAsyncReadyCallback _callback_,
                           gpointer _user_data_);
VALA_EXTERN gchar* deja_dup_get_tempdir_finish (GAsyncResult* _res_);
VALA_EXTERN gchar** deja_dup_get_tempdirs (gint* result_length1);
VALA_EXTERN void deja_dup_clean_tempdirs (gboolean all,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_);
VALA_EXTERN void deja_dup_clean_tempdirs_finish (GAsyncResult* _res_);
VALA_EXTERN gchar* deja_dup_try_realpath (const gchar* input);
VALA_EXTERN gchar** deja_dup_copy_env (GList* overrides,
                           gint* result_length1);
VALA_EXTERN GVolumeMonitor* deja_dup_get_volume_monitor (void);
VALA_EXTERN void deja_dup_is_secret_service_available (GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
VALA_EXTERN gboolean deja_dup_is_secret_service_available_finish (GAsyncResult* _res_);
VALA_EXTERN gchar* deja_dup_parse_keywords (const gchar* dir);
VALA_EXTERN GFile* deja_dup_remove_read_root (GFile* folder);
VALA_EXTERN GFile* deja_dup_parse_dir (const gchar* dir);
VALA_EXTERN GFile** deja_dup_parse_dir_list (const gchar** dirs,
                                 gint dirs_length1,
                                 gint* result_length1);
VALA_EXTERN gchar* deja_dup_resolve_user_dir (const gchar* user_path);
VALA_EXTERN GType deja_dup_file_tree_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupFileTree, g_object_unref)
VALA_EXTERN gchar* deja_dup_file_tree_original_path (DejaDupFileTree* self,
                                         const gchar* path);
VALA_EXTERN GType deja_dup_file_tree_node_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupFileTreeNode, g_object_unref)
VALA_EXTERN GFile* deja_dup_file_tree_node_to_file (DejaDupFileTree* self,
                                        DejaDupFileTreeNode* node);
VALA_EXTERN gchar* deja_dup_file_tree_node_to_path (DejaDupFileTree* self,
                                        DejaDupFileTreeNode* node);
VALA_EXTERN DejaDupFileTreeNode* deja_dup_file_tree_file_to_node (DejaDupFileTree* self,
                                                      GFile* file,
                                                      gboolean allow_partial);
VALA_EXTERN DejaDupFileTreeNode* deja_dup_file_tree_add (DejaDupFileTree* self,
                                             const gchar* file,
                                             GFileType kind,
                                             gboolean* created);
VALA_EXTERN void deja_dup_file_tree_finish (DejaDupFileTree* self);
VALA_EXTERN DejaDupFileTree* deja_dup_file_tree_new (void);
VALA_EXTERN DejaDupFileTree* deja_dup_file_tree_construct (GType object_type);
VALA_EXTERN DejaDupFileTreeNode* deja_dup_file_tree_get_root (DejaDupFileTree* self);
VALA_EXTERN const gchar* deja_dup_file_tree_get_skipped_root (DejaDupFileTree* self);
VALA_EXTERN const gchar* deja_dup_file_tree_get_old_home (DejaDupFileTree* self);
VALA_EXTERN DejaDupFileTreeNode* deja_dup_file_tree_node_new (DejaDupFileTreeNode* parent,
                                                  const gchar* filename,
                                                  GFileType kind);
VALA_EXTERN DejaDupFileTreeNode* deja_dup_file_tree_node_construct (GType object_type,
                                                        DejaDupFileTreeNode* parent,
                                                        const gchar* filename,
                                                        GFileType kind);
VALA_EXTERN DejaDupFileTreeNode* deja_dup_file_tree_node_get_parent (DejaDupFileTreeNode* self);
VALA_EXTERN const gchar* deja_dup_file_tree_node_get_filename (DejaDupFileTreeNode* self);
VALA_EXTERN GFileType deja_dup_file_tree_node_get_kind (DejaDupFileTreeNode* self);
VALA_EXTERN GHashTable* deja_dup_file_tree_node_get_children (DejaDupFileTreeNode* self);
VALA_EXTERN DejaDupFilteredSettings* deja_dup_filtered_settings_new (const gchar* schema,
                                                         gboolean ro);
VALA_EXTERN DejaDupFilteredSettings* deja_dup_filtered_settings_construct (GType object_type,
                                                               const gchar* schema,
                                                               gboolean ro);
VALA_EXTERN void deja_dup_filtered_settings_apply (DejaDupFilteredSettings* self);
VALA_EXTERN void deja_dup_filtered_settings_set_string (DejaDupFilteredSettings* self,
                                            const gchar* k,
                                            const gchar* v);
VALA_EXTERN void deja_dup_filtered_settings_set_boolean (DejaDupFilteredSettings* self,
                                             const gchar* k,
                                             gboolean v);
VALA_EXTERN void deja_dup_filtered_settings_set_int (DejaDupFilteredSettings* self,
                                         const gchar* k,
                                         gint v);
VALA_EXTERN void deja_dup_filtered_settings_set_value (DejaDupFilteredSettings* self,
                                           const gchar* k,
                                           GVariant* v);
VALA_EXTERN gchar* deja_dup_filtered_settings_get_uri (DejaDupFilteredSettings* self,
                                           const gchar* k);
VALA_EXTERN GFile** deja_dup_filtered_settings_get_file_list (DejaDupFilteredSettings* self,
                                                  const gchar* k,
                                                  gint* result_length1);
VALA_EXTERN gboolean deja_dup_filtered_settings_get_read_only (DejaDupFilteredSettings* self);
VALA_EXTERN GType deja_dup_install_env_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupInstallEnv, g_object_unref)
VALA_EXTERN DejaDupInstallEnv* deja_dup_install_env_instance (void);
VALA_EXTERN gchar* deja_dup_install_env_get_name (DejaDupInstallEnv* self);
VALA_EXTERN void deja_dup_install_env_request_autostart (DejaDupInstallEnv* self,
                                             const gchar* handle,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN gboolean deja_dup_install_env_request_autostart_finish (DejaDupInstallEnv* self,
                                                        GAsyncResult* _res_,
                                                        gchar** mitigation);
VALA_EXTERN gboolean deja_dup_install_env_has_custom_config_home (DejaDupInstallEnv* self);
VALA_EXTERN gchar** deja_dup_install_env_get_system_tempdirs (DejaDupInstallEnv* self,
                                                  gint* result_length1);
VALA_EXTERN gchar* deja_dup_install_env_get_trash_dir (DejaDupInstallEnv* self);
VALA_EXTERN gchar* deja_dup_install_env_get_read_root (DejaDupInstallEnv* self);
VALA_EXTERN void deja_dup_install_env_register_monitor_restart (DejaDupInstallEnv* self,
                                                    GMainLoop* loop);
VALA_EXTERN gboolean deja_dup_install_env_is_file_available (DejaDupInstallEnv* self,
                                                 GFile* file);
VALA_EXTERN gchar* deja_dup_install_env_get_debug_info (DejaDupInstallEnv* self);
VALA_EXTERN DejaDupInstallEnv* deja_dup_install_env_new (void);
VALA_EXTERN DejaDupInstallEnv* deja_dup_install_env_construct (GType object_type);
VALA_EXTERN GType deja_dup_log_obscurer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupLogObscurer, g_object_unref)
VALA_EXTERN gchar* deja_dup_log_obscurer_replace_path (DejaDupLogObscurer* self,
                                           const gchar* path);
VALA_EXTERN gchar** deja_dup_log_obscurer_replace_paths (DejaDupLogObscurer* self,
                                             gchar** paths,
                                             gint paths_length1,
                                             gint* result_length1);
VALA_EXTERN gchar* deja_dup_log_obscurer_replace_word_if_present (DejaDupLogObscurer* self,
                                                      const gchar* word);
VALA_EXTERN gchar* deja_dup_log_obscurer_replace_uri (DejaDupLogObscurer* self,
                                          const gchar* uri);
VALA_EXTERN gchar* deja_dup_log_obscurer_replace_freeform_text (DejaDupLogObscurer* self,
                                                    const gchar* input);
VALA_EXTERN DejaDupLogObscurer* deja_dup_log_obscurer_new (void);
VALA_EXTERN DejaDupLogObscurer* deja_dup_log_obscurer_construct (GType object_type);
VALA_EXTERN GQuark deja_dup_mount_error_quark (void);
VALA_EXTERN GType deja_dup_mount_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType deja_dup_mount_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupMountManager, g_object_unref)
VALA_EXTERN DejaDupMountManager* deja_dup_mount_manager_get_instance (void);
VALA_EXTERN gboolean deja_dup_mount_manager_has_mounts (DejaDupMountManager* self);
VALA_EXTERN gpointer deja_dup_operation_state_ref (gpointer instance);
VALA_EXTERN void deja_dup_operation_state_unref (gpointer instance);
VALA_EXTERN GParamSpec* deja_dup_operation_param_spec_state (const gchar* name,
                                                 const gchar* nick,
                                                 const gchar* blurb,
                                                 GType object_type,
                                                 GParamFlags flags);
VALA_EXTERN void deja_dup_operation_value_set_state (GValue* value,
                                         gpointer v_object);
VALA_EXTERN void deja_dup_operation_value_take_state (GValue* value,
                                          gpointer v_object);
VALA_EXTERN gpointer deja_dup_operation_value_get_state (const GValue* value);
VALA_EXTERN GType deja_dup_operation_state_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupOperationState, deja_dup_operation_state_unref)
VALA_EXTERN void deja_dup_mount_manager_mount (DejaDupMountManager* self,
                                   DejaDupOperationState* state,
                                   const gchar* tag,
                                   GCancellable* cancellable,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_);
VALA_EXTERN gchar* deja_dup_mount_manager_mount_finish (DejaDupMountManager* self,
                                            GAsyncResult* _res_,
                                            GError** error);
VALA_EXTERN gboolean deja_dup_mount_manager_unmount_all (DejaDupMountManager* self);
VALA_EXTERN gboolean deja_dup_mount_manager_unmount (DejaDupMountManager* self,
                                         const gchar* dir);
VALA_EXTERN DejaDupMountManager* deja_dup_mount_manager_new (void);
VALA_EXTERN DejaDupMountManager* deja_dup_mount_manager_construct (GType object_type);
VALA_EXTERN GType deja_dup_network_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupNetwork, g_object_unref)
VALA_EXTERN DejaDupNetwork* deja_dup_network_get (void);
VALA_EXTERN void deja_dup_network_can_reach (DejaDupNetwork* self,
                                 const gchar* url,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
VALA_EXTERN gboolean deja_dup_network_can_reach_finish (DejaDupNetwork* self,
                                            GAsyncResult* _res_);
VALA_EXTERN DejaDupNetwork* deja_dup_network_new (void);
VALA_EXTERN DejaDupNetwork* deja_dup_network_construct (GType object_type);
VALA_EXTERN gboolean deja_dup_network_get_connected (DejaDupNetwork* self);
VALA_EXTERN gboolean deja_dup_network_get_metered (DejaDupNetwork* self);
VALA_EXTERN GType deja_dup_operation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupOperation, g_object_unref)
VALA_EXTERN GType deja_dup_tool_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupToolPlugin, g_object_unref)
VALA_EXTERN GType deja_dup_tool_job_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupToolJob, g_object_unref)
VALA_EXTERN GType deja_dup_tool_job_mode_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* deja_dup_operation_mode_to_string (DejaDupToolJobMode mode);
VALA_EXTERN DejaDupOperationState* deja_dup_operation_get_state (DejaDupOperation* self);
VALA_EXTERN void deja_dup_operation_set_state (DejaDupOperation* self,
                                   DejaDupOperationState* state);
VALA_EXTERN void deja_dup_operation_start (DejaDupOperation* self,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_);
VALA_EXTERN void deja_dup_operation_start_finish (DejaDupOperation* self,
                                      GAsyncResult* _res_);
VALA_EXTERN gboolean deja_dup_operation_stop_if_dormant (DejaDupOperation* self);
VALA_EXTERN void deja_dup_operation_stop (DejaDupOperation* self);
VALA_EXTERN void deja_dup_operation_resume (DejaDupOperation* self);
VALA_EXTERN void deja_dup_operation_prepare (DejaDupOperation* self,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
VALA_EXTERN gboolean deja_dup_operation_prepare_finish (DejaDupOperation* self,
                                            GAsyncResult* _res_);
VALA_EXTERN void deja_dup_operation_connect_to_backend (DejaDupOperation* self);
VALA_EXTERN void deja_dup_operation_connect_to_job (DejaDupOperation* self,
                                        gboolean actions);
VALA_EXTERN void deja_dup_operation_set_passphrase_fields (DejaDupOperation* self,
                                               const gchar* passphrase);
VALA_EXTERN void deja_dup_operation_set_passphrase (DejaDupOperation* self,
                                        const gchar* passphrase,
                                        gboolean save,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
VALA_EXTERN void deja_dup_operation_set_passphrase_finish (DejaDupOperation* self,
                                               GAsyncResult* _res_);
VALA_EXTERN void deja_dup_operation_set_backend_password (DejaDupOperation* self,
                                              const gchar* password,
                                              gboolean save,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN void deja_dup_operation_set_backend_password_finish (DejaDupOperation* self,
                                                     GAsyncResult* _res_);
VALA_EXTERN void deja_dup_operation_set_mount_op (DejaDupOperation* self,
                                      GMountOperation* mount_op);
VALA_EXTERN gboolean deja_dup_operation_set_oauth_token (DejaDupOperation* self,
                                             const gchar* uri);
VALA_EXTERN gchar* deja_dup_operation_get_success_detail (DejaDupOperation* self);
VALA_EXTERN GList* deja_dup_operation_make_argv (DejaDupOperation* self);
VALA_EXTERN void deja_dup_operation_chain_op (DejaDupOperation* self,
                                  DejaDupOperation* subop,
                                  const gchar* desc,
                                  GAsyncReadyCallback _callback_,
                                  gpointer _user_data_);
VALA_EXTERN void deja_dup_operation_chain_op_finish (DejaDupOperation* self,
                                         GAsyncResult* _res_);
VALA_EXTERN GList* deja_dup_operation_get_local_error_files (DejaDupOperation* self);
VALA_EXTERN DejaDupOperation* deja_dup_operation_construct (GType object_type);
VALA_EXTERN gboolean deja_dup_operation_get_use_cached_password (DejaDupOperation* self);
VALA_EXTERN void deja_dup_operation_set_use_cached_password (DejaDupOperation* self,
                                                 gboolean value);
VALA_EXTERN gboolean deja_dup_operation_get_needs_password (DejaDupOperation* self);
VALA_EXTERN void deja_dup_operation_set_needs_password (DejaDupOperation* self,
                                            gboolean value);
VALA_EXTERN DejaDupBackend* deja_dup_operation_get_backend (DejaDupOperation* self);
VALA_EXTERN void deja_dup_operation_set_backend (DejaDupOperation* self,
                                     DejaDupBackend* value);
VALA_EXTERN gboolean deja_dup_operation_get_use_progress (DejaDupOperation* self);
VALA_EXTERN void deja_dup_operation_set_use_progress (DejaDupOperation* self,
                                          gboolean value);
VALA_EXTERN DejaDupToolJobMode deja_dup_operation_get_mode (DejaDupOperation* self);
VALA_EXTERN void deja_dup_operation_set_mode (DejaDupOperation* self,
                                  DejaDupToolJobMode value);
VALA_EXTERN DejaDupOperationState* deja_dup_operation_state_new (void);
VALA_EXTERN DejaDupOperationState* deja_dup_operation_state_construct (GType object_type);
VALA_EXTERN GType deja_dup_operation_backup_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupOperationBackup, g_object_unref)
VALA_EXTERN DejaDupOperationBackup* deja_dup_operation_backup_new (DejaDupBackend* backend,
                                                       gboolean automatic);
VALA_EXTERN DejaDupOperationBackup* deja_dup_operation_backup_construct (GType object_type,
                                                             DejaDupBackend* backend,
                                                             gboolean automatic);
VALA_EXTERN gboolean deja_dup_operation_backup_get_automatic (DejaDupOperationBackup* self);
VALA_EXTERN GType deja_dup_operation_files_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupOperationFiles, g_object_unref)
VALA_EXTERN DejaDupOperationFiles* deja_dup_operation_files_new (DejaDupBackend* backend,
                                                     const gchar* tag,
                                                     GFile* source);
VALA_EXTERN DejaDupOperationFiles* deja_dup_operation_files_construct (GType object_type,
                                                           DejaDupBackend* backend,
                                                           const gchar* tag,
                                                           GFile* source);
VALA_EXTERN GFile* deja_dup_operation_files_get_source (DejaDupOperationFiles* self);
VALA_EXTERN const gchar* deja_dup_operation_files_get_tag (DejaDupOperationFiles* self);
VALA_EXTERN GType deja_dup_operation_mount_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupOperationMount, g_object_unref)
VALA_EXTERN DejaDupOperationMount* deja_dup_operation_mount_new (DejaDupOperationState* state);
VALA_EXTERN DejaDupOperationMount* deja_dup_operation_mount_construct (GType object_type,
                                                           DejaDupOperationState* state);
VALA_EXTERN GType deja_dup_operation_restore_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupOperationRestore, g_object_unref)
VALA_EXTERN DejaDupOperationRestore* deja_dup_operation_restore_new (DejaDupBackend* backend,
                                                         const gchar* dest_in,
                                                         DejaDupFileTree* tree,
                                                         const gchar* tag,
                                                         GList* files_in);
VALA_EXTERN DejaDupOperationRestore* deja_dup_operation_restore_construct (GType object_type,
                                                               DejaDupBackend* backend,
                                                               const gchar* dest_in,
                                                               DejaDupFileTree* tree,
                                                               const gchar* tag,
                                                               GList* files_in);
VALA_EXTERN const gchar* deja_dup_operation_restore_get_dest (DejaDupOperationRestore* self);
VALA_EXTERN const gchar* deja_dup_operation_restore_get_tag (DejaDupOperationRestore* self);
VALA_EXTERN DejaDupFileTree* deja_dup_operation_restore_get_tree (DejaDupOperationRestore* self);
VALA_EXTERN GList* deja_dup_operation_restore_get_restore_files (DejaDupOperationRestore* self);
VALA_EXTERN GType deja_dup_operation_status_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupOperationStatus, g_object_unref)
VALA_EXTERN DejaDupOperationStatus* deja_dup_operation_status_new (DejaDupBackend* backend);
VALA_EXTERN DejaDupOperationStatus* deja_dup_operation_status_construct (GType object_type,
                                                             DejaDupBackend* backend);
VALA_EXTERN GType deja_dup_operation_verify_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupOperationVerify, g_object_unref)
VALA_EXTERN DejaDupOperationVerify* deja_dup_operation_verify_new (DejaDupBackend* backend,
                                                       const gchar* tag);
VALA_EXTERN DejaDupOperationVerify* deja_dup_operation_verify_construct (GType object_type,
                                                             DejaDupBackend* backend,
                                                             const gchar* tag);
VALA_EXTERN const gchar* deja_dup_operation_verify_get_tag (DejaDupOperationVerify* self);
VALA_EXTERN GType deja_dup_operation_watcher_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupOperationWatcher, g_object_unref)
VALA_EXTERN DejaDupOperationWatcher* deja_dup_operation_watcher_get_instance (void);
VALA_EXTERN void deja_dup_operation_watcher_set_current_op (DejaDupOperationWatcher* self,
                                                DejaDupOperation* op);
VALA_EXTERN gboolean deja_dup_operation_watcher_get_active (DejaDupOperationWatcher* self);
VALA_EXTERN GType deja_dup_recursive_op_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupRecursiveOp, g_object_unref)
VALA_EXTERN GType deja_dup_recursive_delete_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupRecursiveDelete, g_object_unref)
VALA_EXTERN DejaDupRecursiveDelete* deja_dup_recursive_delete_new (GFile* source,
                                                       const gchar* skip,
                                                       GRegex* only,
                                                       gboolean leave_top);
VALA_EXTERN DejaDupRecursiveDelete* deja_dup_recursive_delete_construct (GType object_type,
                                                             GFile* source,
                                                             const gchar* skip,
                                                             GRegex* only,
                                                             gboolean leave_top);
VALA_EXTERN const gchar* deja_dup_recursive_delete_get_skip (DejaDupRecursiveDelete* self);
VALA_EXTERN GRegex* deja_dup_recursive_delete_get_only (DejaDupRecursiveDelete* self);
VALA_EXTERN gboolean deja_dup_recursive_delete_get_leave_top (DejaDupRecursiveDelete* self);
VALA_EXTERN void deja_dup_recursive_op_handle_file (DejaDupRecursiveOp* self);
VALA_EXTERN void deja_dup_recursive_op_handle_dir (DejaDupRecursiveOp* self);
VALA_EXTERN void deja_dup_recursive_op_finish_dir (DejaDupRecursiveOp* self);
VALA_EXTERN DejaDupRecursiveOp* deja_dup_recursive_op_clone_for_info (DejaDupRecursiveOp* self,
                                                          GFileInfo* info);
VALA_EXTERN GFileType deja_dup_recursive_op_query_file_type (DejaDupRecursiveOp* self,
                                                 GFile* file);
VALA_EXTERN void deja_dup_recursive_op_start (DejaDupRecursiveOp* self);
VALA_EXTERN void deja_dup_recursive_op_start_async (DejaDupRecursiveOp* self,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
VALA_EXTERN void deja_dup_recursive_op_start_finish (DejaDupRecursiveOp* self,
                                         GAsyncResult* _res_);
VALA_EXTERN DejaDupRecursiveOp* deja_dup_recursive_op_construct (GType object_type);
VALA_EXTERN GFile* deja_dup_recursive_op_get_src (DejaDupRecursiveOp* self);
VALA_EXTERN GFile* deja_dup_recursive_op_get_dst (DejaDupRecursiveOp* self);
VALA_EXTERN GType deja_dup_snapshot_info_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupSnapshotInfo, g_object_unref)
VALA_EXTERN DejaDupSnapshotInfo* deja_dup_snapshot_info_new (GDateTime* time,
                                                 const gchar* tag);
VALA_EXTERN DejaDupSnapshotInfo* deja_dup_snapshot_info_construct (GType object_type,
                                                       GDateTime* time,
                                                       const gchar* tag);
VALA_EXTERN GType deja_dup_tool_job_flags_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void deja_dup_tool_job_start (DejaDupToolJob* self,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_);
VALA_EXTERN void deja_dup_tool_job_start_finish (DejaDupToolJob* self,
                                     GAsyncResult* _res_);
VALA_EXTERN void deja_dup_tool_job_stop (DejaDupToolJob* self);
VALA_EXTERN void deja_dup_tool_job_pause (DejaDupToolJob* self,
                              const gchar* reason);
VALA_EXTERN void deja_dup_tool_job_resume (DejaDupToolJob* self);
VALA_EXTERN DejaDupToolJob* deja_dup_tool_job_construct (GType object_type);
VALA_EXTERN DejaDupToolJobMode deja_dup_tool_job_get_mode (DejaDupToolJob* self);
VALA_EXTERN void deja_dup_tool_job_set_mode (DejaDupToolJob* self,
                                 DejaDupToolJobMode value);
VALA_EXTERN DejaDupToolJobFlags deja_dup_tool_job_get_flags (DejaDupToolJob* self);
VALA_EXTERN void deja_dup_tool_job_set_flags (DejaDupToolJob* self,
                                  DejaDupToolJobFlags value);
VALA_EXTERN GFile* deja_dup_tool_job_get_local (DejaDupToolJob* self);
VALA_EXTERN void deja_dup_tool_job_set_local (DejaDupToolJob* self,
                                  GFile* value);
VALA_EXTERN DejaDupBackend* deja_dup_tool_job_get_backend (DejaDupToolJob* self);
VALA_EXTERN void deja_dup_tool_job_set_backend (DejaDupToolJob* self,
                                    DejaDupBackend* value);
VALA_EXTERN const gchar* deja_dup_tool_job_get_encrypt_password (DejaDupToolJob* self);
VALA_EXTERN void deja_dup_tool_job_set_encrypt_password (DejaDupToolJob* self,
                                             const gchar* value);
VALA_EXTERN const gchar* deja_dup_tool_job_get_tag (DejaDupToolJob* self);
VALA_EXTERN void deja_dup_tool_job_set_tag (DejaDupToolJob* self,
                                const gchar* value);
VALA_EXTERN GVariant* deja_dup_tool_job_get_question_state (DejaDupToolJob* self);
VALA_EXTERN void deja_dup_tool_job_set_question_state (DejaDupToolJob* self,
                                           GVariant* value);
VALA_EXTERN GList* deja_dup_tool_job_get_restore_files (DejaDupToolJob* self);
VALA_EXTERN void deja_dup_tool_job_set_restore_files (DejaDupToolJob* self,
                                          GList* value);
VALA_EXTERN DejaDupFileTree* deja_dup_tool_job_get_tree (DejaDupToolJob* self);
VALA_EXTERN void deja_dup_tool_job_set_tree (DejaDupToolJob* self,
                                 DejaDupFileTree* value);
VALA_EXTERN gchar* deja_dup_tool_plugin_get_version (DejaDupToolPlugin* self,
                                         GError** error);
VALA_EXTERN gchar** deja_dup_tool_plugin_get_dependencies (DejaDupToolPlugin* self,
                                               gint* result_length1);
VALA_EXTERN gboolean deja_dup_tool_plugin_needs_dependencies (DejaDupToolPlugin* self);
VALA_EXTERN DejaDupToolJob* deja_dup_tool_plugin_create_job (DejaDupToolPlugin* self,
                                                 GError** error);
VALA_EXTERN gboolean deja_dup_tool_plugin_supports_backend (DejaDupToolPlugin* self,
                                                DejaDupBackendKind kind,
                                                gchar** explanation);
VALA_EXTERN gboolean deja_dup_tool_plugin_supports_mount (DejaDupToolPlugin* self);
VALA_EXTERN DejaDupToolPlugin* deja_dup_tool_plugin_construct (GType object_type);
VALA_EXTERN const gchar* deja_dup_tool_plugin_get_name (DejaDupToolPlugin* self);
VALA_EXTERN void deja_dup_tool_plugin_set_name (DejaDupToolPlugin* self,
                                    const gchar* value);
VALA_EXTERN DejaDupToolPlugin* deja_dup_get_default_tool (void);
VALA_EXTERN void deja_dup_get_tool_for_backend (DejaDupBackend* backend,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
VALA_EXTERN DejaDupToolPlugin* deja_dup_get_tool_for_backend_finish (GAsyncResult* _res_,
                                                         GError** error);
VALA_EXTERN GType borg_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BorgPlugin, g_object_unref)
VALA_EXTERN gchar* borg_plugin_borg_command (void);
VALA_EXTERN BorgPlugin* borg_plugin_new (void);
VALA_EXTERN BorgPlugin* borg_plugin_construct (GType object_type);
VALA_EXTERN GType deja_dup_duplicity_logger_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupDuplicityLogger, g_object_unref)
VALA_EXTERN DejaDupDuplicityLogger* deja_dup_duplicity_logger_new_for_fd (gint fd);
VALA_EXTERN DejaDupDuplicityLogger* deja_dup_duplicity_logger_construct_for_fd (GType object_type,
                                                                    gint fd);
VALA_EXTERN DejaDupDuplicityLogger* deja_dup_duplicity_logger_new_for_stream (GInputStream* stream);
VALA_EXTERN DejaDupDuplicityLogger* deja_dup_duplicity_logger_construct_for_stream (GType object_type,
                                                                        GInputStream* stream);
VALA_EXTERN DejaDupDuplicityLogger* deja_dup_duplicity_logger_from_cache_log (void);
VALA_EXTERN void deja_dup_duplicity_logger_read (DejaDupDuplicityLogger* self,
                                     GCancellable* cancellable,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_);
VALA_EXTERN void deja_dup_duplicity_logger_read_finish (DejaDupDuplicityLogger* self,
                                            GAsyncResult* _res_);
VALA_EXTERN void deja_dup_duplicity_logger_read_sync (DejaDupDuplicityLogger* self);
VALA_EXTERN void deja_dup_duplicity_logger_write_tail_to_cache (DejaDupDuplicityLogger* self);
VALA_EXTERN gchar* deja_dup_duplicity_logger_get_obscured_tail (DejaDupDuplicityLogger* self,
                                                    DejaDupLogObscurer* obscurer);
VALA_EXTERN gchar* deja_dup_duplicity_logger_get_cachefile (void);
VALA_EXTERN DejaDupDuplicityLogger* deja_dup_duplicity_logger_new (void);
VALA_EXTERN DejaDupDuplicityLogger* deja_dup_duplicity_logger_construct (GType object_type);
VALA_EXTERN GDataInputStream* deja_dup_duplicity_logger_get_reader (DejaDupDuplicityLogger* self);
VALA_EXTERN gboolean deja_dup_duplicity_logger_get_print_to_console (DejaDupDuplicityLogger* self);
VALA_EXTERN void deja_dup_duplicity_logger_set_print_to_console (DejaDupDuplicityLogger* self,
                                                     gboolean value);
VALA_EXTERN GType duplicity_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DuplicityPlugin, g_object_unref)
VALA_EXTERN gchar* duplicity_plugin_duplicity_command (void);
VALA_EXTERN DuplicityPlugin* duplicity_plugin_new (void);
VALA_EXTERN DuplicityPlugin* duplicity_plugin_construct (GType object_type);
VALA_EXTERN GType deja_dup_restic_logger_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DejaDupResticLogger, g_object_unref)
VALA_EXTERN gchar* deja_dup_restic_logger_from_cache_log (DejaDupLogObscurer* obscurer);
VALA_EXTERN gchar* deja_dup_restic_logger_get_cachefile (void);
VALA_EXTERN DejaDupResticLogger* deja_dup_restic_logger_new (void);
VALA_EXTERN DejaDupResticLogger* deja_dup_restic_logger_construct (GType object_type);
VALA_EXTERN GType restic_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ResticPlugin, g_object_unref)
VALA_EXTERN gchar* restic_plugin_restic_command (void);
VALA_EXTERN ResticPlugin* restic_plugin_new (void);
VALA_EXTERN ResticPlugin* restic_plugin_construct (GType object_type);

G_END_DECLS

#endif
