/* pantheon-files-core.h generated by valac 0.46.6, the Vala compiler, do not modify */

#ifndef __LIBCORE_PANTHEON_FILES_CORE_H__
#define __LIBCORE_PANTHEON_FILES_CORE_H__

#include <gtk/gtk.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gio/gio.h>
#include <gdk/gdk.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <time.h>
#include <gee.h>
#include <float.h>
#include <math.h>
#include <granite.h>
#include <sys/types.h>

G_BEGIN_DECLS

typedef void (*MarlinPluginCallbackFunc) (GtkWidget* widget);
typedef enum  {
	MARLIN_PLACE_TYPE_BUILT_IN,
	MARLIN_PLACE_TYPE_MOUNTED_VOLUME,
	MARLIN_PLACE_TYPE_BOOKMARK,
	MARLIN_PLACE_TYPE_BOOKMARKS_CATEGORY,
	MARLIN_PLACE_TYPE_PERSONAL_CATEGORY,
	MARLIN_PLACE_TYPE_STORAGE_CATEGORY,
	MARLIN_PLACE_TYPE_NETWORK_CATEGORY,
	MARLIN_PLACE_TYPE_PLUGIN_ITEM
} MarlinPlaceType;

#define MARLIN_TYPE_PLACE_TYPE (marlin_place_type_get_type ())

#define MARLIN_TYPE_ABSTRACT_SIDEBAR (marlin_abstract_sidebar_get_type ())
#define MARLIN_ABSTRACT_SIDEBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_TYPE_ABSTRACT_SIDEBAR, MarlinAbstractSidebar))
#define MARLIN_ABSTRACT_SIDEBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARLIN_TYPE_ABSTRACT_SIDEBAR, MarlinAbstractSidebarClass))
#define MARLIN_IS_ABSTRACT_SIDEBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_TYPE_ABSTRACT_SIDEBAR))
#define MARLIN_IS_ABSTRACT_SIDEBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARLIN_TYPE_ABSTRACT_SIDEBAR))
#define MARLIN_ABSTRACT_SIDEBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARLIN_TYPE_ABSTRACT_SIDEBAR, MarlinAbstractSidebarClass))

typedef struct _MarlinAbstractSidebar MarlinAbstractSidebar;
typedef struct _MarlinAbstractSidebarClass MarlinAbstractSidebarClass;
typedef struct _MarlinAbstractSidebarPrivate MarlinAbstractSidebarPrivate;

#define MARLIN_TYPE_SIDEBAR_PLUGIN_ITEM (marlin_sidebar_plugin_item_get_type ())
#define MARLIN_SIDEBAR_PLUGIN_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_TYPE_SIDEBAR_PLUGIN_ITEM, MarlinSidebarPluginItem))
#define MARLIN_SIDEBAR_PLUGIN_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARLIN_TYPE_SIDEBAR_PLUGIN_ITEM, MarlinSidebarPluginItemClass))
#define MARLIN_IS_SIDEBAR_PLUGIN_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_TYPE_SIDEBAR_PLUGIN_ITEM))
#define MARLIN_IS_SIDEBAR_PLUGIN_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARLIN_TYPE_SIDEBAR_PLUGIN_ITEM))
#define MARLIN_SIDEBAR_PLUGIN_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARLIN_TYPE_SIDEBAR_PLUGIN_ITEM, MarlinSidebarPluginItemClass))

typedef struct _MarlinSidebarPluginItem MarlinSidebarPluginItem;
typedef struct _MarlinSidebarPluginItemClass MarlinSidebarPluginItemClass;
typedef enum  {
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_NAME,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_URI,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_DRIVE,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_VOLUME,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_MOUNT,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_ROW_TYPE,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_ICON,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_INDEX,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_CAN_EJECT,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_NO_EJECT,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_BOOKMARK,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_IS_CATEGORY,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_NOT_CATEGORY,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_TOOLTIP,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_ACTION_ICON,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_SHOW_SPINNER,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_SHOW_EJECT,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_SPINNER_PULSE,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_FREE_SPACE,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_DISK_SIZE,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_PLUGIN_CALLBACK,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_MENU_MODEL,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_ACTION_GROUP_NAMESPACE,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_ACTION_GROUP,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_COUNT
} MarlinAbstractSidebarColumn;

#define MARLIN_ABSTRACT_SIDEBAR_TYPE_COLUMN (marlin_abstract_sidebar_column_get_type ())

#define GOF_TYPE_ABSTRACT_SLOT (gof_abstract_slot_get_type ())
#define GOF_ABSTRACT_SLOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOF_TYPE_ABSTRACT_SLOT, GOFAbstractSlot))
#define GOF_ABSTRACT_SLOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GOF_TYPE_ABSTRACT_SLOT, GOFAbstractSlotClass))
#define GOF_IS_ABSTRACT_SLOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOF_TYPE_ABSTRACT_SLOT))
#define GOF_IS_ABSTRACT_SLOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GOF_TYPE_ABSTRACT_SLOT))
#define GOF_ABSTRACT_SLOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GOF_TYPE_ABSTRACT_SLOT, GOFAbstractSlotClass))

typedef struct _GOFAbstractSlot GOFAbstractSlot;
typedef struct _GOFAbstractSlotClass GOFAbstractSlotClass;
typedef struct _GOFAbstractSlotPrivate GOFAbstractSlotPrivate;

#define GOF_TYPE_FILE (gof_file_get_type ())
#define GOF_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOF_TYPE_FILE, GOFFile))
#define GOF_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GOF_TYPE_FILE, GOFFileClass))
#define GOF_IS_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOF_TYPE_FILE))
#define GOF_IS_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GOF_TYPE_FILE))
#define GOF_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GOF_TYPE_FILE, GOFFileClass))

typedef struct _GOFFile GOFFile;
typedef struct _GOFFileClass GOFFileClass;

#define GOF_DIRECTORY_TYPE_ASYNC (gof_directory_async_get_type ())
#define GOF_DIRECTORY_ASYNC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOF_DIRECTORY_TYPE_ASYNC, GOFDirectoryAsync))
#define GOF_DIRECTORY_ASYNC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GOF_DIRECTORY_TYPE_ASYNC, GOFDirectoryAsyncClass))
#define GOF_DIRECTORY_IS_ASYNC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOF_DIRECTORY_TYPE_ASYNC))
#define GOF_DIRECTORY_IS_ASYNC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GOF_DIRECTORY_TYPE_ASYNC))
#define GOF_DIRECTORY_ASYNC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GOF_DIRECTORY_TYPE_ASYNC, GOFDirectoryAsyncClass))

typedef struct _GOFDirectoryAsync GOFDirectoryAsync;
typedef struct _GOFDirectoryAsyncClass GOFDirectoryAsyncClass;

#define MARLIN_TYPE_BOOKMARK (marlin_bookmark_get_type ())
#define MARLIN_BOOKMARK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_TYPE_BOOKMARK, MarlinBookmark))
#define MARLIN_BOOKMARK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARLIN_TYPE_BOOKMARK, MarlinBookmarkClass))
#define MARLIN_IS_BOOKMARK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_TYPE_BOOKMARK))
#define MARLIN_IS_BOOKMARK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARLIN_TYPE_BOOKMARK))
#define MARLIN_BOOKMARK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARLIN_TYPE_BOOKMARK, MarlinBookmarkClass))

typedef struct _MarlinBookmark MarlinBookmark;
typedef struct _MarlinBookmarkClass MarlinBookmarkClass;
typedef struct _MarlinBookmarkPrivate MarlinBookmarkPrivate;

#define MARLIN_TYPE_BOOKMARK_LIST (marlin_bookmark_list_get_type ())
#define MARLIN_BOOKMARK_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_TYPE_BOOKMARK_LIST, MarlinBookmarkList))
#define MARLIN_BOOKMARK_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARLIN_TYPE_BOOKMARK_LIST, MarlinBookmarkListClass))
#define MARLIN_IS_BOOKMARK_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_TYPE_BOOKMARK_LIST))
#define MARLIN_IS_BOOKMARK_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARLIN_TYPE_BOOKMARK_LIST))
#define MARLIN_BOOKMARK_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARLIN_TYPE_BOOKMARK_LIST, MarlinBookmarkListClass))

typedef struct _MarlinBookmarkList MarlinBookmarkList;
typedef struct _MarlinBookmarkListClass MarlinBookmarkListClass;
typedef struct _MarlinBookmarkListPrivate MarlinBookmarkListPrivate;

#define MARLIN_CONNECT_SERVER_TYPE_OPERATION (marlin_connect_server_operation_get_type ())
#define MARLIN_CONNECT_SERVER_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_CONNECT_SERVER_TYPE_OPERATION, MarlinConnectServerOperation))
#define MARLIN_CONNECT_SERVER_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARLIN_CONNECT_SERVER_TYPE_OPERATION, MarlinConnectServerOperationClass))
#define MARLIN_CONNECT_SERVER_IS_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_CONNECT_SERVER_TYPE_OPERATION))
#define MARLIN_CONNECT_SERVER_IS_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARLIN_CONNECT_SERVER_TYPE_OPERATION))
#define MARLIN_CONNECT_SERVER_OPERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARLIN_CONNECT_SERVER_TYPE_OPERATION, MarlinConnectServerOperationClass))

typedef struct _MarlinConnectServerOperation MarlinConnectServerOperation;
typedef struct _MarlinConnectServerOperationClass MarlinConnectServerOperationClass;
typedef struct _MarlinConnectServerOperationPrivate MarlinConnectServerOperationPrivate;

#define PF_TYPE_CONNECT_SERVER_DIALOG (pf_connect_server_dialog_get_type ())
#define PF_CONNECT_SERVER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PF_TYPE_CONNECT_SERVER_DIALOG, PFConnectServerDialog))
#define PF_CONNECT_SERVER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PF_TYPE_CONNECT_SERVER_DIALOG, PFConnectServerDialogClass))
#define PF_IS_CONNECT_SERVER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PF_TYPE_CONNECT_SERVER_DIALOG))
#define PF_IS_CONNECT_SERVER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PF_TYPE_CONNECT_SERVER_DIALOG))
#define PF_CONNECT_SERVER_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PF_TYPE_CONNECT_SERVER_DIALOG, PFConnectServerDialogClass))

typedef struct _PFConnectServerDialog PFConnectServerDialog;
typedef struct _PFConnectServerDialogClass PFConnectServerDialogClass;
typedef struct _PFConnectServerDialogPrivate PFConnectServerDialogPrivate;

#define MARLIN_TYPE_DND_HANDLER (marlin_dnd_handler_get_type ())
#define MARLIN_DND_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_TYPE_DND_HANDLER, MarlinDndHandler))
#define MARLIN_DND_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARLIN_TYPE_DND_HANDLER, MarlinDndHandlerClass))
#define MARLIN_IS_DND_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_TYPE_DND_HANDLER))
#define MARLIN_IS_DND_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARLIN_TYPE_DND_HANDLER))
#define MARLIN_DND_HANDLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARLIN_TYPE_DND_HANDLER, MarlinDndHandlerClass))

typedef struct _MarlinDndHandler MarlinDndHandler;
typedef struct _MarlinDndHandlerClass MarlinDndHandlerClass;
typedef struct _MarlinDndHandlerPrivate MarlinDndHandlerPrivate;
typedef enum  {
	MARLIN_WINDOW_STATE_NORMAL,
	MARLIN_WINDOW_STATE_TILED_START,
	MARLIN_WINDOW_STATE_TILED_END,
	MARLIN_WINDOW_STATE_MAXIMIZED,
	MARLIN_WINDOW_STATE_INVALID
} MarlinWindowState;

#define MARLIN_TYPE_WINDOW_STATE (marlin_window_state_get_type ())
typedef enum  {
	MARLIN_VIEW_MODE_ICON = 0,
	MARLIN_VIEW_MODE_LIST = 1,
	MARLIN_VIEW_MODE_MILLER_COLUMNS = 2,
	MARLIN_VIEW_MODE_CURRENT,
	MARLIN_VIEW_MODE_PREFERRED,
	MARLIN_VIEW_MODE_INVALID
} MarlinViewMode;

#define MARLIN_TYPE_VIEW_MODE (marlin_view_mode_get_type ())
typedef enum  {
	MARLIN_OPEN_FLAG_DEFAULT,
	MARLIN_OPEN_FLAG_NEW_ROOT,
	MARLIN_OPEN_FLAG_NEW_TAB,
	MARLIN_OPEN_FLAG_NEW_WINDOW,
	MARLIN_OPEN_FLAG_APP
} MarlinOpenFlag;

#define MARLIN_TYPE_OPEN_FLAG (marlin_open_flag_get_type ())
typedef enum  {
	MARLIN_ZOOM_LEVEL_SMALLEST,
	MARLIN_ZOOM_LEVEL_SMALLER,
	MARLIN_ZOOM_LEVEL_SMALL,
	MARLIN_ZOOM_LEVEL_NORMAL,
	MARLIN_ZOOM_LEVEL_LARGE,
	MARLIN_ZOOM_LEVEL_LARGER,
	MARLIN_ZOOM_LEVEL_HUGE,
	MARLIN_ZOOM_LEVEL_HUGER,
	MARLIN_ZOOM_LEVEL_LARGEST,
	MARLIN_ZOOM_LEVEL_N_LEVELS
} MarlinZoomLevel;

#define MARLIN_TYPE_ZOOM_LEVEL (marlin_zoom_level_get_type ())
typedef enum  {
	MARLIN_ICON_SIZE_EMBLEM = 16,
	MARLIN_ICON_SIZE_SMALLEST = 16,
	MARLIN_ICON_SIZE_LARGE_EMBLEM = 24,
	MARLIN_ICON_SIZE_SMALLER = 24,
	MARLIN_ICON_SIZE_SMALL = 32,
	MARLIN_ICON_SIZE_NORMAL = 48,
	MARLIN_ICON_SIZE_LARGE = 64,
	MARLIN_ICON_SIZE_LARGER = 96,
	MARLIN_ICON_SIZE_HUGE = 128,
	MARLIN_ICON_SIZE_HUGER = 192,
	MARLIN_ICON_SIZE_LARGEST = 256
} MarlinIconSize;

#define MARLIN_TYPE_ICON_SIZE (marlin_icon_size_get_type ())
typedef enum  {
	MARLIN_TARGET_TYPE_STRING,
	MARLIN_TARGET_TYPE_TEXT_URI_LIST,
	MARLIN_TARGET_TYPE_XDND_DIRECT_SAVE0,
	MARLIN_TARGET_TYPE_NETSCAPE_URL
} MarlinTargetType;

#define MARLIN_TYPE_TARGET_TYPE (marlin_target_type_get_type ())
typedef struct _GOFFilePrivate GOFFilePrivate;
typedef enum  {
	GOF_FILE_ICON_FLAGS_NONE,
	GOF_FILE_ICON_FLAGS_USE_THUMBNAILS
} GOFFileIconFlags;

#define GOF_FILE_TYPE_ICON_FLAGS (gof_file_icon_flags_get_type ())
typedef enum  {
	GOF_FILE_THUMB_STATE_UNKNOWN,
	GOF_FILE_THUMB_STATE_NONE,
	GOF_FILE_THUMB_STATE_READY,
	GOF_FILE_THUMB_STATE_LOADING
} GOFFileThumbState;

#define GOF_FILE_TYPE_THUMB_STATE (gof_file_thumb_state_get_type ())

#define MARLIN_TYPE_ICON_INFO (marlin_icon_info_get_type ())
#define MARLIN_ICON_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_TYPE_ICON_INFO, MarlinIconInfo))
#define MARLIN_ICON_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARLIN_TYPE_ICON_INFO, MarlinIconInfoClass))
#define MARLIN_IS_ICON_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_TYPE_ICON_INFO))
#define MARLIN_IS_ICON_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARLIN_TYPE_ICON_INFO))
#define MARLIN_ICON_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARLIN_TYPE_ICON_INFO, MarlinIconInfoClass))

typedef struct _MarlinIconInfo MarlinIconInfo;
typedef struct _MarlinIconInfoClass MarlinIconInfoClass;

#define MARLIN_TYPE_FILE_CONFLICT_DIALOG (marlin_file_conflict_dialog_get_type ())
#define MARLIN_FILE_CONFLICT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_TYPE_FILE_CONFLICT_DIALOG, MarlinFileConflictDialog))
#define MARLIN_FILE_CONFLICT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARLIN_TYPE_FILE_CONFLICT_DIALOG, MarlinFileConflictDialogClass))
#define MARLIN_IS_FILE_CONFLICT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_TYPE_FILE_CONFLICT_DIALOG))
#define MARLIN_IS_FILE_CONFLICT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARLIN_TYPE_FILE_CONFLICT_DIALOG))
#define MARLIN_FILE_CONFLICT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARLIN_TYPE_FILE_CONFLICT_DIALOG, MarlinFileConflictDialogClass))

typedef struct _MarlinFileConflictDialog MarlinFileConflictDialog;
typedef struct _MarlinFileConflictDialogClass MarlinFileConflictDialogClass;
typedef struct _MarlinFileConflictDialogPrivate MarlinFileConflictDialogPrivate;
typedef enum  {
	MARLIN_FILE_CONFLICT_DIALOG_RESPONSE_TYPE_SKIP,
	MARLIN_FILE_CONFLICT_DIALOG_RESPONSE_TYPE_RENAME,
	MARLIN_FILE_CONFLICT_DIALOG_RESPONSE_TYPE_REPLACE,
	MARLIN_FILE_CONFLICT_DIALOG_RESPONSE_TYPE_NEWEST
} MarlinFileConflictDialogResponseType;

#define MARLIN_FILE_CONFLICT_DIALOG_TYPE_RESPONSE_TYPE (marlin_file_conflict_dialog_response_type_get_type ())

#define GOF_TYPE_CALL_WHEN_READY (gof_call_when_ready_get_type ())
#define GOF_CALL_WHEN_READY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOF_TYPE_CALL_WHEN_READY, GOFCallWhenReady))
#define GOF_CALL_WHEN_READY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GOF_TYPE_CALL_WHEN_READY, GOFCallWhenReadyClass))
#define GOF_IS_CALL_WHEN_READY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOF_TYPE_CALL_WHEN_READY))
#define GOF_IS_CALL_WHEN_READY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GOF_TYPE_CALL_WHEN_READY))
#define GOF_CALL_WHEN_READY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GOF_TYPE_CALL_WHEN_READY, GOFCallWhenReadyClass))

typedef struct _GOFCallWhenReady GOFCallWhenReady;
typedef struct _GOFCallWhenReadyClass GOFCallWhenReadyClass;
typedef struct _GOFCallWhenReadyPrivate GOFCallWhenReadyPrivate;
typedef void (*GOFCallWhenReadycall_when_ready_func) (GList* files, gpointer user_data);
typedef struct _GOFDirectoryAsyncPrivate GOFDirectoryAsyncPrivate;
typedef enum  {
	GOF_DIRECTORY_ASYNC_STATE_NOT_LOADED,
	GOF_DIRECTORY_ASYNC_STATE_LOADING,
	GOF_DIRECTORY_ASYNC_STATE_LOADED,
	GOF_DIRECTORY_ASYNC_STATE_TIMED_OUT
} GOFDirectoryAsyncState;

#define GOF_DIRECTORY_ASYNC_TYPE_STATE (gof_directory_async_state_get_type ())
typedef void (*GOFDirectoryAsyncGOFFileLoadedFunc) (GOFFile* file, gpointer user_data);

#define GOF_TYPE_PREFERENCES (gof_preferences_get_type ())
#define GOF_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOF_TYPE_PREFERENCES, GOFPreferences))
#define GOF_PREFERENCES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GOF_TYPE_PREFERENCES, GOFPreferencesClass))
#define GOF_IS_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOF_TYPE_PREFERENCES))
#define GOF_IS_PREFERENCES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GOF_TYPE_PREFERENCES))
#define GOF_PREFERENCES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GOF_TYPE_PREFERENCES, GOFPreferencesClass))

typedef struct _GOFPreferences GOFPreferences;
typedef struct _GOFPreferencesClass GOFPreferencesClass;
typedef struct _GOFPreferencesPrivate GOFPreferencesPrivate;

#define MARLIN_TYPE_PLUGIN_MANAGER (marlin_plugin_manager_get_type ())
#define MARLIN_PLUGIN_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_TYPE_PLUGIN_MANAGER, MarlinPluginManager))
#define MARLIN_PLUGIN_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARLIN_TYPE_PLUGIN_MANAGER, MarlinPluginManagerClass))
#define MARLIN_IS_PLUGIN_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_TYPE_PLUGIN_MANAGER))
#define MARLIN_IS_PLUGIN_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARLIN_TYPE_PLUGIN_MANAGER))
#define MARLIN_PLUGIN_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARLIN_TYPE_PLUGIN_MANAGER, MarlinPluginManagerClass))

typedef struct _MarlinPluginManager MarlinPluginManager;
typedef struct _MarlinPluginManagerClass MarlinPluginManagerClass;
typedef struct _MarlinPluginManagerPrivate MarlinPluginManagerPrivate;

#define MARLIN_PLUGINS_TYPE_BASE (marlin_plugins_base_get_type ())
#define MARLIN_PLUGINS_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_PLUGINS_TYPE_BASE, MarlinPluginsBase))
#define MARLIN_PLUGINS_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARLIN_PLUGINS_TYPE_BASE, MarlinPluginsBaseClass))
#define MARLIN_PLUGINS_IS_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_PLUGINS_TYPE_BASE))
#define MARLIN_PLUGINS_IS_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARLIN_PLUGINS_TYPE_BASE))
#define MARLIN_PLUGINS_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARLIN_PLUGINS_TYPE_BASE, MarlinPluginsBaseClass))

typedef struct _MarlinPluginsBase MarlinPluginsBase;
typedef struct _MarlinPluginsBaseClass MarlinPluginsBaseClass;
typedef struct _MarlinPluginsBasePrivate MarlinPluginsBasePrivate;

#define PF_PROGRESS_TYPE_INFO (pf_progress_info_get_type ())
#define PF_PROGRESS_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PF_PROGRESS_TYPE_INFO, PFProgressInfo))
#define PF_PROGRESS_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PF_PROGRESS_TYPE_INFO, PFProgressInfoClass))
#define PF_PROGRESS_IS_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PF_PROGRESS_TYPE_INFO))
#define PF_PROGRESS_IS_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PF_PROGRESS_TYPE_INFO))
#define PF_PROGRESS_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PF_PROGRESS_TYPE_INFO, PFProgressInfoClass))

typedef struct _PFProgressInfo PFProgressInfo;
typedef struct _PFProgressInfoClass PFProgressInfoClass;
typedef struct _PFProgressInfoPrivate PFProgressInfoPrivate;

#define PF_PROGRESS_TYPE_INFO_MANAGER (pf_progress_info_manager_get_type ())
#define PF_PROGRESS_INFO_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PF_PROGRESS_TYPE_INFO_MANAGER, PFProgressInfoManager))
#define PF_PROGRESS_INFO_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PF_PROGRESS_TYPE_INFO_MANAGER, PFProgressInfoManagerClass))
#define PF_PROGRESS_IS_INFO_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PF_PROGRESS_TYPE_INFO_MANAGER))
#define PF_PROGRESS_IS_INFO_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PF_PROGRESS_TYPE_INFO_MANAGER))
#define PF_PROGRESS_INFO_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PF_PROGRESS_TYPE_INFO_MANAGER, PFProgressInfoManagerClass))

typedef struct _PFProgressInfoManager PFProgressInfoManager;
typedef struct _PFProgressInfoManagerClass PFProgressInfoManagerClass;
typedef struct _PFProgressInfoManagerPrivate PFProgressInfoManagerPrivate;
typedef struct _MarlinSidebarPluginItemPrivate MarlinSidebarPluginItemPrivate;

#define PF_TYPE_SOUND_MANAGER (pf_sound_manager_get_type ())
#define PF_SOUND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PF_TYPE_SOUND_MANAGER, PFSoundManager))
#define PF_SOUND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PF_TYPE_SOUND_MANAGER, PFSoundManagerClass))
#define PF_IS_SOUND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PF_TYPE_SOUND_MANAGER))
#define PF_IS_SOUND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PF_TYPE_SOUND_MANAGER))
#define PF_SOUND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PF_TYPE_SOUND_MANAGER, PFSoundManagerClass))

typedef struct _PFSoundManager PFSoundManager;
typedef struct _PFSoundManagerClass PFSoundManagerClass;
typedef struct _PFSoundManagerPrivate PFSoundManagerPrivate;

#define MARLIN_TYPE_RUN_SIMPLE_DIALOG_DATA (marlin_run_simple_dialog_data_get_type ())
typedef struct _MarlinRunSimpleDialogData MarlinRunSimpleDialogData;

#define MARLIN_TYPE_TRASH_MONITOR (marlin_trash_monitor_get_type ())
#define MARLIN_TRASH_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_TYPE_TRASH_MONITOR, MarlinTrashMonitor))
#define MARLIN_TRASH_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARLIN_TYPE_TRASH_MONITOR, MarlinTrashMonitorClass))
#define MARLIN_IS_TRASH_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_TYPE_TRASH_MONITOR))
#define MARLIN_IS_TRASH_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARLIN_TYPE_TRASH_MONITOR))
#define MARLIN_TRASH_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARLIN_TYPE_TRASH_MONITOR, MarlinTrashMonitorClass))

typedef struct _MarlinTrashMonitor MarlinTrashMonitor;
typedef struct _MarlinTrashMonitorClass MarlinTrashMonitorClass;
typedef struct _MarlinTrashMonitorPrivate MarlinTrashMonitorPrivate;
typedef enum  {
	MARLIN_UNDO_COPY,
	MARLIN_UNDO_DUPLICATE,
	MARLIN_UNDO_MOVE,
	MARLIN_UNDO_RENAME,
	MARLIN_UNDO_CREATEEMPTYFILE,
	MARLIN_UNDO_CREATEFILEFROMTEMPLATE,
	MARLIN_UNDO_CREATEFOLDER,
	MARLIN_UNDO_MOVETOTRASH,
	MARLIN_UNDO_CREATELINK,
	MARLIN_UNDO_RESTOREFROMTRASH,
	MARLIN_UNDO_SETPERMISSIONS,
	MARLIN_UNDO_RECURSIVESETPERMISSIONS,
	MARLIN_UNDO_CHANGEOWNER,
	MARLIN_UNDO_CHANGEGROUP
} MarlinUndoActionType;

#define MARLIN_TYPE_UNDO_ACTION_TYPE (marlin_undo_action_type_get_type ())

#define MARLIN_TYPE_UNDO_ACTION_DATA (marlin_undo_action_data_get_type ())
#define MARLIN_UNDO_ACTION_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_TYPE_UNDO_ACTION_DATA, MarlinUndoActionData))
#define MARLIN_UNDO_ACTION_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARLIN_TYPE_UNDO_ACTION_DATA, MarlinUndoActionDataClass))
#define MARLIN_IS_UNDO_ACTION_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_TYPE_UNDO_ACTION_DATA))
#define MARLIN_IS_UNDO_ACTION_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARLIN_TYPE_UNDO_ACTION_DATA))
#define MARLIN_UNDO_ACTION_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARLIN_TYPE_UNDO_ACTION_DATA, MarlinUndoActionDataClass))

typedef struct _MarlinUndoActionData MarlinUndoActionData;
typedef struct _MarlinUndoActionDataClass MarlinUndoActionDataClass;
typedef struct _MarlinUndoActionDataPrivate MarlinUndoActionDataPrivate;

#define MARLIN_TYPE_UNDO_MANAGER (marlin_undo_manager_get_type ())
#define MARLIN_UNDO_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_TYPE_UNDO_MANAGER, MarlinUndoManager))
#define MARLIN_UNDO_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARLIN_TYPE_UNDO_MANAGER, MarlinUndoManagerClass))
#define MARLIN_IS_UNDO_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_TYPE_UNDO_MANAGER))
#define MARLIN_IS_UNDO_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARLIN_TYPE_UNDO_MANAGER))
#define MARLIN_UNDO_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARLIN_TYPE_UNDO_MANAGER, MarlinUndoManagerClass))

typedef struct _MarlinUndoManager MarlinUndoManager;
typedef struct _MarlinUndoManagerClass MarlinUndoManagerClass;
typedef struct _MarlinUndoManagerPrivate MarlinUndoManagerPrivate;
typedef struct _MarlinIconInfoPrivate MarlinIconInfoPrivate;

#define MARLIN_TYPE_THUMBNAILER_DAEMON (marlin_thumbnailer_daemon_get_type ())
#define MARLIN_THUMBNAILER_DAEMON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_TYPE_THUMBNAILER_DAEMON, MarlinThumbnailerDaemon))
#define MARLIN_IS_THUMBNAILER_DAEMON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_TYPE_THUMBNAILER_DAEMON))
#define MARLIN_THUMBNAILER_DAEMON_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), MARLIN_TYPE_THUMBNAILER_DAEMON, MarlinThumbnailerDaemonIface))

typedef struct _MarlinThumbnailerDaemon MarlinThumbnailerDaemon;
typedef struct _MarlinThumbnailerDaemonIface MarlinThumbnailerDaemonIface;

#define MARLIN_TYPE_THUMBNAILER_DAEMON_PROXY (marlin_thumbnailer_daemon_proxy_get_type ())

#define MARLIN_TYPE_THUMBNAILER (marlin_thumbnailer_get_type ())
#define MARLIN_THUMBNAILER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARLIN_TYPE_THUMBNAILER, MarlinThumbnailer))
#define MARLIN_THUMBNAILER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARLIN_TYPE_THUMBNAILER, MarlinThumbnailerClass))
#define MARLIN_IS_THUMBNAILER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARLIN_TYPE_THUMBNAILER))
#define MARLIN_IS_THUMBNAILER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARLIN_TYPE_THUMBNAILER))
#define MARLIN_THUMBNAILER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARLIN_TYPE_THUMBNAILER, MarlinThumbnailerClass))

typedef struct _MarlinThumbnailer MarlinThumbnailer;
typedef struct _MarlinThumbnailerClass MarlinThumbnailerClass;
typedef struct _MarlinThumbnailerPrivate MarlinThumbnailerPrivate;

struct _MarlinAbstractSidebar {
	GtkScrolledWindow parent_instance;
	MarlinAbstractSidebarPrivate * priv;
	GtkTreeStore* store;
	GtkTreeRowReference* network_category_reference;
	GtkBox* content_box;
};

struct _MarlinAbstractSidebarClass {
	GtkScrolledWindowClass parent_class;
	void (*add_place) (MarlinAbstractSidebar* self, MarlinPlaceType place_type, GtkTreeIter* parent, const gchar* name, GIcon* icon, const gchar* uri, GDrive* drive, GVolume* volume, GMount* mount, guint index, const gchar* tooltip, GIcon* action_icon, GtkTreeIter* result);
	GtkTreeRowReference* (*add_plugin_item) (MarlinAbstractSidebar* self, MarlinSidebarPluginItem* item, MarlinPlaceType category);
	gboolean (*update_plugin_item) (MarlinAbstractSidebar* self, MarlinSidebarPluginItem* item, GtkTreeRowReference* rowref);
};

struct _GOFAbstractSlot {
	GObject parent_instance;
	GOFAbstractSlotPrivate * priv;
	GtkBox* extra_location_widgets;
	GtkBox* extra_action_widgets;
	GtkBox* content_box;
	gint slot_number;
	gint width;
};

struct _GOFAbstractSlotClass {
	GObjectClass parent_class;
	void (*initialize_directory) (GOFAbstractSlot* self);
	GList* (*get_selected_files) (GOFAbstractSlot* self);
	void (*set_active_state) (GOFAbstractSlot* self, gboolean set_active, gboolean animate);
	GOFAbstractSlot* (*get_current_slot) (GOFAbstractSlot* self);
	void (*reload) (GOFAbstractSlot* self, gboolean non_local_only);
	void (*grab_focus) (GOFAbstractSlot* self);
	void (*user_path_change_request) (GOFAbstractSlot* self, GFile* loc, gboolean make_root);
	void (*focus_first_for_empty_selection) (GOFAbstractSlot* self, gboolean select);
	void (*select_glib_files) (GOFAbstractSlot* self, GList* locations, GFile* focus_location);
	void (*make_view) (GOFAbstractSlot* self);
	void (*close) (GOFAbstractSlot* self);
	GFileInfo* (*lookup_file_info) (GOFAbstractSlot* self, GFile* loc);
	void (*zoom_out) (GOFAbstractSlot* self);
	void (*zoom_in) (GOFAbstractSlot* self);
	void (*zoom_normal) (GOFAbstractSlot* self);
	gboolean (*set_all_selected) (GOFAbstractSlot* self, gboolean all_selected);
	GtkWidget* (*get_content_box) (GOFAbstractSlot* self);
	gchar* (*get_root_uri) (GOFAbstractSlot* self);
	gchar* (*get_tip_uri) (GOFAbstractSlot* self);
	gboolean (*get_realized) (GOFAbstractSlot* self);
	gboolean (*get_locked_focus) (GOFAbstractSlot* self);
	gboolean (*get_is_frozen) (GOFAbstractSlot* self);
	void (*set_is_frozen) (GOFAbstractSlot* self, gboolean value);
};

struct _MarlinBookmark {
	GTypeInstance parent_instance;
	volatile int ref_count;
	MarlinBookmarkPrivate * priv;
};

struct _MarlinBookmarkClass {
	GTypeClass parent_class;
	void (*finalize) (MarlinBookmark *self);
};

struct _MarlinBookmarkList {
	GObject parent_instance;
	MarlinBookmarkListPrivate * priv;
};

struct _MarlinBookmarkListClass {
	GObjectClass parent_class;
};

struct _MarlinConnectServerOperation {
	GtkMountOperation parent_instance;
	MarlinConnectServerOperationPrivate * priv;
};

struct _MarlinConnectServerOperationClass {
	GtkMountOperationClass parent_class;
};

struct _PFConnectServerDialog {
	GtkDialog parent_instance;
	PFConnectServerDialogPrivate * priv;
};

struct _PFConnectServerDialogClass {
	GtkDialogClass parent_class;
};

struct _MarlinDndHandler {
	GObject parent_instance;
	MarlinDndHandlerPrivate * priv;
};

struct _MarlinDndHandlerClass {
	GObjectClass parent_class;
};

struct _GOFFile {
	GObject parent_instance;
	GOFFilePrivate * priv;
	gboolean is_gone;
	GFile* location;
	GFile* target_location;
	GOFFile* target_gof;
	GFile* directory;
	GIcon* icon;
	GList* emblems_list;
	GFileInfo* info;
	gchar* basename;
	gchar* custom_display_name;
	gchar* uri;
	guint64 size;
	gchar* format_size;
	gint color;
	guint64 modified;
	gchar* formated_modified;
	gchar* formated_type;
	gchar* tagstype;
	GdkPixbuf* pix;
	gchar* custom_icon_name;
	gint pix_size;
	gint pix_scale;
	gint width;
	gint height;
	gint sort_column_id;
	GtkSortType sort_order;
	GFileType file_type;
	gboolean is_hidden;
	gboolean is_directory;
	gboolean is_desktop;
	gboolean is_expanded;
	gboolean can_unmount;
	guint thumbstate;
	gchar* thumbnail_path;
	gboolean is_mounted;
	gboolean exists;
	guint32 uid;
	guint32 gid;
	gchar* owner;
	gchar* group;
	gboolean has_permissions;
	guint32 permissions;
	GMount* mount;
	gboolean is_connected;
	gchar* utf8_collation_key;
	time_t trash_time;
	gboolean link_known_target;
};

struct _GOFFileClass {
	GObjectClass parent_class;
};

struct _MarlinFileConflictDialog {
	GtkDialog parent_instance;
	MarlinFileConflictDialogPrivate * priv;
};

struct _MarlinFileConflictDialogClass {
	GtkDialogClass parent_class;
};

struct _GOFCallWhenReady {
	GObject parent_instance;
	GOFCallWhenReadyPrivate * priv;
	GList* files;
};

struct _GOFCallWhenReadyClass {
	GObjectClass parent_class;
};

struct _GOFDirectoryAsync {
	GObject parent_instance;
	GOFDirectoryAsyncPrivate * priv;
	gint icon_size;
	gboolean permission_denied;
	gboolean network_available;
};

struct _GOFDirectoryAsyncClass {
	GObjectClass parent_class;
};

struct _GOFPreferences {
	GObject parent_instance;
	GOFPreferencesPrivate * priv;
};

struct _GOFPreferencesClass {
	GObjectClass parent_class;
};

struct _MarlinPluginManager {
	GObject parent_instance;
	MarlinPluginManagerPrivate * priv;
	GList* menus G_GNUC_DEPRECATED;
};

struct _MarlinPluginManagerClass {
	GObjectClass parent_class;
};

struct _MarlinPluginsBase {
	GTypeInstance parent_instance;
	volatile int ref_count;
	MarlinPluginsBasePrivate * priv;
	GtkWidget* window;
};

struct _MarlinPluginsBaseClass {
	GTypeClass parent_class;
	void (*finalize) (MarlinPluginsBase *self);
	void (*directory_loaded) (MarlinPluginsBase* self, GtkApplicationWindow* window, GOFAbstractSlot* view, GOFFile* directory);
	void (*context_menu) (MarlinPluginsBase* self, GtkWidget* widget, GList* files);
	void (*ui) (MarlinPluginsBase* self, GtkUIManager* widget);
	void (*sidebar_loaded) (MarlinPluginsBase* self, GtkWidget* widget);
	void (*update_sidebar) (MarlinPluginsBase* self, GtkWidget* widget);
	void (*update_file_info) (MarlinPluginsBase* self, GOFFile* file);
};

struct _PFProgressInfo {
	GObject parent_instance;
	PFProgressInfoPrivate * priv;
};

struct _PFProgressInfoClass {
	GObjectClass parent_class;
};

struct _PFProgressInfoManager {
	GObject parent_instance;
	PFProgressInfoManagerPrivate * priv;
};

struct _PFProgressInfoManagerClass {
	GObjectClass parent_class;
};

struct _MarlinSidebarPluginItem {
	GObject parent_instance;
	MarlinSidebarPluginItemPrivate * priv;
};

struct _MarlinSidebarPluginItemClass {
	GObjectClass parent_class;
};

struct _PFSoundManager {
	GObject parent_instance;
	PFSoundManagerPrivate * priv;
};

struct _PFSoundManagerClass {
	GObjectClass parent_class;
};

struct _MarlinRunSimpleDialogData {
	GtkWindow* parent_window;
	gboolean ignore_close_box;
	GtkMessageType message_type;
	gchar* primary_text;
	gchar* secondary_text;
	const gchar* details_text;
	gchar** button_titles;
	gint button_titles_length1;
	gboolean show_all;
	gint result;
};

struct _MarlinTrashMonitor {
	GObject parent_instance;
	MarlinTrashMonitorPrivate * priv;
};

struct _MarlinTrashMonitorClass {
	GObjectClass parent_class;
};

struct _MarlinUndoActionData {
	GTypeInstance parent_instance;
	volatile int ref_count;
	MarlinUndoActionDataPrivate * priv;
	MarlinUndoActionType action_type;
	gboolean is_valid;
	gboolean locked;
	gboolean freed;
	guint count;
	GFile* src_dir;
	GFile* dest_dir;
	GList* sources;
	GList* destinations;
	gchar* undo_label;
	gchar* undo_description;
	gchar* redo_label;
	gchar* redo_description;
	gchar* template;
	gchar* target_uri;
	gchar* old_uri;
	gchar* new_uri;
	GHashTable* trashed;
	GHashTable* original_permissions;
	guint32 dir_mask;
	guint32 dir_permissions;
	guint32 file_mask;
	guint32 file_permissions;
	guint32 current_permissions;
	guint32 new_permissions;
	gchar* original_group_name_or_id;
	gchar* new_group_name_or_id;
	gchar* original_user_name_or_id;
	gchar* new_user_name_or_id;
};

struct _MarlinUndoActionDataClass {
	GTypeClass parent_class;
	void (*finalize) (MarlinUndoActionData *self);
};

struct _MarlinUndoManager {
	GObject parent_instance;
	MarlinUndoManagerPrivate * priv;
};

struct _MarlinUndoManagerClass {
	GObjectClass parent_class;
};

struct _MarlinIconInfo {
	GObject parent_instance;
	MarlinIconInfoPrivate * priv;
};

struct _MarlinIconInfoClass {
	GObjectClass parent_class;
};

struct _MarlinThumbnailerDaemonIface {
	GTypeInterface parent_iface;
	void (*queue) (MarlinThumbnailerDaemon* self, gchar** uris, gint uris_length1, gchar** mime_types, gint mime_types_length1, const gchar* flavor, const gchar* scheduler, guint handle_to_unqueue, GAsyncReadyCallback _callback_, gpointer _user_data_);
	guint (*queue_finish) (MarlinThumbnailerDaemon* self, GAsyncResult* _res_, GError** error);
	void (*dequeue) (MarlinThumbnailerDaemon* self, guint handle, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*dequeue_finish) (MarlinThumbnailerDaemon* self, GAsyncResult* _res_, GError** error);
	void (*get_supported) (MarlinThumbnailerDaemon* self, gchar*** uri_schemes, gint* uri_schemes_length1, gchar*** mime_types, gint* mime_types_length1, GError** error);
};

struct _MarlinThumbnailer {
	GObject parent_instance;
	MarlinThumbnailerPrivate * priv;
};

struct _MarlinThumbnailerClass {
	GObjectClass parent_class;
};

GType marlin_place_type_get_type (void) G_GNUC_CONST;
GType marlin_abstract_sidebar_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MarlinAbstractSidebar, g_object_unref)
GType marlin_sidebar_plugin_item_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MarlinSidebarPluginItem, g_object_unref)
GType marlin_abstract_sidebar_column_get_type (void) G_GNUC_CONST;
void marlin_abstract_sidebar_init (MarlinAbstractSidebar* self);
void marlin_abstract_sidebar_add_extra_network_item (MarlinAbstractSidebar* self,
                                                     const gchar* text,
                                                     const gchar* tooltip,
                                                     GIcon* icon,
                                                     MarlinPluginCallbackFunc cb);
void marlin_abstract_sidebar_add_extra_item (MarlinAbstractSidebar* self,
                                             GtkTreeRowReference* category,
                                             const gchar* text,
                                             const gchar* tooltip,
                                             GIcon* icon,
                                             MarlinPluginCallbackFunc cb,
                                             GIcon* action_icon);
void marlin_abstract_sidebar_add_place (MarlinAbstractSidebar* self,
                                        MarlinPlaceType place_type,
                                        GtkTreeIter* parent,
                                        const gchar* name,
                                        GIcon* icon,
                                        const gchar* uri,
                                        GDrive* drive,
                                        GVolume* volume,
                                        GMount* mount,
                                        guint index,
                                        const gchar* tooltip,
                                        GIcon* action_icon,
                                        GtkTreeIter* result);
GtkTreeRowReference* marlin_abstract_sidebar_add_plugin_item (MarlinAbstractSidebar* self,
                                                              MarlinSidebarPluginItem* item,
                                                              MarlinPlaceType category);
gboolean marlin_abstract_sidebar_update_plugin_item (MarlinAbstractSidebar* self,
                                                     MarlinSidebarPluginItem* item,
                                                     GtkTreeRowReference* rowref);
MarlinAbstractSidebar* marlin_abstract_sidebar_construct (GType object_type);
GType gof_abstract_slot_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GOFAbstractSlot, g_object_unref)
GType gof_file_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GOFFile, g_object_unref)
void gof_abstract_slot_add_extra_widget (GOFAbstractSlot* self,
                                         GtkWidget* widget);
void gof_abstract_slot_add_extra_action_widget (GOFAbstractSlot* self,
                                                GtkWidget* widget);
void gof_abstract_slot_add_overlay (GOFAbstractSlot* self,
                                    GtkWidget* widget);
void gof_abstract_slot_initialize_directory (GOFAbstractSlot* self);
GList* gof_abstract_slot_get_selected_files (GOFAbstractSlot* self);
void gof_abstract_slot_set_active_state (GOFAbstractSlot* self,
                                         gboolean set_active,
                                         gboolean animate);
GOFAbstractSlot* gof_abstract_slot_get_current_slot (GOFAbstractSlot* self);
void gof_abstract_slot_reload (GOFAbstractSlot* self,
                               gboolean non_local_only);
void gof_abstract_slot_grab_focus (GOFAbstractSlot* self);
void gof_abstract_slot_user_path_change_request (GOFAbstractSlot* self,
                                                 GFile* loc,
                                                 gboolean make_root);
void gof_abstract_slot_focus_first_for_empty_selection (GOFAbstractSlot* self,
                                                        gboolean select);
void gof_abstract_slot_select_glib_files (GOFAbstractSlot* self,
                                          GList* locations,
                                          GFile* focus_location);
void gof_abstract_slot_make_view (GOFAbstractSlot* self);
void gof_abstract_slot_close (GOFAbstractSlot* self);
GFileInfo* gof_abstract_slot_lookup_file_info (GOFAbstractSlot* self,
                                               GFile* loc);
void gof_abstract_slot_zoom_out (GOFAbstractSlot* self);
void gof_abstract_slot_zoom_in (GOFAbstractSlot* self);
void gof_abstract_slot_zoom_normal (GOFAbstractSlot* self);
gboolean gof_abstract_slot_set_all_selected (GOFAbstractSlot* self,
                                             gboolean all_selected);
GtkWidget* gof_abstract_slot_get_content_box (GOFAbstractSlot* self);
gchar* gof_abstract_slot_get_root_uri (GOFAbstractSlot* self);
gchar* gof_abstract_slot_get_tip_uri (GOFAbstractSlot* self);
gboolean gof_abstract_slot_get_realized (GOFAbstractSlot* self);
GOFAbstractSlot* gof_abstract_slot_construct (GType object_type);
GType gof_directory_async_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GOFDirectoryAsync, g_object_unref)
GOFDirectoryAsync* gof_abstract_slot_get_directory (GOFAbstractSlot* self);
void gof_abstract_slot_set_directory (GOFAbstractSlot* self,
                                      GOFDirectoryAsync* value);
GOFFile* gof_abstract_slot_get_file (GOFAbstractSlot* self);
GFile* gof_abstract_slot_get_location (GOFAbstractSlot* self);
const gchar* gof_abstract_slot_get_uri (GOFAbstractSlot* self);
gboolean gof_abstract_slot_get_locked_focus (GOFAbstractSlot* self);
gboolean gof_abstract_slot_get_is_frozen (GOFAbstractSlot* self);
void gof_abstract_slot_set_is_frozen (GOFAbstractSlot* self,
                                      gboolean value);
GtkOverlay* gof_abstract_slot_get_overlay (GOFAbstractSlot* self);
void gof_abstract_slot_set_overlay (GOFAbstractSlot* self,
                                    GtkOverlay* value);
gpointer marlin_bookmark_ref (gpointer instance);
void marlin_bookmark_unref (gpointer instance);
GParamSpec* marlin_param_spec_bookmark (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
void marlin_value_set_bookmark (GValue* value,
                                gpointer v_object);
void marlin_value_take_bookmark (GValue* value,
                                 gpointer v_object);
gpointer marlin_value_get_bookmark (const GValue* value);
GType marlin_bookmark_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MarlinBookmark, marlin_bookmark_unref)
extern GCompareFunc marlin_bookmark_compare_with;
extern GCompareFunc marlin_bookmark_compare_uris;
MarlinBookmark* marlin_bookmark_new (GOFFile* gof_file,
                                     const gchar* label);
MarlinBookmark* marlin_bookmark_construct (GType object_type,
                                           GOFFile* gof_file,
                                           const gchar* label);
MarlinBookmark* marlin_bookmark_new_from_uri (const gchar* uri,
                                              const gchar* label);
MarlinBookmark* marlin_bookmark_construct_from_uri (GType object_type,
                                                    const gchar* uri,
                                                    const gchar* label);
MarlinBookmark* marlin_bookmark_copy (MarlinBookmark* self);
GFile* marlin_bookmark_get_location (MarlinBookmark* self);
gchar* marlin_bookmark_get_uri (MarlinBookmark* self);
gchar* marlin_bookmark_get_parse_name (MarlinBookmark* self);
GIcon* marlin_bookmark_get_icon (MarlinBookmark* self);
gboolean marlin_bookmark_uri_known_not_to_exist (MarlinBookmark* self);
const gchar* marlin_bookmark_get_label (MarlinBookmark* self);
void marlin_bookmark_set_label (MarlinBookmark* self,
                                const gchar* value);
GOFFile* marlin_bookmark_get_gof_file (MarlinBookmark* self);
GType marlin_bookmark_list_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MarlinBookmarkList, g_object_unref)
MarlinBookmarkList* marlin_bookmark_list_get_instance (void);
void marlin_bookmark_list_insert_uri (MarlinBookmarkList* self,
                                      const gchar* uri,
                                      guint index,
                                      const gchar* label);
void marlin_bookmark_list_insert_uri_at_end (MarlinBookmarkList* self,
                                             const gchar* uri,
                                             const gchar* label);
void marlin_bookmark_list_insert_uris (MarlinBookmarkList* self,
                                       GList* uris,
                                       guint index);
gboolean marlin_bookmark_list_contains (MarlinBookmarkList* self,
                                        MarlinBookmark* bm);
void marlin_bookmark_list_delete_item_at (MarlinBookmarkList* self,
                                          guint index);
void marlin_bookmark_list_delete_items_with_uri (MarlinBookmarkList* self,
                                                 const gchar* uri);
guint marlin_bookmark_list_length (MarlinBookmarkList* self);
MarlinBookmark* marlin_bookmark_list_item_at (MarlinBookmarkList* self,
                                              guint index);
void marlin_bookmark_list_move_item (MarlinBookmarkList* self,
                                     guint index,
                                     guint destination);
GList* marlin_bookmark_list_get_list (MarlinBookmarkList* self);
GType marlin_connect_server_operation_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MarlinConnectServerOperation, g_object_unref)
GType pf_connect_server_dialog_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PFConnectServerDialog, g_object_unref)
MarlinConnectServerOperation* marlin_connect_server_operation_new (PFConnectServerDialog* dialog);
MarlinConnectServerOperation* marlin_connect_server_operation_construct (GType object_type,
                                                                         PFConnectServerDialog* dialog);
PFConnectServerDialog* pf_connect_server_dialog_new (GtkWindow* window);
PFConnectServerDialog* pf_connect_server_dialog_construct (GType object_type,
                                                           GtkWindow* window);
void pf_connect_server_dialog_fill_details_async (PFConnectServerDialog* self,
                                                  GMountOperation* mount_operation,
                                                  const gchar* default_user,
                                                  const gchar* default_domain,
                                                  GAskPasswordFlags askpassword_flags,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
gboolean pf_connect_server_dialog_fill_details_finish (PFConnectServerDialog* self,
                                                       GAsyncResult* _res_);
const gchar* pf_connect_server_dialog_get_server_uri (PFConnectServerDialog* self);
GType marlin_dnd_handler_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MarlinDndHandler, g_object_unref)
MarlinDndHandler* marlin_dnd_handler_new (void);
MarlinDndHandler* marlin_dnd_handler_construct (GType object_type);
gboolean marlin_dnd_handler_dnd_perform (MarlinDndHandler* self,
                                         GtkWidget* widget,
                                         GOFFile* drop_target,
                                         GList* drop_file_list,
                                         GdkDragAction action);
GdkDragAction* marlin_dnd_handler_drag_drop_action_ask (MarlinDndHandler* self,
                                                        GtkWidget* dest_widget,
                                                        GtkApplicationWindow* win,
                                                        GdkDragAction possible_actions);
void marlin_dnd_handler_on_choice (MarlinDndHandler* self,
                                   GVariant* param);
gchar* marlin_dnd_handler_get_source_filename (MarlinDndHandler* self,
                                               GdkDragContext* context);
void marlin_dnd_handler_set_source_uri (MarlinDndHandler* self,
                                        GdkDragContext* context,
                                        const gchar* uri);
gboolean marlin_dnd_handler_handle_xdnddirectsave (MarlinDndHandler* self,
                                                   GdkDragContext* context,
                                                   GOFFile* drop_target,
                                                   GtkSelectionData* selection);
gboolean marlin_dnd_handler_handle_netscape_url (MarlinDndHandler* self,
                                                 GdkDragContext* context,
                                                 GOFFile* drop_target,
                                                 GtkSelectionData* selection);
gboolean marlin_dnd_handler_handle_file_drag_actions (MarlinDndHandler* self,
                                                      GtkWidget* dest_widget,
                                                      GtkApplicationWindow* win,
                                                      GdkDragContext* context,
                                                      GOFFile* drop_target,
                                                      GList* drop_file_list,
                                                      GdkDragAction possible_actions,
                                                      GdkDragAction suggested_action,
                                                      guint32 timestamp);
gboolean marlin_dnd_handler_selection_data_is_uri_list (GtkSelectionData* selection_data,
                                                        guint info,
                                                        gchar* * text);
gchar* marlin_dnd_handler_data_to_string (guchar* cdata,
                                          gint cdata_length1);
void marlin_dnd_handler_set_selection_data_from_file_list (GtkSelectionData* selection_data,
                                                           GList* file_list,
                                                           const gchar* prefix);
void marlin_dnd_handler_set_selection_text_from_file_list (GtkSelectionData* selection_data,
                                                           GList* file_list,
                                                           const gchar* prefix);
GType marlin_window_state_get_type (void) G_GNUC_CONST;
gchar* marlin_window_state_to_string (MarlinWindowState self);
MarlinWindowState marlin_window_state_from_gdk_window_state (GdkWindowState state,
                                                             gboolean start);
gboolean marlin_window_state_is_tiled (MarlinWindowState self);
gboolean marlin_window_state_is_maximized (MarlinWindowState self);
GType marlin_view_mode_get_type (void) G_GNUC_CONST;
GType marlin_open_flag_get_type (void) G_GNUC_CONST;
GType marlin_zoom_level_get_type (void) G_GNUC_CONST;
GType marlin_icon_size_get_type (void) G_GNUC_CONST;
MarlinIconSize marlin_zoom_level_to_icon_size (MarlinZoomLevel zoom_level);
MarlinZoomLevel marlin_zoom_level_get_nearest_from_value (gint size);
GtkIconSize marlin_zoom_level_to_stock_icon_size (MarlinZoomLevel zoom_level);
GType marlin_target_type_get_type (void) G_GNUC_CONST;
GType gof_file_icon_flags_get_type (void) G_GNUC_CONST;
GType gof_file_thumb_state_get_type (void) G_GNUC_CONST;
#define GOF_FILE_GIO_DEFAULT_ATTRIBUTES "standard::is-hidden,standard::is-backup,standard::is-symlink,standard:" \
":type,standard::name,standard::display-name,standard::content-type,sta" \
"ndard::fast-content-type,standard::size,standard::symlink-target,stand" \
"ard::target-uri,access::*,time::*,owner::*,trash::*,unix::*,id::filesy" \
"stem,thumbnail::*,mountable::*,metadata::marlin-sort-column-id,metadat" \
"a::marlin-sort-reversed"
GOFFile* gof_file_get (GFile* location);
GOFFile* gof_file_get_by_uri (const gchar* uri);
GOFFile* gof_file_get_by_commandline_arg (const gchar* arg);
GOFFile* gof_file_cache_lookup (GFile* file);
GMount* gof_file_get_mount_at (GFile* location);
GOFFile* gof_file_new (GFile* location,
                       GFile* dir);
GOFFile* gof_file_construct (GType object_type,
                             GFile* location,
                             GFile* dir);
void gof_file_remove_from_caches (GOFFile* self);
void gof_file_set_expanded (GOFFile* self,
                            gboolean expanded);
gboolean gof_file_is_folder (GOFFile* self);
gboolean gof_file_is_symlink (GOFFile* self);
gboolean gof_file_is_desktop_file (GOFFile* self);
gboolean gof_file_is_image (GOFFile* self);
gboolean gof_file_is_trashed (GOFFile* self);
gboolean gof_file_is_readable (GOFFile* self);
gboolean gof_file_is_writable (GOFFile* self);
gboolean gof_file_is_executable (GOFFile* self);
gboolean gof_file_is_mountable (GOFFile* self);
gboolean gof_file_is_smb_share (GOFFile* self);
gboolean gof_file_is_smb_server (GOFFile* self);
const gchar* gof_file_get_display_name (GOFFile* self);
GFile* gof_file_get_target_location (GOFFile* self);
const gchar* gof_file_get_symlink_target (GOFFile* self);
const gchar* gof_file_get_ftype (GOFFile* self);
gchar* gof_file_get_formated_time (GOFFile* self,
                                   const gchar* attr);
GdkPixbuf* gof_file_get_icon_pixbuf (GOFFile* self,
                                     gint size,
                                     gint scale,
                                     GOFFileIconFlags flags);
void gof_file_get_folder_icon_from_uri_or_path (GOFFile* self);
GType marlin_icon_info_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MarlinIconInfo, g_object_unref)
MarlinIconInfo* gof_file_get_icon (GOFFile* self,
                                   gint size,
                                   gint scale,
                                   GOFFileIconFlags flags);
void gof_file_update (GOFFile* self);
void gof_file_update_type (GOFFile* self);
void gof_file_update_icon (GOFFile* self,
                           gint size,
                           gint scale);
void gof_file_update_desktop_file (GOFFile* self);
void gof_file_query_update (GOFFile* self);
void gof_file_query_thumbnail_update (GOFFile* self);
gboolean gof_file_ensure_query_info (GOFFile* self);
const gchar* gof_file_get_thumbnail_path (GOFFile* self);
gboolean gof_file_can_set_owner (GOFFile* self);
gboolean gof_file_can_set_group (GOFFile* self);
gboolean gof_file_can_set_permissions (GOFFile* self);
gboolean gof_file_can_unmount (GOFFile* self);
gchar* gof_file_get_permissions_as_string (GOFFile* self);
GList* gof_file_get_settable_group_names (GOFFile* self);
gboolean gof_file_is_remote_uri_scheme (GOFFile* self);
gboolean gof_file_is_root_network_folder (GOFFile* self);
gboolean gof_file_is_network_uri_scheme (GOFFile* self);
gboolean gof_file_is_smb_uri_scheme (GOFFile* self);
gboolean gof_file_is_recent_uri_scheme (GOFFile* self);
gboolean gof_file_is_other_uri_scheme (GOFFile* self);
gchar* gof_file_get_display_target_uri (GOFFile* self);
GAppInfo* gof_file_get_default_handler (GOFFile* self);
gboolean gof_file_execute (GOFFile* self,
                           GList* files,
                           GError** error);
void gof_file_update_trash_info (GOFFile* self);
gint gof_file_compare_for_sort (GOFFile* self,
                                GOFFile* other,
                                gint sort_type,
                                gboolean directories_first,
                                gboolean reversed);
gint gof_file_compare_by_display_name (GOFFile* self,
                                       GOFFile* other);
void gof_file_update_emblem (GOFFile* self);
void gof_file_add_emblem (GOFFile* self,
                          const gchar* emblem);
GdkPixbuf* pf_pixbuf_utils_lighten (GdkPixbuf* src);
GdkPixbuf* pf_pixbuf_utils_darken (GdkPixbuf* src,
                                   guint8 saturation,
                                   guint8 darken);
GdkPixbuf* pf_pixbuf_utils_colorize (GdkPixbuf* src,
                                     GdkRGBA* color);
GdkPixbuf* pf_pixbuf_utils_lucent (GdkPixbuf* src,
                                   guint percent);
void marlin_file_changes_queue_file_added (GFile* location);
void marlin_file_changes_queue_file_changed (GFile* location);
void marlin_file_changes_queue_file_removed (GFile* location);
void marlin_file_changes_queue_file_moved (GFile* from,
                                           GFile* to);
void marlin_file_changes_consume_changes (gboolean consume_all);
GList* pf_file_utils_files_from_uris (const gchar* uris);
GKeyFile* pf_file_utils_key_file_from_file (GFile* file,
                                            GCancellable* cancellable,
                                            GError** error);
GFile* pf_file_utils_get_file_for_path (const gchar* path);
gchar* pf_file_utils_get_parent_path_from_path (const gchar* path);
void pf_file_utils_restore_files_from_trash (GList* files,
                                             GtkWidget* widget);
gboolean pf_file_utils_path_has_parent (const gchar* new_path);
gchar* pf_file_utils_escape_uri (const gchar* uri,
                                 gboolean allow_utf8,
                                 gboolean allow_single_quote);
gchar* pf_file_utils_sanitize_path (const gchar* p,
                                    const gchar* cp);
void pf_file_utils_split_protocol_from_path (const gchar* path,
                                             gchar* * protocol,
                                             gchar* * new_path);
gchar* pf_file_utils_get_smb_share_from_uri (const gchar* uri);
void pf_file_utils_get_rename_region (const gchar* filename,
                                      gint* start_offset,
                                      gint* end_offset,
                                      gboolean select_all);
void pf_file_utils_set_file_display_name (GFile* old_location,
                                          const gchar* new_name,
                                          GCancellable* cancellable,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
GFile* pf_file_utils_set_file_display_name_finish (GAsyncResult* _res_,
                                                   GError** error);
gchar* pf_file_utils_get_formatted_time_attribute_from_info (GFileInfo* info,
                                                             const gchar* attr);
gchar* pf_file_utils_get_formatted_date_time (GDateTime* dt);
guint16 pf_file_utils_get_default_port_for_protocol (const gchar* protocol);
gboolean pf_file_utils_get_is_tls_for_protocol (const gchar* protocol);
gboolean pf_file_utils_location_is_in_trash (GFile* location);
GdkDragAction pf_file_utils_file_accepts_drop (GOFFile* dest,
                                               GList* drop_file_list,
                                               GdkDragContext* context,
                                               GdkDragAction* suggested_action_return);
gint pf_file_utils_compare_modification_dates (GFile* a,
                                               GFile* b);
void pf_file_utils_remove_thumbnail_paths_for_uri (const gchar* uri);
gboolean pf_file_utils_same_location (const gchar* uri_a,
                                      const gchar* uri_b);
guint64 pf_file_utils_get_file_modification_time (GFile* file);
#define MARLIN_ROOT_FS_URI "file://"
#define MARLIN_TRASH_URI "trash://"
#define MARLIN_NETWORK_URI "network://"
#define MARLIN_RECENT_URI "recent://"
#define MARLIN_AFP_URI "afp://"
#define MARLIN_DAV_URI "dav://"
#define MARLIN_DAVS_URI "davs://"
#define MARLIN_SFTP_URI "sftp://"
#define MARLIN_FTP_URI "ftp://"
#define MARLIN_SMB_URI "smb://"
#define MARLIN_MTP_URI "mtp://"
GType marlin_file_conflict_dialog_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MarlinFileConflictDialog, g_object_unref)
GType marlin_file_conflict_dialog_response_type_get_type (void) G_GNUC_CONST;
MarlinFileConflictDialog* marlin_file_conflict_dialog_new (GtkWindow* parent,
                                                           GFile* _source,
                                                           GFile* _destination,
                                                           GFile* _dest_dir);
MarlinFileConflictDialog* marlin_file_conflict_dialog_construct (GType object_type,
                                                                 GtkWindow* parent,
                                                                 GFile* _source,
                                                                 GFile* _destination,
                                                                 GFile* _dest_dir);
gchar* marlin_file_conflict_dialog_get_new_name (MarlinFileConflictDialog* self);
gboolean marlin_file_conflict_dialog_get_apply_to_all (MarlinFileConflictDialog* self);
GType gof_call_when_ready_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GOFCallWhenReady, g_object_unref)
GOFCallWhenReady* gof_call_when_ready_new (GList* _files,
                                           GOFCallWhenReadycall_when_ready_func _f,
                                           gpointer _f_target);
GOFCallWhenReady* gof_call_when_ready_construct (GType object_type,
                                                 GList* _files,
                                                 GOFCallWhenReadycall_when_ready_func _f,
                                                 gpointer _f_target);
GType gof_directory_async_state_get_type (void) G_GNUC_CONST;
void gof_directory_async_init (GOFDirectoryAsync* self,
                               GOFDirectoryAsyncGOFFileLoadedFunc file_loaded_func,
                               gpointer file_loaded_func_target);
void gof_directory_async_check_network (GOFDirectoryAsync* self,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
gboolean gof_directory_async_check_network_finish (GOFDirectoryAsync* self,
                                                   GAsyncResult* _res_);
void gof_directory_async_cancel (GOFDirectoryAsync* self);
void gof_directory_async_reload (GOFDirectoryAsync* self);
void gof_directory_async_block_monitor (GOFDirectoryAsync* self);
void gof_directory_async_unblock_monitor (GOFDirectoryAsync* self);
void gof_directory_async_load_hiddens (GOFDirectoryAsync* self);
void gof_directory_async_update_files (GOFDirectoryAsync* self);
void gof_directory_async_update_desktop_files (GOFDirectoryAsync* self);
GOFFile* gof_directory_async_file_hash_lookup_location (GOFDirectoryAsync* self,
                                                        GFile* location);
void gof_directory_async_file_hash_add_file (GOFDirectoryAsync* self,
                                             GOFFile* gof);
GOFFile* gof_directory_async_file_cache_find_or_insert (GOFDirectoryAsync* self,
                                                        GFile* file,
                                                        gboolean update_hash);
void gof_directory_async_notify_files_changed (GList* files);
void gof_directory_async_notify_files_added (GList* files);
void gof_directory_async_notify_files_removed (GList* files);
void gof_directory_async_notify_files_moved (GList* files);
GOFDirectoryAsync* gof_directory_async_from_gfile (GFile* file);
GOFDirectoryAsync* gof_directory_async_from_file (GOFFile* gof);
GOFDirectoryAsync* gof_directory_async_cache_lookup (GFile* file);
GOFDirectoryAsync* gof_directory_async_cache_lookup_parent (GFile* file);
gboolean gof_directory_async_remove_dir_from_cache (GOFDirectoryAsync* dir);
gboolean gof_directory_async_purge_dir_from_cache (GOFDirectoryAsync* dir);
gboolean gof_directory_async_has_parent (GOFDirectoryAsync* self);
GFile* gof_directory_async_get_parent (GOFDirectoryAsync* self);
gboolean gof_directory_async_is_loading (GOFDirectoryAsync* self);
gboolean gof_directory_async_is_loaded (GOFDirectoryAsync* self);
gboolean gof_directory_async_has_timed_out (GOFDirectoryAsync* self);
gboolean gof_directory_async_is_empty (GOFDirectoryAsync* self);
GList* gof_directory_async_get_sorted_dirs (GOFDirectoryAsync* self);
GFile* gof_directory_async_get_creation_key (GOFDirectoryAsync* self);
GFile* gof_directory_async_get_location (GOFDirectoryAsync* self);
GFile* gof_directory_async_get_selected_file (GOFDirectoryAsync* self);
GOFFile* gof_directory_async_get_file (GOFDirectoryAsync* self);
GOFDirectoryAsyncState gof_directory_async_get_state (GOFDirectoryAsync* self);
guint gof_directory_async_get_displayed_files_count (GOFDirectoryAsync* self);
const gchar* gof_directory_async_get_scheme (GOFDirectoryAsync* self);
gboolean gof_directory_async_get_is_local (GOFDirectoryAsync* self);
gboolean gof_directory_async_get_is_trash (GOFDirectoryAsync* self);
gboolean gof_directory_async_get_is_network (GOFDirectoryAsync* self);
gboolean gof_directory_async_get_is_recent (GOFDirectoryAsync* self);
gboolean gof_directory_async_get_is_no_info (GOFDirectoryAsync* self);
gboolean gof_directory_async_get_has_mounts (GOFDirectoryAsync* self);
gboolean gof_directory_async_get_has_trash_dirs (GOFDirectoryAsync* self);
gboolean gof_directory_async_get_can_load (GOFDirectoryAsync* self);
gboolean gof_directory_async_get_can_open_files (GOFDirectoryAsync* self);
gboolean gof_directory_async_get_can_stream_files (GOFDirectoryAsync* self);
gboolean gof_directory_async_get_allow_user_interaction (GOFDirectoryAsync* self);
void gof_directory_async_set_allow_user_interaction (GOFDirectoryAsync* self,
                                                     gboolean value);
gboolean gof_directory_async_get_is_cancelled (GOFDirectoryAsync* self);
const gchar* gof_directory_async_get_last_error_message (GOFDirectoryAsync* self);
gboolean gof_directory_async_get_loaded_from_cache (GOFDirectoryAsync* self);
gboolean gof_directory_async_get_freeze_update (GOFDirectoryAsync* self);
void gof_directory_async_set_freeze_update (GOFDirectoryAsync* self,
                                            gboolean value);
GType gof_preferences_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GOFPreferences, g_object_unref)
extern GOFPreferences* gof_preferences;
GOFPreferences* gof_preferences_get_default (void);
GOFPreferences* gof_preferences_new (void);
GOFPreferences* gof_preferences_construct (GType object_type);
gboolean gof_preferences_get_show_hidden_files (GOFPreferences* self);
void gof_preferences_set_show_hidden_files (GOFPreferences* self,
                                            gboolean value);
gboolean gof_preferences_get_show_remote_thumbnails (GOFPreferences* self);
void gof_preferences_set_show_remote_thumbnails (GOFPreferences* self,
                                                 gboolean value);
gboolean gof_preferences_get_hide_local_thumbnails (GOFPreferences* self);
void gof_preferences_set_hide_local_thumbnails (GOFPreferences* self,
                                                gboolean value);
gboolean gof_preferences_get_confirm_trash (GOFPreferences* self);
void gof_preferences_set_confirm_trash (GOFPreferences* self,
                                        gboolean value);
gboolean gof_preferences_get_force_icon_size (GOFPreferences* self);
void gof_preferences_set_force_icon_size (GOFPreferences* self,
                                          gboolean value);
gboolean gof_preferences_get_sort_directories_first (GOFPreferences* self);
void gof_preferences_set_sort_directories_first (GOFPreferences* self,
                                                 gboolean value);
gboolean gof_preferences_get_remember_history (GOFPreferences* self);
void gof_preferences_set_remember_history (GOFPreferences* self,
                                           gboolean value);
const gchar* gof_preferences_get_date_format (GOFPreferences* self);
void gof_preferences_set_date_format (GOFPreferences* self,
                                      const gchar* value);
const gchar* gof_preferences_get_clock_format (GOFPreferences* self);
void gof_preferences_set_clock_format (GOFPreferences* self,
                                       const gchar* value);
GType marlin_plugin_manager_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MarlinPluginManager, g_object_unref)
extern MarlinPluginManager* plugins;
MarlinPluginManager* marlin_plugin_manager_new (const gchar* plugin_dir,
                                                guint user_id);
MarlinPluginManager* marlin_plugin_manager_construct (GType object_type,
                                                      const gchar* plugin_dir,
                                                      guint user_id);
void marlin_plugin_manager_hook_context_menu (MarlinPluginManager* self,
                                              GtkWidget* menu,
                                              GList* files);
void marlin_plugin_manager_ui (MarlinPluginManager* self,
                               GtkUIManager* data);
void marlin_plugin_manager_directory_loaded (MarlinPluginManager* self,
                                             GtkApplicationWindow* window,
                                             GOFAbstractSlot* view,
                                             GOFFile* directory);
void marlin_plugin_manager_interface_loaded (MarlinPluginManager* self,
                                             GtkWidget* win);
void marlin_plugin_manager_sidebar_loaded (MarlinPluginManager* self,
                                           GtkWidget* widget);
void marlin_plugin_manager_update_sidebar (MarlinPluginManager* self,
                                           GtkWidget* widget);
void marlin_plugin_manager_update_file_info (MarlinPluginManager* self,
                                             GOFFile* file);
GeeList* marlin_plugin_manager_get_available_plugins (MarlinPluginManager* self);
GeeList* marlin_plugin_manager_get_menuitem_references (MarlinPluginManager* self);
gpointer marlin_plugins_base_ref (gpointer instance);
void marlin_plugins_base_unref (gpointer instance);
GParamSpec* marlin_plugins_param_spec_base (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
void marlin_plugins_value_set_base (GValue* value,
                                    gpointer v_object);
void marlin_plugins_value_take_base (GValue* value,
                                     gpointer v_object);
gpointer marlin_plugins_value_get_base (const GValue* value);
GType marlin_plugins_base_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MarlinPluginsBase, marlin_plugins_base_unref)
void marlin_plugins_base_directory_loaded (MarlinPluginsBase* self,
                                           GtkApplicationWindow* window,
                                           GOFAbstractSlot* view,
                                           GOFFile* directory);
void marlin_plugins_base_context_menu (MarlinPluginsBase* self,
                                       GtkWidget* widget,
                                       GList* files);
void marlin_plugins_base_ui (MarlinPluginsBase* self,
                             GtkUIManager* widget);
void marlin_plugins_base_sidebar_loaded (MarlinPluginsBase* self,
                                         GtkWidget* widget);
void marlin_plugins_base_update_sidebar (MarlinPluginsBase* self,
                                         GtkWidget* widget);
void marlin_plugins_base_update_file_info (MarlinPluginsBase* self,
                                           GOFFile* file);
void marlin_plugins_base_interface_loaded (MarlinPluginsBase* self,
                                           GtkWidget* widget);
MarlinPluginsBase* marlin_plugins_base_construct (GType object_type);
GType pf_progress_info_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PFProgressInfo, g_object_unref)
PFProgressInfo* pf_progress_info_new (void);
PFProgressInfo* pf_progress_info_construct (GType object_type);
gchar* pf_progress_info_get_title (PFProgressInfo* self);
gchar* pf_progress_info_get_status (PFProgressInfo* self);
gchar* pf_progress_info_get_details (PFProgressInfo* self);
GCancellable* pf_progress_info_get_cancellable (PFProgressInfo* self);
void pf_progress_info_cancel (PFProgressInfo* self);
gboolean pf_progress_info_get_is_started (PFProgressInfo* self);
gboolean pf_progress_info_get_is_finished (PFProgressInfo* self);
gboolean pf_progress_info_get_is_paused (PFProgressInfo* self);
gdouble pf_progress_info_get_progress (PFProgressInfo* self);
gdouble pf_progress_info_get_current (PFProgressInfo* self);
gdouble pf_progress_info_get_total (PFProgressInfo* self);
void pf_progress_info_start (PFProgressInfo* self);
void pf_progress_info_finish (PFProgressInfo* self);
void pf_progress_info_pause (PFProgressInfo* self);
void pf_progress_info_resume (PFProgressInfo* self);
void pf_progress_info_set_status (PFProgressInfo* self,
                                  const gchar* status);
void pf_progress_info_take_status (PFProgressInfo* self,
                                   gchar* status);
void pf_progress_info_set_details (PFProgressInfo* self,
                                   const gchar* details);
void pf_progress_info_take_details (PFProgressInfo* self,
                                    gchar* details);
void pf_progress_info_set_progress (PFProgressInfo* self,
                                    gdouble current,
                                    gdouble total);
void pf_progress_info_pulse_progress (PFProgressInfo* self);
GType pf_progress_info_manager_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PFProgressInfoManager, g_object_unref)
PFProgressInfoManager* pf_progress_info_manager_get_instance (void);
void pf_progress_info_manager_add_new_info (PFProgressInfoManager* self,
                                            PFProgressInfo* info);
GeeLinkedList* pf_progress_info_manager_get_all_infos (PFProgressInfoManager* self);
PFProgressInfoManager* pf_progress_info_manager_new (void);
PFProgressInfoManager* pf_progress_info_manager_construct (GType object_type);
#define MARLIN_SIDEBAR_PLUGIN_ITEM_PLACE_TYPE MARLIN_PLACE_TYPE_PLUGIN_ITEM
MarlinSidebarPluginItem* marlin_sidebar_plugin_item_new (void);
MarlinSidebarPluginItem* marlin_sidebar_plugin_item_construct (GType object_type);
const gchar* marlin_sidebar_plugin_item_get_name (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_name (MarlinSidebarPluginItem* self,
                                          const gchar* value);
const gchar* marlin_sidebar_plugin_item_get_uri (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_uri (MarlinSidebarPluginItem* self,
                                         const gchar* value);
GDrive* marlin_sidebar_plugin_item_get_drive (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_drive (MarlinSidebarPluginItem* self,
                                           GDrive* value);
GVolume* marlin_sidebar_plugin_item_get_volume (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_volume (MarlinSidebarPluginItem* self,
                                            GVolume* value);
GMount* marlin_sidebar_plugin_item_get_mount (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_mount (MarlinSidebarPluginItem* self,
                                           GMount* value);
GIcon* marlin_sidebar_plugin_item_get_icon (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_icon (MarlinSidebarPluginItem* self,
                                          GIcon* value);
guint marlin_sidebar_plugin_item_get_index (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_index (MarlinSidebarPluginItem* self,
                                           guint value);
gboolean marlin_sidebar_plugin_item_get_can_eject (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_can_eject (MarlinSidebarPluginItem* self,
                                               gboolean value);
const gchar* marlin_sidebar_plugin_item_get_tooltip (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_tooltip (MarlinSidebarPluginItem* self,
                                             const gchar* value);
GIcon* marlin_sidebar_plugin_item_get_action_icon (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_action_icon (MarlinSidebarPluginItem* self,
                                                 GIcon* value);
gboolean marlin_sidebar_plugin_item_get_show_spinner (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_show_spinner (MarlinSidebarPluginItem* self,
                                                  gboolean value);
guint64 marlin_sidebar_plugin_item_get_free_space (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_free_space (MarlinSidebarPluginItem* self,
                                                guint64 value);
guint64 marlin_sidebar_plugin_item_get_disk_size (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_disk_size (MarlinSidebarPluginItem* self,
                                               guint64 value);
GActionGroup* marlin_sidebar_plugin_item_get_action_group (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_action_group (MarlinSidebarPluginItem* self,
                                                  GActionGroup* value);
const gchar* marlin_sidebar_plugin_item_get_action_group_namespace (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_action_group_namespace (MarlinSidebarPluginItem* self,
                                                            const gchar* value);
GMenuModel* marlin_sidebar_plugin_item_get_menu_model (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_menu_model (MarlinSidebarPluginItem* self,
                                                GMenuModel* value);
MarlinPluginCallbackFunc marlin_sidebar_plugin_item_get_cb (MarlinSidebarPluginItem* self);
void marlin_sidebar_plugin_item_set_cb (MarlinSidebarPluginItem* self,
                                        MarlinPluginCallbackFunc value);
GType pf_sound_manager_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PFSoundManager, g_object_unref)
PFSoundManager* pf_sound_manager_get_instance (void);
void pf_sound_manager_play_delete_sound (PFSoundManager* self);
void pf_sound_manager_play_empty_trash_sound (PFSoundManager* self);
void pf_sound_manager_play_sound (PFSoundManager* self,
                                  const gchar* pf_sound_id);
#define PF_SOUND_THEME "freedesktop"
#define PF_SOUND_DELETE "trash-empty"
#define PF_SOUND_EMPTY_TRASH "trash-empty"
#define CANCEL _ ("_Cancel")
#define DELETE _ ("Delete")
#define SKIP _ ("_Skip")
#define SKIP_ALL _ ("S_kip All")
#define RETRY _ ("_Retry")
#define DELETE_ALL _ ("Delete _All")
#define REPLACE _ ("_Replace")
#define REPLACE_ALL _ ("Replace _All")
#define MERGE _ ("_Merge")
#define MERGE_ALL _ ("Merge _All")
#define COPY_FORCE _ ("Copy _Anyway")
#define EMPTY_TRASH _ ("Empty _Trash")
GType marlin_run_simple_dialog_data_get_type (void) G_GNUC_CONST;
MarlinRunSimpleDialogData* marlin_run_simple_dialog_data_dup (const MarlinRunSimpleDialogData* self);
void marlin_run_simple_dialog_data_free (MarlinRunSimpleDialogData* self);
void marlin_run_simple_dialog_data_copy (const MarlinRunSimpleDialogData* self,
                                         MarlinRunSimpleDialogData* dest);
void marlin_run_simple_dialog_data_destroy (MarlinRunSimpleDialogData* self);
GraniteMessageDialog* pf_dialogs_show_error_dialog (const gchar* primary_text,
                                                    const gchar* secondary_text,
                                                    GtkWindow* parent);
GraniteMessageDialog* pf_dialogs_show_warning_dialog (const gchar* primary_text,
                                                      const gchar* secondary_text,
                                                      GtkWindow* parent);
gint pf_dialogs_run_simple_file_operation_dialog (MarlinRunSimpleDialogData* data);
GType marlin_trash_monitor_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MarlinTrashMonitor, g_object_unref)
#define MARLIN_TRASH_MONITOR_URI "trash://"
MarlinTrashMonitor* marlin_trash_monitor_get_default (void);
GIcon* marlin_trash_monitor_get_icon (MarlinTrashMonitor* self);
MarlinTrashMonitor* marlin_trash_monitor_new (void);
MarlinTrashMonitor* marlin_trash_monitor_construct (GType object_type);
gboolean marlin_trash_monitor_get_is_empty (MarlinTrashMonitor* self);
GList* pf_user_utils_get_user_names (void);
GList* pf_user_utils_get_group_names_for_user (void);
GList* pf_user_utils_get_all_group_names (void);
gboolean pf_user_utils_user_in_group (const gchar* group_name);
uid_t* pf_user_utils_get_group_id_from_group_name (const gchar* group_name);
uid_t* pf_user_utils_get_user_id_from_user_name (const gchar* user_name);
const gchar* pf_user_utils_get_user_home_from_user_uid (uid_t uid);
uid_t* pf_user_utils_get_id_from_digit_string (const gchar* digit_string);
gchar* pf_user_utils_get_real_user_home (void);
GType marlin_undo_action_type_get_type (void) G_GNUC_CONST;
gpointer marlin_undo_action_data_ref (gpointer instance);
void marlin_undo_action_data_unref (gpointer instance);
GParamSpec* marlin_param_spec_undo_action_data (const gchar* name,
                                                const gchar* nick,
                                                const gchar* blurb,
                                                GType object_type,
                                                GParamFlags flags);
void marlin_value_set_undo_action_data (GValue* value,
                                        gpointer v_object);
void marlin_value_take_undo_action_data (GValue* value,
                                         gpointer v_object);
gpointer marlin_value_get_undo_action_data (const GValue* value);
GType marlin_undo_action_data_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MarlinUndoActionData, marlin_undo_action_data_unref)
MarlinUndoActionData* marlin_undo_action_data_new (MarlinUndoActionType action_type,
                                                   gint items_count);
MarlinUndoActionData* marlin_undo_action_data_construct (GType object_type,
                                                         MarlinUndoActionType action_type,
                                                         gint items_count);
void marlin_undo_action_data_set_src_dir (MarlinUndoActionData* self,
                                          GFile* src);
void marlin_undo_action_data_set_dest_dir (MarlinUndoActionData* self,
                                           GFile* dest);
void marlin_undo_action_data_add_origin_target_pair (MarlinUndoActionData* self,
                                                     GFile* origin,
                                                     GFile* target);
void marlin_undo_action_data_set_create_data (MarlinUndoActionData* self,
                                              const gchar* target_uri,
                                              const gchar* template);
void marlin_undo_action_data_set_rename_information (MarlinUndoActionData* self,
                                                     GFile* old_file,
                                                     GFile* new_file);
void marlin_undo_action_data_add_trashed_file (MarlinUndoActionData* self,
                                               GFile* file,
                                               guint64 mtime);
void marlin_undo_action_data_add_file_permissions (MarlinUndoActionData* self,
                                                   GFile* file,
                                                   guint32 permission);
void marlin_undo_action_data_set_recursive_permissions (MarlinUndoActionData* self,
                                                        guint32 file_permissions,
                                                        guint32 file_mask,
                                                        guint32 dir_permissions,
                                                        guint32 dir_mask);
void marlin_undo_action_data_set_file_permissions (MarlinUndoActionData* self,
                                                   const gchar* uri,
                                                   guint32 current_permissions,
                                                   guint32 new_permissions);
void marlin_undo_action_data_set_owner_change_information (MarlinUndoActionData* self,
                                                           const gchar* uri,
                                                           const gchar* current_user,
                                                           const gchar* new_user);
void marlin_undo_action_data_set_group_change_information (MarlinUndoActionData* self,
                                                           const gchar* uri,
                                                           const gchar* current_group,
                                                           const gchar* new_group);
GType marlin_undo_manager_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MarlinUndoManager, g_object_unref)
MarlinUndoManager* marlin_undo_manager_instance (void);
void marlin_undo_manager_undo (MarlinUndoManager* self,
                               GtkWidget* widget,
                               GCancellable* cancellable,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_);
gboolean marlin_undo_manager_undo_finish (MarlinUndoManager* self,
                                          GAsyncResult* _res_,
                                          GError** error);
void marlin_undo_manager_redo (MarlinUndoManager* self,
                               GtkWidget* widget,
                               GCancellable* cancellable,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_);
gboolean marlin_undo_manager_redo_finish (MarlinUndoManager* self,
                                          GAsyncResult* _res_,
                                          GError** error);
void marlin_undo_manager_add_action (MarlinUndoManager* self,
                                     MarlinUndoActionData* action);
void marlin_undo_manager_add_rename_action (MarlinUndoManager* self,
                                            GFile* renamed_file,
                                            const gchar* original_name);
void marlin_undo_manager_trash_has_emptied (MarlinUndoManager* self);
gboolean marlin_undo_manager_can_undo (MarlinUndoManager* self);
gboolean marlin_undo_manager_can_redo (MarlinUndoManager* self);
MarlinUndoManager* marlin_undo_manager_new (void);
MarlinUndoManager* marlin_undo_manager_construct (GType object_type);
guint marlin_undo_manager_get_undo_levels (MarlinUndoManager* self);
void marlin_undo_manager_set_undo_levels (MarlinUndoManager* self,
                                          guint value);
gboolean marlin_undo_manager_get_confirm_delete (MarlinUndoManager* self);
void marlin_undo_manager_set_confirm_delete (MarlinUndoManager* self,
                                             gboolean value);
gboolean marlin_undo_manager_get_undo_redo_flag (MarlinUndoManager* self);
MarlinIconInfo* marlin_icon_info_new_for_pixbuf (GdkPixbuf* pixbuf);
MarlinIconInfo* marlin_icon_info_construct_for_pixbuf (GType object_type,
                                                       GdkPixbuf* pixbuf);
MarlinIconInfo* marlin_icon_info_new_for_icon_info (GtkIconInfo* icon_info);
MarlinIconInfo* marlin_icon_info_construct_for_icon_info (GType object_type,
                                                          GtkIconInfo* icon_info);
MarlinIconInfo* marlin_icon_info_lookup (GIcon* icon,
                                         gint size,
                                         gint scale);
MarlinIconInfo* marlin_icon_info_get_generic_icon (gint size,
                                                   gint scale);
MarlinIconInfo* marlin_icon_info_lookup_from_name (const gchar* icon_name,
                                                   gint size,
                                                   gint scale);
MarlinIconInfo* marlin_icon_info_lookup_from_path (const gchar* path,
                                                   gint size,
                                                   gint scale);
gboolean marlin_icon_info_is_fallback (MarlinIconInfo* self);
GdkPixbuf* marlin_icon_info_get_pixbuf_nodefault (MarlinIconInfo* self);
GtkIconTheme* marlin_icon_info_get_icon_theme (void);
guint marlin_icon_info_loadable_icon_cache_info (void);
guint marlin_icon_info_themed_icon_cache_info (void);
void marlin_icon_info_remove_cache (const gchar* path,
                                    gint size,
                                    gint scale);
void marlin_icon_info_set_reap_time (guint milliseconds);
void marlin_icon_info_clear_caches (void);
MarlinIconInfo* marlin_icon_info_new (void);
MarlinIconInfo* marlin_icon_info_construct (GType object_type);
GType marlin_thumbnailer_daemon_proxy_get_type (void) G_GNUC_CONST;
guint marlin_thumbnailer_daemon_register_object (void* object,
                                                 GDBusConnection* connection,
                                                 const gchar* path,
                                                 GError** error);
GType marlin_thumbnailer_daemon_get_type (void) G_GNUC_CONST;
void marlin_thumbnailer_daemon_queue (MarlinThumbnailerDaemon* self,
                                      gchar** uris,
                                      gint uris_length1,
                                      gchar** mime_types,
                                      gint mime_types_length1,
                                      const gchar* flavor,
                                      const gchar* scheduler,
                                      guint handle_to_unqueue,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
guint marlin_thumbnailer_daemon_queue_finish (MarlinThumbnailerDaemon* self,
                                              GAsyncResult* _res_,
                                              GError** error);
void marlin_thumbnailer_daemon_dequeue (MarlinThumbnailerDaemon* self,
                                        guint handle,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
void marlin_thumbnailer_daemon_dequeue_finish (MarlinThumbnailerDaemon* self,
                                               GAsyncResult* _res_,
                                               GError** error);
void marlin_thumbnailer_daemon_get_supported (MarlinThumbnailerDaemon* self,
                                              gchar*** uri_schemes,
                                              gint* uri_schemes_length1,
                                              gchar*** mime_types,
                                              gint* mime_types_length1,
                                              GError** error);
GType marlin_thumbnailer_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MarlinThumbnailer, g_object_unref)
MarlinThumbnailer* marlin_thumbnailer_get (void);
gboolean marlin_thumbnailer_queue_file (MarlinThumbnailer* self,
                                        GOFFile* file,
                                        gint* request,
                                        gboolean large);
gboolean marlin_thumbnailer_queue_files (MarlinThumbnailer* self,
                                         GList* files,
                                         gint* request,
                                         gboolean large);
void marlin_thumbnailer_dequeue (MarlinThumbnailer* self,
                                 gint request);

extern const gchar* GOF_PREFERENCES_TAGS_COLORS[10];

G_END_DECLS

#endif
