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


#ifndef __PANTHEON_FILES_CORE_H__
#define __PANTHEON_FILES_CORE_H__

#include <glib.h>
#include <gtk/gtk.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <glib-object.h>
#include <gof-file.h>
#include <gee.h>

G_BEGIN_DECLS


#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_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_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 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 struct _GOFDirectoryAsyncPrivate GOFDirectoryAsyncPrivate;

#define GOF_DIRECTORY_ASYNC_TYPE_STATE (gof_directory_async_state_get_type ())

#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;

typedef void (*MarlinPluginCallbackFunc) (GtkWidget* widget, void* user_data);
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;

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, GtkTreeIter* result);
};

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_EJECT,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_NO_EJECT,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_BOOKMARK,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_TOOLTIP,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_EJECT_ICON,
	MARLIN_ABSTRACT_SIDEBAR_COLUMN_SHOW_SPINNER,
	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_COUNT
} MarlinAbstractSidebarColumn;

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

struct _GOFAbstractSlotClass {
	GObjectClass parent_class;
	GList* (*get_selected_files) (GOFAbstractSlot* self);
	void (*set_active_state) (GOFAbstractSlot* self, gboolean set_active);
	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 allow_mode_change);
	void (*select_first_for_empty_selection) (GOFAbstractSlot* self);
	void (*select_glib_files) (GOFAbstractSlot* self, GList* locations, GFile* focus_location);
	void (*make_view) (GOFAbstractSlot* self);
	void (*cancel) (GOFAbstractSlot* self);
	void (*close) (GOFAbstractSlot* self);
	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);
};

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

struct _GOFCallWhenReadyClass {
	GObjectClass parent_class;
};

typedef void (*GOFCallWhenReadycall_when_ready_func) (GList* files, void* user_data);
typedef enum  {
	GOF_DIRECTORY_ASYNC_STATE_NOT_LOADED,
	GOF_DIRECTORY_ASYNC_STATE_LOADING,
	GOF_DIRECTORY_ASYNC_STATE_LOADED
} GOFDirectoryAsyncState;

struct _GOFDirectoryAsync {
	GObject parent_instance;
	GOFDirectoryAsyncPrivate * priv;
	GFile* location;
	GFile* selected_file;
	GOFFile* file;
	gint icon_size;
	gboolean uri_contain_keypath_icons;
	gchar* longest_file_name;
	gboolean track_longest_name;
	GOFDirectoryAsyncState state;
	guint files_count;
	gboolean permission_denied;
	gboolean is_local;
	gboolean is_trash;
	gboolean is_recent;
	gboolean has_mounts;
	gboolean has_trash_dirs;
	gboolean can_load;
};

struct _GOFDirectoryAsyncClass {
	GObjectClass parent_class;
};

typedef void (*GOFDirectoryAsyncGOFFileLoadedFunc) (GOFFile* file, void* user_data);
struct _GOFPreferences {
	GObject parent_instance;
	GOFPreferencesPrivate * priv;
	gboolean pref_show_hidden_files;
	gboolean pref_confirm_trash;
	gboolean pref_interpret_desktop_files;
	gboolean pref_force_icon_size;
	gchar* pref_date_format;
};

struct _GOFPreferencesClass {
	GObjectClass parent_class;
};

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

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, void* data);
	void (*context_menu) (MarlinPluginsBase* self, GtkWidget* widget, GList* files);
	void (*ui) (MarlinPluginsBase* self, GtkUIManager* widget);
	void (*update_sidebar) (MarlinPluginsBase* self, GtkWidget* widget);
	void (*update_file_info) (MarlinPluginsBase* self, GOFFile* file);
};


GType marlin_place_type_get_type (void) G_GNUC_CONST;
GType marlin_abstract_sidebar_get_type (void) G_GNUC_CONST;
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* cb_target);
void marlin_abstract_sidebar_add_extra_item (MarlinAbstractSidebar* self, const GtkTreeRowReference* category, const gchar* text, const gchar* tooltip, GIcon* icon, MarlinPluginCallbackFunc cb, void* cb_target);
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, GtkTreeIter* result);
MarlinAbstractSidebar* marlin_abstract_sidebar_construct (GType object_type);
GType gof_abstract_slot_get_type (void) G_GNUC_CONST;
void gof_abstract_slot_add_extra_widget (GOFAbstractSlot* self, GtkWidget* widget);
void gof_abstract_slot_init (GOFAbstractSlot* self);
GList* gof_abstract_slot_get_selected_files (GOFAbstractSlot* self);
void gof_abstract_slot_set_active_state (GOFAbstractSlot* self, gboolean set_active);
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 allow_mode_change);
void gof_abstract_slot_select_first_for_empty_selection (GOFAbstractSlot* self);
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_cancel (GOFAbstractSlot* self);
void gof_abstract_slot_close (GOFAbstractSlot* self);
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;
GOFDirectoryAsync* gof_abstract_slot_get_directory (GOFAbstractSlot* self);
void gof_abstract_slot_set_directory (GOFAbstractSlot* self, GOFDirectoryAsync* value);
GFile* gof_abstract_slot_get_location (GOFAbstractSlot* self);
const gchar* gof_abstract_slot_get_uri (GOFAbstractSlot* self);
gboolean gof_abstract_slot_get_can_create (GOFAbstractSlot* self);
gboolean gof_abstract_slot_get_locked_focus (GOFAbstractSlot* self);
GType gof_call_when_ready_get_type (void) G_GNUC_CONST;
GOFCallWhenReady* gof_call_when_ready_new (GList* _files, GOFCallWhenReadycall_when_ready_func _f, void* _f_target);
GOFCallWhenReady* gof_call_when_ready_construct (GType object_type, GList* _files, GOFCallWhenReadycall_when_ready_func _f, void* _f_target);
GType gof_directory_async_state_get_type (void) G_GNUC_CONST;
gboolean gof_directory_async_check_network (GOFDirectoryAsync* self);
void gof_directory_async_cancel (GOFDirectoryAsync* self);
void gof_directory_async_clear_directory_info (GOFDirectoryAsync* self);
void gof_directory_async_load (GOFDirectoryAsync* self, GOFDirectoryAsyncGOFFileLoadedFunc file_loaded_func, void* file_loaded_func_target);
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);
void gof_directory_async_mount_mountable (GOFDirectoryAsync* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void gof_directory_async_mount_mountable_finish (GOFDirectoryAsync* self, GAsyncResult* _res_, GError** error);
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);
void gof_directory_async_remove_file_from_cache (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* self);
gboolean gof_directory_async_purge_dir_from_cache (GOFDirectoryAsync* self);
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_is_empty (GOFDirectoryAsync* self);
GList* gof_directory_async_get_sorted_dirs (GOFDirectoryAsync* self);
void gof_directory_async_queue_load_thumbnails (GOFDirectoryAsync* self, gint size);
gboolean gof_directory_async_get_is_ready (GOFDirectoryAsync* self);
gboolean gof_directory_async_get_is_cancelled (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;
extern GOFPreferences* gof_preferences;
GOFPreferences* gof_preferences_new (void);
GOFPreferences* gof_preferences_construct (GType object_type);
GOFPreferences* gof_preferences_get_default (void);
gboolean gof_preferences_get_show_hidden_files (GOFPreferences* self);
void gof_preferences_set_show_hidden_files (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_interpret_desktop_files (GOFPreferences* self);
void gof_preferences_set_interpret_desktop_files (GOFPreferences* self, gboolean value);
gboolean gof_preferences_get_force_icon_size (GOFPreferences* self);
void gof_preferences_set_force_icon_size (GOFPreferences* self, gboolean value);
const gchar* gof_preferences_get_date_format (GOFPreferences* self);
void gof_preferences_set_date_format (GOFPreferences* self, const gchar* value);
GType marlin_plugin_manager_get_type (void) G_GNUC_CONST;
extern MarlinPluginManager* plugins;
MarlinPluginManager* marlin_plugin_manager_new (const gchar* plugin_dir);
MarlinPluginManager* marlin_plugin_manager_construct (GType object_type, const gchar* plugin_dir);
void marlin_plugin_manager_load_plugins (MarlinPluginManager* self);
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, void* path);
void marlin_plugin_manager_interface_loaded (MarlinPluginManager* self, GtkWidget* win);
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;
void marlin_plugins_base_directory_loaded (MarlinPluginsBase* self, void* data);
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_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);

extern const gchar* GOF_PREFERENCES_TAGS_COLORS[10];

G_END_DECLS

#endif
