/* diodon.h generated by valac 0.56.17, the Vala compiler, do not modify */

#ifndef __LIBDIODON_DIODON_H__
#define __LIBDIODON_DIODON_H__

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

G_BEGIN_DECLS

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif
#define DIODON_ZEITGEIST_CLIPBOARD_STORAGE_CLIPBOARD_URI "dav:"

#define DIODON_TYPE_CLIPBOARD_CONFIGURATION (diodon_clipboard_configuration_get_type ())
#define DIODON_CLIPBOARD_CONFIGURATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIODON_TYPE_CLIPBOARD_CONFIGURATION, DiodonClipboardConfiguration))
#define DIODON_CLIPBOARD_CONFIGURATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIODON_TYPE_CLIPBOARD_CONFIGURATION, DiodonClipboardConfigurationClass))
#define DIODON_IS_CLIPBOARD_CONFIGURATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIODON_TYPE_CLIPBOARD_CONFIGURATION))
#define DIODON_IS_CLIPBOARD_CONFIGURATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIODON_TYPE_CLIPBOARD_CONFIGURATION))
#define DIODON_CLIPBOARD_CONFIGURATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIODON_TYPE_CLIPBOARD_CONFIGURATION, DiodonClipboardConfigurationClass))

typedef struct _DiodonClipboardConfiguration DiodonClipboardConfiguration;
typedef struct _DiodonClipboardConfigurationClass DiodonClipboardConfigurationClass;
typedef struct _DiodonClipboardConfigurationPrivate DiodonClipboardConfigurationPrivate;

#define DIODON_TYPE_ICLIPBOARD_ITEM (diodon_iclipboard_item_get_type ())
#define DIODON_ICLIPBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIODON_TYPE_ICLIPBOARD_ITEM, DiodonIClipboardItem))
#define DIODON_IS_ICLIPBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIODON_TYPE_ICLIPBOARD_ITEM))
#define DIODON_ICLIPBOARD_ITEM_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DIODON_TYPE_ICLIPBOARD_ITEM, DiodonIClipboardItemIface))

typedef struct _DiodonIClipboardItem DiodonIClipboardItem;
typedef struct _DiodonIClipboardItemIface DiodonIClipboardItemIface;
typedef enum  {
	DIODON_CLIPBOARD_TYPE_NONE,
	DIODON_CLIPBOARD_TYPE_CLIPBOARD,
	DIODON_CLIPBOARD_TYPE_PRIMARY
} DiodonClipboardType;

#define DIODON_TYPE_CLIPBOARD_TYPE (diodon_clipboard_type_get_type ())
typedef enum  {
	DIODON_CLIPBOARD_CATEGORY_CLIPBOARD = 0,
	DIODON_CLIPBOARD_CATEGORY_TEXT,
	DIODON_CLIPBOARD_CATEGORY_FILES,
	DIODON_CLIPBOARD_CATEGORY_IMAGES
} DiodonClipboardCategory;

#define DIODON_TYPE_CLIPBOARD_CATEGORY (diodon_clipboard_category_get_type ())
typedef enum  {
	DIODON_CLIPBOARD_TIMERANGE_ALL = 0,
	DIODON_CLIPBOARD_TIMERANGE_LAST_24_HOURS,
	DIODON_CLIPBOARD_TIMERANGE_LAST_7_DAYS,
	DIODON_CLIPBOARD_TIMERANGE_LAST_30_DAYS,
	DIODON_CLIPBOARD_TIMERANGE_LAST_YEAR
} DiodonClipboardTimerange;

#define DIODON_TYPE_CLIPBOARD_TIMERANGE (diodon_clipboard_timerange_get_type ())

#define DIODON_TYPE_CONTROLLER (diodon_controller_get_type ())
#define DIODON_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIODON_TYPE_CONTROLLER, DiodonController))
#define DIODON_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIODON_TYPE_CONTROLLER, DiodonControllerClass))
#define DIODON_IS_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIODON_TYPE_CONTROLLER))
#define DIODON_IS_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIODON_TYPE_CONTROLLER))
#define DIODON_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIODON_TYPE_CONTROLLER, DiodonControllerClass))

typedef struct _DiodonController DiodonController;
typedef struct _DiodonControllerClass DiodonControllerClass;
typedef struct _DiodonControllerPrivate DiodonControllerPrivate;
typedef void (*DiodonControllerActionCallback) (gchar** args, gint args_length1, gpointer user_data);

#define DIODON_TYPE_FILE_CLIPBOARD_ITEM (diodon_file_clipboard_item_get_type ())
#define DIODON_FILE_CLIPBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIODON_TYPE_FILE_CLIPBOARD_ITEM, DiodonFileClipboardItem))
#define DIODON_FILE_CLIPBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIODON_TYPE_FILE_CLIPBOARD_ITEM, DiodonFileClipboardItemClass))
#define DIODON_IS_FILE_CLIPBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIODON_TYPE_FILE_CLIPBOARD_ITEM))
#define DIODON_IS_FILE_CLIPBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIODON_TYPE_FILE_CLIPBOARD_ITEM))
#define DIODON_FILE_CLIPBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIODON_TYPE_FILE_CLIPBOARD_ITEM, DiodonFileClipboardItemClass))

typedef struct _DiodonFileClipboardItem DiodonFileClipboardItem;
typedef struct _DiodonFileClipboardItemClass DiodonFileClipboardItemClass;
typedef struct _DiodonFileClipboardItemPrivate DiodonFileClipboardItemPrivate;

#define DIODON_TYPE_IMAGE_CLIPBOARD_ITEM (diodon_image_clipboard_item_get_type ())
#define DIODON_IMAGE_CLIPBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIODON_TYPE_IMAGE_CLIPBOARD_ITEM, DiodonImageClipboardItem))
#define DIODON_IMAGE_CLIPBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIODON_TYPE_IMAGE_CLIPBOARD_ITEM, DiodonImageClipboardItemClass))
#define DIODON_IS_IMAGE_CLIPBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIODON_TYPE_IMAGE_CLIPBOARD_ITEM))
#define DIODON_IS_IMAGE_CLIPBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIODON_TYPE_IMAGE_CLIPBOARD_ITEM))
#define DIODON_IMAGE_CLIPBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIODON_TYPE_IMAGE_CLIPBOARD_ITEM, DiodonImageClipboardItemClass))

typedef struct _DiodonImageClipboardItem DiodonImageClipboardItem;
typedef struct _DiodonImageClipboardItemClass DiodonImageClipboardItemClass;
typedef struct _DiodonImageClipboardItemPrivate DiodonImageClipboardItemPrivate;

#define DIODON_TYPE_TEXT_CLIPBOARD_ITEM (diodon_text_clipboard_item_get_type ())
#define DIODON_TEXT_CLIPBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIODON_TYPE_TEXT_CLIPBOARD_ITEM, DiodonTextClipboardItem))
#define DIODON_TEXT_CLIPBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIODON_TYPE_TEXT_CLIPBOARD_ITEM, DiodonTextClipboardItemClass))
#define DIODON_IS_TEXT_CLIPBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIODON_TYPE_TEXT_CLIPBOARD_ITEM))
#define DIODON_IS_TEXT_CLIPBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIODON_TYPE_TEXT_CLIPBOARD_ITEM))
#define DIODON_TEXT_CLIPBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIODON_TYPE_TEXT_CLIPBOARD_ITEM, DiodonTextClipboardItemClass))

typedef struct _DiodonTextClipboardItem DiodonTextClipboardItem;
typedef struct _DiodonTextClipboardItemClass DiodonTextClipboardItemClass;
typedef struct _DiodonTextClipboardItemPrivate DiodonTextClipboardItemPrivate;

#define DIODON_TYPE_UTILITY (diodon_utility_get_type ())
#define DIODON_UTILITY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIODON_TYPE_UTILITY, DiodonUtility))
#define DIODON_UTILITY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIODON_TYPE_UTILITY, DiodonUtilityClass))
#define DIODON_IS_UTILITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIODON_TYPE_UTILITY))
#define DIODON_IS_UTILITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIODON_TYPE_UTILITY))
#define DIODON_UTILITY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIODON_TYPE_UTILITY, DiodonUtilityClass))

typedef struct _DiodonUtility DiodonUtility;
typedef struct _DiodonUtilityClass DiodonUtilityClass;
typedef struct _DiodonUtilityPrivate DiodonUtilityPrivate;

#define DIODON_TYPE_ZEITGEIST_CLIPBOARD_STORAGE (diodon_zeitgeist_clipboard_storage_get_type ())
#define DIODON_ZEITGEIST_CLIPBOARD_STORAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIODON_TYPE_ZEITGEIST_CLIPBOARD_STORAGE, DiodonZeitgeistClipboardStorage))
#define DIODON_ZEITGEIST_CLIPBOARD_STORAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIODON_TYPE_ZEITGEIST_CLIPBOARD_STORAGE, DiodonZeitgeistClipboardStorageClass))
#define DIODON_IS_ZEITGEIST_CLIPBOARD_STORAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIODON_TYPE_ZEITGEIST_CLIPBOARD_STORAGE))
#define DIODON_IS_ZEITGEIST_CLIPBOARD_STORAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIODON_TYPE_ZEITGEIST_CLIPBOARD_STORAGE))
#define DIODON_ZEITGEIST_CLIPBOARD_STORAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIODON_TYPE_ZEITGEIST_CLIPBOARD_STORAGE, DiodonZeitgeistClipboardStorageClass))

typedef struct _DiodonZeitgeistClipboardStorage DiodonZeitgeistClipboardStorage;
typedef struct _DiodonZeitgeistClipboardStorageClass DiodonZeitgeistClipboardStorageClass;
typedef struct _DiodonZeitgeistClipboardStoragePrivate DiodonZeitgeistClipboardStoragePrivate;

struct _DiodonClipboardConfiguration {
	GObject parent_instance;
	DiodonClipboardConfigurationPrivate * priv;
};

struct _DiodonClipboardConfigurationClass {
	GObjectClass parent_class;
};

struct _DiodonIClipboardItemIface {
	GTypeInterface parent_iface;
	DiodonClipboardType (*get_clipboard_type) (DiodonIClipboardItem* self);
	gchar* (*get_label) (DiodonIClipboardItem* self);
	gchar* (*get_mime_type) (DiodonIClipboardItem* self);
	DiodonClipboardCategory (*get_category) (DiodonIClipboardItem* self);
	GtkImage* (*get_image) (DiodonIClipboardItem* self);
	GIcon* (*get_icon) (DiodonIClipboardItem* self);
	GByteArray* (*get_payload) (DiodonIClipboardItem* self, GError** error);
	GDateTime* (*get_date_copied) (DiodonIClipboardItem* self);
	gchar* (*get_text) (DiodonIClipboardItem* self);
	gchar* (*get_checksum) (DiodonIClipboardItem* self);
	gchar* (*get_origin) (DiodonIClipboardItem* self);
	void (*to_clipboard) (DiodonIClipboardItem* self, GtkClipboard* clipboard);
	gboolean (*equals) (DiodonIClipboardItem* self, DiodonIClipboardItem* item);
	guint (*hash) (DiodonIClipboardItem* self);
};

struct _DiodonController {
	GObject parent_instance;
	DiodonControllerPrivate * priv;
};

struct _DiodonControllerClass {
	GObjectClass parent_class;
};

struct _DiodonFileClipboardItem {
	GObject parent_instance;
	DiodonFileClipboardItemPrivate * priv;
};

struct _DiodonFileClipboardItemClass {
	GObjectClass parent_class;
};

struct _DiodonImageClipboardItem {
	GObject parent_instance;
	DiodonImageClipboardItemPrivate * priv;
};

struct _DiodonImageClipboardItemClass {
	GObjectClass parent_class;
};

struct _DiodonTextClipboardItem {
	GObject parent_instance;
	DiodonTextClipboardItemPrivate * priv;
};

struct _DiodonTextClipboardItemClass {
	GObjectClass parent_class;
};

struct _DiodonUtility {
	GObject parent_instance;
	DiodonUtilityPrivate * priv;
};

struct _DiodonUtilityClass {
	GObjectClass parent_class;
};

struct _DiodonZeitgeistClipboardStorage {
	GObject parent_instance;
	DiodonZeitgeistClipboardStoragePrivate * priv;
};

struct _DiodonZeitgeistClipboardStorageClass {
	GObjectClass parent_class;
};

VALA_EXTERN GType diodon_clipboard_configuration_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DiodonClipboardConfiguration, g_object_unref)
VALA_EXTERN gchar* diodon_clipboard_configuration_lookup_app_paste_keybinding (DiodonClipboardConfiguration* self,
                                                                   const gchar* apppath);
VALA_EXTERN DiodonClipboardConfiguration* diodon_clipboard_configuration_new (void);
VALA_EXTERN DiodonClipboardConfiguration* diodon_clipboard_configuration_construct (GType object_type);
VALA_EXTERN gboolean diodon_clipboard_configuration_get_use_primary (DiodonClipboardConfiguration* self);
VALA_EXTERN void diodon_clipboard_configuration_set_use_primary (DiodonClipboardConfiguration* self,
                                                     gboolean value);
VALA_EXTERN gboolean diodon_clipboard_configuration_get_add_images (DiodonClipboardConfiguration* self);
VALA_EXTERN void diodon_clipboard_configuration_set_add_images (DiodonClipboardConfiguration* self,
                                                    gboolean value);
VALA_EXTERN gboolean diodon_clipboard_configuration_get_use_clipboard (DiodonClipboardConfiguration* self);
VALA_EXTERN void diodon_clipboard_configuration_set_use_clipboard (DiodonClipboardConfiguration* self,
                                                       gboolean value);
VALA_EXTERN gboolean diodon_clipboard_configuration_get_synchronize_clipboards (DiodonClipboardConfiguration* self);
VALA_EXTERN void diodon_clipboard_configuration_set_synchronize_clipboards (DiodonClipboardConfiguration* self,
                                                                gboolean value);
VALA_EXTERN gboolean diodon_clipboard_configuration_get_keep_clipboard_content (DiodonClipboardConfiguration* self);
VALA_EXTERN void diodon_clipboard_configuration_set_keep_clipboard_content (DiodonClipboardConfiguration* self,
                                                                gboolean value);
VALA_EXTERN gboolean diodon_clipboard_configuration_get_instant_paste (DiodonClipboardConfiguration* self);
VALA_EXTERN void diodon_clipboard_configuration_set_instant_paste (DiodonClipboardConfiguration* self,
                                                       gboolean value);
VALA_EXTERN const gchar* diodon_clipboard_configuration_get_filter_pattern (DiodonClipboardConfiguration* self);
VALA_EXTERN void diodon_clipboard_configuration_set_filter_pattern (DiodonClipboardConfiguration* self,
                                                        const gchar* value);
VALA_EXTERN gchar** diodon_clipboard_configuration_get_app_paste_keybindings (DiodonClipboardConfiguration* self,
                                                                  gint* result_length1);
VALA_EXTERN void diodon_clipboard_configuration_set_app_paste_keybindings (DiodonClipboardConfiguration* self,
                                                               gchar** value,
                                                               gint value_length1);
VALA_EXTERN gint diodon_clipboard_configuration_get_recent_items_size (DiodonClipboardConfiguration* self);
VALA_EXTERN void diodon_clipboard_configuration_set_recent_items_size (DiodonClipboardConfiguration* self,
                                                           gint value);
VALA_EXTERN GType diodon_clipboard_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType diodon_clipboard_category_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType diodon_iclipboard_item_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DiodonIClipboardItem, g_object_unref)
VALA_EXTERN DiodonClipboardType diodon_iclipboard_item_get_clipboard_type (DiodonIClipboardItem* self);
VALA_EXTERN gchar* diodon_iclipboard_item_get_label (DiodonIClipboardItem* self);
VALA_EXTERN gchar* diodon_iclipboard_item_get_mime_type (DiodonIClipboardItem* self);
VALA_EXTERN DiodonClipboardCategory diodon_iclipboard_item_get_category (DiodonIClipboardItem* self);
VALA_EXTERN GtkImage* diodon_iclipboard_item_get_image (DiodonIClipboardItem* self);
VALA_EXTERN GIcon* diodon_iclipboard_item_get_icon (DiodonIClipboardItem* self);
VALA_EXTERN GByteArray* diodon_iclipboard_item_get_payload (DiodonIClipboardItem* self,
                                                GError** error);
VALA_EXTERN GDateTime* diodon_iclipboard_item_get_date_copied (DiodonIClipboardItem* self);
VALA_EXTERN gchar* diodon_iclipboard_item_get_text (DiodonIClipboardItem* self);
VALA_EXTERN gchar* diodon_iclipboard_item_get_checksum (DiodonIClipboardItem* self);
VALA_EXTERN gchar* diodon_iclipboard_item_get_origin (DiodonIClipboardItem* self);
VALA_EXTERN void diodon_iclipboard_item_to_clipboard (DiodonIClipboardItem* self,
                                          GtkClipboard* clipboard);
VALA_EXTERN gboolean diodon_iclipboard_item_equals (DiodonIClipboardItem* self,
                                        DiodonIClipboardItem* item);
VALA_EXTERN guint diodon_iclipboard_item_hash (DiodonIClipboardItem* self);
VALA_EXTERN gboolean diodon_iclipboard_item_equal_func (DiodonIClipboardItem* item_a,
                                            DiodonIClipboardItem* item_b);
VALA_EXTERN guint diodon_iclipboard_item_hash_func (DiodonIClipboardItem* item);
VALA_EXTERN DiodonClipboardCategory* diodon_clipboard_category_all (gint* result_length1);
VALA_EXTERN gchar* diodon_clipboard_category_to_string (DiodonClipboardCategory self);
VALA_EXTERN DiodonClipboardCategory diodon_clipboard_category_from_string (const gchar* type);
VALA_EXTERN GType diodon_clipboard_timerange_get_type (void) G_GNUC_CONST ;
VALA_EXTERN DiodonClipboardTimerange* diodon_clipboard_timerange_all (gint* result_length1);
VALA_EXTERN gchar* diodon_clipboard_timerange_to_string (DiodonClipboardTimerange self);
VALA_EXTERN DiodonClipboardTimerange diodon_clipboard_timerange_from_string (const gchar* type);
VALA_EXTERN GType diodon_controller_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DiodonController, g_object_unref)
VALA_EXTERN DiodonController* diodon_controller_new (void);
VALA_EXTERN DiodonController* diodon_controller_construct (GType object_type);
VALA_EXTERN DiodonController* diodon_controller_new_with_configuration (DiodonClipboardConfiguration* configuration,
                                                            gboolean with_zeitgeist);
VALA_EXTERN DiodonController* diodon_controller_construct_with_configuration (GType object_type,
                                                                  DiodonClipboardConfiguration* configuration,
                                                                  gboolean with_zeitgeist);
VALA_EXTERN void diodon_controller_init (DiodonController* self,
                             GAsyncReadyCallback _callback_,
                             gpointer _user_data_);
VALA_EXTERN void diodon_controller_init_finish (DiodonController* self,
                                    GAsyncResult* _res_);
VALA_EXTERN void diodon_controller_add_command_line_action (DiodonController* self,
                                                const gchar* name,
                                                const gchar* desc,
                                                DiodonControllerActionCallback callback,
                                                gpointer callback_target);
VALA_EXTERN GHashTable* diodon_controller_get_command_descriptions (DiodonController* self);
VALA_EXTERN void diodon_controller_select_item_by_checksum (DiodonController* self,
                                                const gchar* checksum,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN void diodon_controller_select_item_by_checksum_finish (DiodonController* self,
                                                       GAsyncResult* _res_);
VALA_EXTERN void diodon_controller_select_item (DiodonController* self,
                                    DiodonIClipboardItem* item,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
VALA_EXTERN void diodon_controller_select_item_finish (DiodonController* self,
                                           GAsyncResult* _res_);
VALA_EXTERN void diodon_controller_execute_paste (DiodonController* self,
                                      DiodonIClipboardItem* item);
VALA_EXTERN void diodon_controller_remove_item (DiodonController* self,
                                    DiodonIClipboardItem* item,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
VALA_EXTERN void diodon_controller_remove_item_finish (DiodonController* self,
                                           GAsyncResult* _res_);
VALA_EXTERN void diodon_controller_add_text_item (DiodonController* self,
                                      DiodonClipboardType type,
                                      const gchar* text,
                                      const gchar* origin,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
VALA_EXTERN void diodon_controller_add_text_item_finish (DiodonController* self,
                                             GAsyncResult* _res_);
VALA_EXTERN void diodon_controller_add_file_item (DiodonController* self,
                                      DiodonClipboardType type,
                                      const gchar* paths,
                                      const gchar* origin,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
VALA_EXTERN void diodon_controller_add_file_item_finish (DiodonController* self,
                                             GAsyncResult* _res_);
VALA_EXTERN void diodon_controller_add_image_item (DiodonController* self,
                                       DiodonClipboardType type,
                                       GdkPixbuf* pixbuf,
                                       const gchar* origin,
                                       GAsyncReadyCallback _callback_,
                                       gpointer _user_data_);
VALA_EXTERN void diodon_controller_add_image_item_finish (DiodonController* self,
                                              GAsyncResult* _res_);
VALA_EXTERN void diodon_controller_add_item (DiodonController* self,
                                 DiodonIClipboardItem* item,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
VALA_EXTERN void diodon_controller_add_item_finish (DiodonController* self,
                                        GAsyncResult* _res_);
VALA_EXTERN gboolean diodon_controller_filter_item (DiodonController* self,
                                        DiodonIClipboardItem* item);
VALA_EXTERN void diodon_controller_get_recent_items (DiodonController* self,
                                         DiodonClipboardCategory* cats,
                                         gint cats_length1,
                                         DiodonClipboardTimerange date_copied,
                                         GCancellable* cancellable,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_);
VALA_EXTERN GList* diodon_controller_get_recent_items_finish (DiodonController* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
VALA_EXTERN void diodon_controller_get_items_by_search_query (DiodonController* self,
                                                  const gchar* search_query,
                                                  DiodonClipboardCategory* cats,
                                                  gint cats_length1,
                                                  DiodonClipboardTimerange date_copied,
                                                  GCancellable* cancellable,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
VALA_EXTERN GList* diodon_controller_get_items_by_search_query_finish (DiodonController* self,
                                                           GAsyncResult* _res_);
VALA_EXTERN void diodon_controller_get_item_by_checksum (DiodonController* self,
                                             const gchar* checksum,
                                             GCancellable* cancellable,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
VALA_EXTERN DiodonIClipboardItem* diodon_controller_get_item_by_checksum_finish (DiodonController* self,
                                                                     GAsyncResult* _res_);
VALA_EXTERN DiodonIClipboardItem* diodon_controller_get_current_item (DiodonController* self,
                                                          DiodonClipboardType type);
VALA_EXTERN DiodonClipboardConfiguration* diodon_controller_get_configuration (DiodonController* self);
VALA_EXTERN void diodon_controller_rebuild_recent_menu (DiodonController* self,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
VALA_EXTERN void diodon_controller_rebuild_recent_menu_finish (DiodonController* self,
                                                   GAsyncResult* _res_);
VALA_EXTERN void diodon_controller_add_static_recent_menu_item (DiodonController* self,
                                                    GtkMenuItem* menu_item,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN void diodon_controller_add_static_recent_menu_item_finish (DiodonController* self,
                                                           GAsyncResult* _res_);
VALA_EXTERN void diodon_controller_remove_static_recent_menu_item (DiodonController* self,
                                                       GtkMenuItem* menu_item,
                                                       GAsyncReadyCallback _callback_,
                                                       gpointer _user_data_);
VALA_EXTERN void diodon_controller_remove_static_recent_menu_item_finish (DiodonController* self,
                                                              GAsyncResult* _res_);
VALA_EXTERN void diodon_controller_show_history (DiodonController* self);
VALA_EXTERN GtkMenu* diodon_controller_get_recent_menu (DiodonController* self);
VALA_EXTERN void diodon_controller_show_preferences (DiodonController* self);
VALA_EXTERN void diodon_controller_clear (DiodonController* self,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_);
VALA_EXTERN void diodon_controller_clear_finish (DiodonController* self,
                                     GAsyncResult* _res_);
VALA_EXTERN void diodon_controller_quit (DiodonController* self);
VALA_EXTERN GType diodon_file_clipboard_item_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DiodonFileClipboardItem, g_object_unref)
VALA_EXTERN DiodonFileClipboardItem* diodon_file_clipboard_item_new (DiodonClipboardType clipboard_type,
                                                         const gchar* data,
                                                         const gchar* origin,
                                                         GDateTime* date_copied,
                                                         GError** error);
VALA_EXTERN DiodonFileClipboardItem* diodon_file_clipboard_item_construct (GType object_type,
                                                               DiodonClipboardType clipboard_type,
                                                               const gchar* data,
                                                               const gchar* origin,
                                                               GDateTime* date_copied,
                                                               GError** error);
VALA_EXTERN GType diodon_image_clipboard_item_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DiodonImageClipboardItem, g_object_unref)
VALA_EXTERN DiodonImageClipboardItem* diodon_image_clipboard_item_new_with_image (DiodonClipboardType clipboard_type,
                                                                      GdkPixbuf* pixbuf,
                                                                      const gchar* origin,
                                                                      GDateTime* date_copied,
                                                                      GError** error);
VALA_EXTERN DiodonImageClipboardItem* diodon_image_clipboard_item_construct_with_image (GType object_type,
                                                                            DiodonClipboardType clipboard_type,
                                                                            GdkPixbuf* pixbuf,
                                                                            const gchar* origin,
                                                                            GDateTime* date_copied,
                                                                            GError** error);
VALA_EXTERN DiodonImageClipboardItem* diodon_image_clipboard_item_new_with_payload (DiodonClipboardType clipboard_type,
                                                                        GByteArray* payload,
                                                                        const gchar* origin,
                                                                        GDateTime* date_copied,
                                                                        GError** error);
VALA_EXTERN DiodonImageClipboardItem* diodon_image_clipboard_item_construct_with_payload (GType object_type,
                                                                              DiodonClipboardType clipboard_type,
                                                                              GByteArray* payload,
                                                                              const gchar* origin,
                                                                              GDateTime* date_copied,
                                                                              GError** error);
VALA_EXTERN DiodonImageClipboardItem* diodon_image_clipboard_item_new (void);
VALA_EXTERN DiodonImageClipboardItem* diodon_image_clipboard_item_construct (GType object_type);
VALA_EXTERN GType diodon_text_clipboard_item_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DiodonTextClipboardItem, g_object_unref)
VALA_EXTERN DiodonTextClipboardItem* diodon_text_clipboard_item_new (DiodonClipboardType clipboard_type,
                                                         const gchar* data,
                                                         const gchar* origin,
                                                         GDateTime* date_copied);
VALA_EXTERN DiodonTextClipboardItem* diodon_text_clipboard_item_construct (GType object_type,
                                                               DiodonClipboardType clipboard_type,
                                                               const gchar* data,
                                                               const gchar* origin,
                                                               GDateTime* date_copied);
VALA_EXTERN GType diodon_utility_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DiodonUtility, g_object_unref)
VALA_EXTERN gchar* diodon_utility_get_user_data_dir (void);
VALA_EXTERN gboolean diodon_utility_make_directory_with_parents (const gchar* directory);
VALA_EXTERN gchar* diodon_utility_get_path_of_active_application (void);
VALA_EXTERN gboolean diodon_utility_perform_key_event (const gchar* accelerator,
                                           gboolean press,
                                           gulong delay);
VALA_EXTERN DiodonUtility* diodon_utility_construct (GType object_type);
VALA_EXTERN GType diodon_zeitgeist_clipboard_storage_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DiodonZeitgeistClipboardStorage, g_object_unref)
VALA_EXTERN DiodonZeitgeistClipboardStorage* diodon_zeitgeist_clipboard_storage_new (void);
VALA_EXTERN DiodonZeitgeistClipboardStorage* diodon_zeitgeist_clipboard_storage_construct (GType object_type);
VALA_EXTERN gboolean diodon_zeitgeist_clipboard_storage_is_privacy_mode_enabled (DiodonZeitgeistClipboardStorage* self);
VALA_EXTERN DiodonIClipboardItem* diodon_zeitgeist_clipboard_storage_get_current_item (DiodonZeitgeistClipboardStorage* self,
                                                                           DiodonClipboardType type);
VALA_EXTERN void diodon_zeitgeist_clipboard_storage_remove_item (DiodonZeitgeistClipboardStorage* self,
                                                     DiodonIClipboardItem* item,
                                                     GCancellable* cancellable,
                                                     GAsyncReadyCallback _callback_,
                                                     gpointer _user_data_);
VALA_EXTERN void diodon_zeitgeist_clipboard_storage_remove_item_finish (DiodonZeitgeistClipboardStorage* self,
                                                            GAsyncResult* _res_);
VALA_EXTERN void diodon_zeitgeist_clipboard_storage_get_item_by_checksum (DiodonZeitgeistClipboardStorage* self,
                                                              const gchar* checksum,
                                                              GCancellable* cancellable,
                                                              GAsyncReadyCallback _callback_,
                                                              gpointer _user_data_);
VALA_EXTERN DiodonIClipboardItem* diodon_zeitgeist_clipboard_storage_get_item_by_checksum_finish (DiodonZeitgeistClipboardStorage* self,
                                                                                      GAsyncResult* _res_);
VALA_EXTERN void diodon_zeitgeist_clipboard_storage_get_items_by_search_query (DiodonZeitgeistClipboardStorage* self,
                                                                   const gchar* search_query,
                                                                   DiodonClipboardCategory* cats,
                                                                   gint cats_length1,
                                                                   DiodonClipboardTimerange date_copied,
                                                                   GCancellable* cancellable,
                                                                   GAsyncReadyCallback _callback_,
                                                                   gpointer _user_data_);
VALA_EXTERN GList* diodon_zeitgeist_clipboard_storage_get_items_by_search_query_finish (DiodonZeitgeistClipboardStorage* self,
                                                                            GAsyncResult* _res_);
VALA_EXTERN void diodon_zeitgeist_clipboard_storage_get_recent_items (DiodonZeitgeistClipboardStorage* self,
                                                          guint32 num_items,
                                                          DiodonClipboardCategory* cats,
                                                          gint cats_length1,
                                                          DiodonClipboardTimerange date_copied,
                                                          GCancellable* cancellable,
                                                          GAsyncReadyCallback _callback_,
                                                          gpointer _user_data_);
VALA_EXTERN GList* diodon_zeitgeist_clipboard_storage_get_recent_items_finish (DiodonZeitgeistClipboardStorage* self,
                                                                   GAsyncResult* _res_,
                                                                   GError** error);
VALA_EXTERN void diodon_zeitgeist_clipboard_storage_add_item (DiodonZeitgeistClipboardStorage* self,
                                                  DiodonIClipboardItem* item,
                                                  GCancellable* cancellable,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
VALA_EXTERN void diodon_zeitgeist_clipboard_storage_add_item_finish (DiodonZeitgeistClipboardStorage* self,
                                                         GAsyncResult* _res_);
VALA_EXTERN void diodon_zeitgeist_clipboard_storage_select_item (DiodonZeitgeistClipboardStorage* self,
                                                     DiodonIClipboardItem* item,
                                                     gboolean use_clipboard,
                                                     gboolean use_primary,
                                                     GCancellable* cancellable,
                                                     GAsyncReadyCallback _callback_,
                                                     gpointer _user_data_);
VALA_EXTERN void diodon_zeitgeist_clipboard_storage_select_item_finish (DiodonZeitgeistClipboardStorage* self,
                                                            GAsyncResult* _res_);
VALA_EXTERN void diodon_zeitgeist_clipboard_storage_clear (DiodonZeitgeistClipboardStorage* self,
                                               GCancellable* cancellable,
                                               GAsyncReadyCallback _callback_,
                                               gpointer _user_data_);
VALA_EXTERN void diodon_zeitgeist_clipboard_storage_clear_finish (DiodonZeitgeistClipboardStorage* self,
                                                      GAsyncResult* _res_);

G_END_DECLS

#endif
