/* fuzzy-search.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __PLUGINS_FUZZY_SEARCH_FUZZY_SEARCH_H__
#define __PLUGINS_FUZZY_SEARCH_FUZZY_SEARCH_H__

#include <gtk/gtk.h>
#include <glib-object.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <libpeas.h>
#include "codecore.h"
#include <gee.h>
#include <gio/gio.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 TYPE_FILE_ITEM (file_item_get_type ())
#define FILE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FILE_ITEM, FileItem))
#define FILE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FILE_ITEM, FileItemClass))
#define IS_FILE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FILE_ITEM))
#define IS_FILE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FILE_ITEM))
#define FILE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FILE_ITEM, FileItemClass))

typedef struct _FileItem FileItem;
typedef struct _FileItemClass FileItemClass;
typedef struct _FileItemPrivate FileItemPrivate;

#define TYPE_SEARCH_RESULT (search_result_get_type ())
#define SEARCH_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_RESULT, SearchResult))
#define SEARCH_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_RESULT, SearchResultClass))
#define IS_SEARCH_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_RESULT))
#define IS_SEARCH_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_RESULT))
#define SEARCH_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_RESULT, SearchResultClass))

typedef struct _SearchResult SearchResult;
typedef struct _SearchResultClass SearchResultClass;

#define SCRATCH_PLUGINS_TYPE_FUZZY_SEARCH (scratch_plugins_fuzzy_search_get_type ())
#define SCRATCH_PLUGINS_FUZZY_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SCRATCH_PLUGINS_TYPE_FUZZY_SEARCH, ScratchPluginsFuzzySearch))
#define SCRATCH_PLUGINS_FUZZY_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SCRATCH_PLUGINS_TYPE_FUZZY_SEARCH, ScratchPluginsFuzzySearchClass))
#define SCRATCH_PLUGINS_IS_FUZZY_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SCRATCH_PLUGINS_TYPE_FUZZY_SEARCH))
#define SCRATCH_PLUGINS_IS_FUZZY_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SCRATCH_PLUGINS_TYPE_FUZZY_SEARCH))
#define SCRATCH_PLUGINS_FUZZY_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SCRATCH_PLUGINS_TYPE_FUZZY_SEARCH, ScratchPluginsFuzzySearchClass))

typedef struct _ScratchPluginsFuzzySearch ScratchPluginsFuzzySearch;
typedef struct _ScratchPluginsFuzzySearchClass ScratchPluginsFuzzySearchClass;
typedef struct _ScratchPluginsFuzzySearchPrivate ScratchPluginsFuzzySearchPrivate;

#define SCRATCH_SERVICES_TYPE_FUZZY_FINDER (scratch_services_fuzzy_finder_get_type ())
#define SCRATCH_SERVICES_FUZZY_FINDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SCRATCH_SERVICES_TYPE_FUZZY_FINDER, ScratchServicesFuzzyFinder))
#define SCRATCH_SERVICES_FUZZY_FINDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SCRATCH_SERVICES_TYPE_FUZZY_FINDER, ScratchServicesFuzzyFinderClass))
#define SCRATCH_SERVICES_IS_FUZZY_FINDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SCRATCH_SERVICES_TYPE_FUZZY_FINDER))
#define SCRATCH_SERVICES_IS_FUZZY_FINDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SCRATCH_SERVICES_TYPE_FUZZY_FINDER))
#define SCRATCH_SERVICES_FUZZY_FINDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SCRATCH_SERVICES_TYPE_FUZZY_FINDER, ScratchServicesFuzzyFinderClass))

typedef struct _ScratchServicesFuzzyFinder ScratchServicesFuzzyFinder;
typedef struct _ScratchServicesFuzzyFinderClass ScratchServicesFuzzyFinderClass;
typedef struct _ScratchServicesFuzzyFinderPrivate ScratchServicesFuzzyFinderPrivate;

#define SCRATCH_SERVICES_TYPE_SEARCH_PROJECT (scratch_services_search_project_get_type ())
#define SCRATCH_SERVICES_SEARCH_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SCRATCH_SERVICES_TYPE_SEARCH_PROJECT, ScratchServicesSearchProject))
#define SCRATCH_SERVICES_SEARCH_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SCRATCH_SERVICES_TYPE_SEARCH_PROJECT, ScratchServicesSearchProjectClass))
#define SCRATCH_SERVICES_IS_SEARCH_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SCRATCH_SERVICES_TYPE_SEARCH_PROJECT))
#define SCRATCH_SERVICES_IS_SEARCH_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SCRATCH_SERVICES_TYPE_SEARCH_PROJECT))
#define SCRATCH_SERVICES_SEARCH_PROJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SCRATCH_SERVICES_TYPE_SEARCH_PROJECT, ScratchServicesSearchProjectClass))

typedef struct _ScratchServicesSearchProject ScratchServicesSearchProject;
typedef struct _ScratchServicesSearchProjectClass ScratchServicesSearchProjectClass;
typedef enum  {
	INDEXER_MESSAGE_TYPE_INITIAL,
	INDEXER_MESSAGE_TYPE_PROJECT_UPDATE
} IndexerMessageType;

#define TYPE_INDEXER_MESSAGE_TYPE (indexer_message_type_get_type ())
typedef enum  {
	INDEXER_STATUS_INITIALISING,
	INDEXER_STATUS_INITIAL_PROCESSING,
	INDEXER_STATUS_IDLE,
	INDEXER_STATUS_PROCESSING
} IndexerStatus;

#define TYPE_INDEXER_STATUS (indexer_status_get_type ())
typedef enum  {
	PROJECT_UPDATE_TYPE_ADDED,
	PROJECT_UPDATE_TYPE_REMOVED,
	PROJECT_UPDATE_TYPE_FILE_CREATED,
	PROJECT_UPDATE_TYPE_DIRECTORY_CREATED,
	PROJECT_UPDATE_TYPE_FILE_DELETED
} ProjectUpdateType;

#define TYPE_PROJECT_UPDATE_TYPE (project_update_type_get_type ())

#define TYPE_INDEXER_MESSAGE (indexer_message_get_type ())
#define INDEXER_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXER_MESSAGE, IndexerMessage))
#define IS_INDEXER_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXER_MESSAGE))
#define INDEXER_MESSAGE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXER_MESSAGE, IndexerMessageIface))

typedef struct _IndexerMessage IndexerMessage;
typedef struct _IndexerMessageIface IndexerMessageIface;

#define TYPE_INITIAL_INDEX_REQUEST (initial_index_request_get_type ())
#define INITIAL_INDEX_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INITIAL_INDEX_REQUEST, InitialIndexRequest))
#define INITIAL_INDEX_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INITIAL_INDEX_REQUEST, InitialIndexRequestClass))
#define IS_INITIAL_INDEX_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INITIAL_INDEX_REQUEST))
#define IS_INITIAL_INDEX_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INITIAL_INDEX_REQUEST))
#define INITIAL_INDEX_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INITIAL_INDEX_REQUEST, InitialIndexRequestClass))

typedef struct _InitialIndexRequest InitialIndexRequest;
typedef struct _InitialIndexRequestClass InitialIndexRequestClass;
typedef struct _InitialIndexRequestPrivate InitialIndexRequestPrivate;

#define TYPE_PROJECT_UPDATE (project_update_get_type ())
#define PROJECT_UPDATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROJECT_UPDATE, ProjectUpdate))
#define PROJECT_UPDATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PROJECT_UPDATE, ProjectUpdateClass))
#define IS_PROJECT_UPDATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROJECT_UPDATE))
#define IS_PROJECT_UPDATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PROJECT_UPDATE))
#define PROJECT_UPDATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PROJECT_UPDATE, ProjectUpdateClass))

typedef struct _ProjectUpdate ProjectUpdate;
typedef struct _ProjectUpdateClass ProjectUpdateClass;
typedef struct _ProjectUpdatePrivate ProjectUpdatePrivate;

#define SCRATCH_SERVICES_TYPE_FUZZY_SEARCH_INDEXER (scratch_services_fuzzy_search_indexer_get_type ())
#define SCRATCH_SERVICES_FUZZY_SEARCH_INDEXER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SCRATCH_SERVICES_TYPE_FUZZY_SEARCH_INDEXER, ScratchServicesFuzzySearchIndexer))
#define SCRATCH_SERVICES_FUZZY_SEARCH_INDEXER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SCRATCH_SERVICES_TYPE_FUZZY_SEARCH_INDEXER, ScratchServicesFuzzySearchIndexerClass))
#define SCRATCH_SERVICES_IS_FUZZY_SEARCH_INDEXER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SCRATCH_SERVICES_TYPE_FUZZY_SEARCH_INDEXER))
#define SCRATCH_SERVICES_IS_FUZZY_SEARCH_INDEXER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SCRATCH_SERVICES_TYPE_FUZZY_SEARCH_INDEXER))
#define SCRATCH_SERVICES_FUZZY_SEARCH_INDEXER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SCRATCH_SERVICES_TYPE_FUZZY_SEARCH_INDEXER, ScratchServicesFuzzySearchIndexerClass))

typedef struct _ScratchServicesFuzzySearchIndexer ScratchServicesFuzzySearchIndexer;
typedef struct _ScratchServicesFuzzySearchIndexerClass ScratchServicesFuzzySearchIndexerClass;
typedef struct _ScratchServicesFuzzySearchIndexerPrivate ScratchServicesFuzzySearchIndexerPrivate;

#define SCRATCH_TYPE_FUZZY_SEARCH_POPOVER (scratch_fuzzy_search_popover_get_type ())
#define SCRATCH_FUZZY_SEARCH_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SCRATCH_TYPE_FUZZY_SEARCH_POPOVER, ScratchFuzzySearchPopover))
#define SCRATCH_FUZZY_SEARCH_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SCRATCH_TYPE_FUZZY_SEARCH_POPOVER, ScratchFuzzySearchPopoverClass))
#define SCRATCH_IS_FUZZY_SEARCH_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SCRATCH_TYPE_FUZZY_SEARCH_POPOVER))
#define SCRATCH_IS_FUZZY_SEARCH_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SCRATCH_TYPE_FUZZY_SEARCH_POPOVER))
#define SCRATCH_FUZZY_SEARCH_POPOVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SCRATCH_TYPE_FUZZY_SEARCH_POPOVER, ScratchFuzzySearchPopoverClass))

typedef struct _ScratchFuzzySearchPopover ScratchFuzzySearchPopover;
typedef struct _ScratchFuzzySearchPopoverClass ScratchFuzzySearchPopoverClass;
typedef struct _ScratchFuzzySearchPopoverPrivate ScratchFuzzySearchPopoverPrivate;
typedef struct _ScratchServicesSearchProjectPrivate ScratchServicesSearchProjectPrivate;
typedef struct _SearchResultPrivate SearchResultPrivate;

struct _FileItem {
	GtkListBoxRow parent_instance;
	FileItemPrivate * priv;
};

struct _FileItemClass {
	GtkListBoxRowClass parent_class;
};

struct _ScratchPluginsFuzzySearch {
	PeasExtensionBase parent_instance;
	ScratchPluginsFuzzySearchPrivate * priv;
};

struct _ScratchPluginsFuzzySearchClass {
	PeasExtensionBaseClass parent_class;
};

struct _ScratchServicesFuzzyFinder {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ScratchServicesFuzzyFinderPrivate * priv;
};

struct _ScratchServicesFuzzyFinderClass {
	GTypeClass parent_class;
	void (*finalize) (ScratchServicesFuzzyFinder *self);
};

struct _IndexerMessageIface {
	GTypeInterface parent_iface;
	IndexerMessageType (*get_message_type) (IndexerMessage* self);
	void (*set_message_type) (IndexerMessage* self, IndexerMessageType value);
};

struct _InitialIndexRequest {
	GObject parent_instance;
	InitialIndexRequestPrivate * priv;
};

struct _InitialIndexRequestClass {
	GObjectClass parent_class;
};

struct _ProjectUpdate {
	GObject parent_instance;
	ProjectUpdatePrivate * priv;
};

struct _ProjectUpdateClass {
	GObjectClass parent_class;
};

struct _ScratchServicesFuzzySearchIndexer {
	GObject parent_instance;
	ScratchServicesFuzzySearchIndexerPrivate * priv;
};

struct _ScratchServicesFuzzySearchIndexerClass {
	GObjectClass parent_class;
};

struct _ScratchFuzzySearchPopover {
	GtkPopover parent_instance;
	ScratchFuzzySearchPopoverPrivate * priv;
};

struct _ScratchFuzzySearchPopoverClass {
	GtkPopoverClass parent_class;
};

struct _ScratchServicesSearchProject {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ScratchServicesSearchProjectPrivate * priv;
};

struct _ScratchServicesSearchProjectClass {
	GTypeClass parent_class;
	void (*finalize) (ScratchServicesSearchProject *self);
};

struct _SearchResult {
	GTypeInstance parent_instance;
	volatile int ref_count;
	SearchResultPrivate * priv;
	gchar* full_path;
	gchar* relative_path;
	gchar* project;
	gboolean found;
	gint score;
};

struct _SearchResultClass {
	GTypeClass parent_class;
	void (*finalize) (SearchResult *self);
};

GType file_item_register_type (GTypeModule * module);
VALA_EXTERN GType file_item_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FileItem, g_object_unref)
VALA_EXTERN gpointer search_result_ref (gpointer instance);
VALA_EXTERN void search_result_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_search_result (const gchar* name,
                                      const gchar* nick,
                                      const gchar* blurb,
                                      GType object_type,
                                      GParamFlags flags);
VALA_EXTERN void value_set_search_result (GValue* value,
                              gpointer v_object);
VALA_EXTERN void value_take_search_result (GValue* value,
                               gpointer v_object);
VALA_EXTERN gpointer value_get_search_result (const GValue* value);
GType search_result_register_type (GTypeModule * module);
VALA_EXTERN GType search_result_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SearchResult, search_result_unref)
VALA_EXTERN FileItem* file_item_new (SearchResult* res,
                         gboolean should_distinguish_project);
VALA_EXTERN FileItem* file_item_construct (GType object_type,
                               SearchResult* res,
                               gboolean should_distinguish_project);
VALA_EXTERN SearchResult* file_item_get_result (FileItem* self);
VALA_EXTERN const gchar* file_item_get_filepath (FileItem* self);
GType scratch_plugins_fuzzy_search_register_type (GTypeModule * module);
VALA_EXTERN GType scratch_plugins_fuzzy_search_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ScratchPluginsFuzzySearch, g_object_unref)
VALA_EXTERN ScratchPluginsFuzzySearch* scratch_plugins_fuzzy_search_new (void);
VALA_EXTERN ScratchPluginsFuzzySearch* scratch_plugins_fuzzy_search_construct (GType object_type);
VALA_EXTERN void peas_register_types (GTypeModule* module);
VALA_EXTERN gpointer scratch_services_fuzzy_finder_ref (gpointer instance);
VALA_EXTERN void scratch_services_fuzzy_finder_unref (gpointer instance);
VALA_EXTERN GParamSpec* scratch_services_param_spec_fuzzy_finder (const gchar* name,
                                                      const gchar* nick,
                                                      const gchar* blurb,
                                                      GType object_type,
                                                      GParamFlags flags);
VALA_EXTERN void scratch_services_value_set_fuzzy_finder (GValue* value,
                                              gpointer v_object);
VALA_EXTERN void scratch_services_value_take_fuzzy_finder (GValue* value,
                                               gpointer v_object);
VALA_EXTERN gpointer scratch_services_value_get_fuzzy_finder (const GValue* value);
GType scratch_services_fuzzy_finder_register_type (GTypeModule * module);
VALA_EXTERN GType scratch_services_fuzzy_finder_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ScratchServicesFuzzyFinder, scratch_services_fuzzy_finder_unref)
VALA_EXTERN gpointer scratch_services_search_project_ref (gpointer instance);
VALA_EXTERN void scratch_services_search_project_unref (gpointer instance);
VALA_EXTERN GParamSpec* scratch_services_param_spec_search_project (const gchar* name,
                                                        const gchar* nick,
                                                        const gchar* blurb,
                                                        GType object_type,
                                                        GParamFlags flags);
VALA_EXTERN void scratch_services_value_set_search_project (GValue* value,
                                                gpointer v_object);
VALA_EXTERN void scratch_services_value_take_search_project (GValue* value,
                                                 gpointer v_object);
VALA_EXTERN gpointer scratch_services_value_get_search_project (const GValue* value);
GType scratch_services_search_project_register_type (GTypeModule * module);
VALA_EXTERN GType scratch_services_search_project_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ScratchServicesSearchProject, scratch_services_search_project_unref)
VALA_EXTERN ScratchServicesFuzzyFinder* scratch_services_fuzzy_finder_new (GeeHashMap* pps,
                                                               gint limit,
                                                               gint mx_mtchs);
VALA_EXTERN ScratchServicesFuzzyFinder* scratch_services_fuzzy_finder_construct (GType object_type,
                                                                     GeeHashMap* pps,
                                                                     gint limit,
                                                                     gint mx_mtchs);
VALA_EXTERN void scratch_services_fuzzy_finder_fuzzy_find_async (ScratchServicesFuzzyFinder* self,
                                                     const gchar* search_str,
                                                     guint dir_length,
                                                     const gchar* current_project,
                                                     GCancellable* cancellable,
                                                     GAsyncReadyCallback _callback_,
                                                     gpointer _user_data_);
VALA_EXTERN GeeArrayList* scratch_services_fuzzy_finder_fuzzy_find_finish (ScratchServicesFuzzyFinder* self,
                                                               GAsyncResult* _res_);
VALA_EXTERN GeeArrayList* scratch_services_fuzzy_finder_fuzzy_find (ScratchServicesFuzzyFinder* self,
                                                        const gchar* search_str,
                                                        guint dir_length,
                                                        const gchar* current_project,
                                                        GCancellable* cancellable);
VALA_EXTERN GType indexer_message_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType indexer_status_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType project_update_type_get_type (void) G_GNUC_CONST ;
GType indexer_message_register_type (GTypeModule * module);
VALA_EXTERN GType indexer_message_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (IndexerMessage, g_object_unref)
VALA_EXTERN IndexerMessageType indexer_message_get_message_type (IndexerMessage* self);
GType initial_index_request_register_type (GTypeModule * module);
VALA_EXTERN GType initial_index_request_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (InitialIndexRequest, g_object_unref)
VALA_EXTERN InitialIndexRequest* initial_index_request_new (const gchar* project_path);
VALA_EXTERN InitialIndexRequest* initial_index_request_construct (GType object_type,
                                                      const gchar* project_path);
VALA_EXTERN const gchar* initial_index_request_get_project_path (InitialIndexRequest* self);
GType project_update_register_type (GTypeModule * module);
VALA_EXTERN GType project_update_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ProjectUpdate, g_object_unref)
VALA_EXTERN ProjectUpdate* project_update_new (ProjectUpdateType update_type,
                                   const gchar* source_path,
                                   const gchar* destination_path);
VALA_EXTERN ProjectUpdate* project_update_construct (GType object_type,
                                         ProjectUpdateType update_type,
                                         const gchar* source_path,
                                         const gchar* destination_path);
VALA_EXTERN ProjectUpdateType project_update_get_update_type (ProjectUpdate* self);
VALA_EXTERN const gchar* project_update_get_source_path (ProjectUpdate* self);
VALA_EXTERN const gchar* project_update_get_destination_path (ProjectUpdate* self);
VALA_EXTERN const gchar* project_update_get_project_path (ProjectUpdate* self);
GType scratch_services_fuzzy_search_indexer_register_type (GTypeModule * module);
VALA_EXTERN GType scratch_services_fuzzy_search_indexer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ScratchServicesFuzzySearchIndexer, g_object_unref)
VALA_EXTERN ScratchServicesFuzzySearchIndexer* scratch_services_fuzzy_search_indexer_new (GCancellable* cancellable);
VALA_EXTERN ScratchServicesFuzzySearchIndexer* scratch_services_fuzzy_search_indexer_construct (GType object_type,
                                                                                    GCancellable* cancellable);
VALA_EXTERN void scratch_services_fuzzy_search_indexer_handle_folder_item_change (ScratchServicesFuzzySearchIndexer* self,
                                                                      GFile* source,
                                                                      GFile* dest,
                                                                      GFileMonitorEvent event);
VALA_EXTERN void scratch_services_fuzzy_search_indexer_start_async (ScratchServicesFuzzySearchIndexer* self,
                                                        GAsyncReadyCallback _callback_,
                                                        gpointer _user_data_);
VALA_EXTERN void scratch_services_fuzzy_search_indexer_start_finish (ScratchServicesFuzzySearchIndexer* self,
                                                         GAsyncResult* _res_);
VALA_EXTERN GeeHashMap* scratch_services_fuzzy_search_indexer_get_project_paths (ScratchServicesFuzzySearchIndexer* self);
GType scratch_fuzzy_search_popover_register_type (GTypeModule * module);
VALA_EXTERN GType scratch_fuzzy_search_popover_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ScratchFuzzySearchPopover, g_object_unref)
VALA_EXTERN ScratchFuzzySearchPopover* scratch_fuzzy_search_popover_new (ScratchServicesFuzzySearchIndexer* search_indexer,
                                                             ScratchMainWindow* window);
VALA_EXTERN ScratchFuzzySearchPopover* scratch_fuzzy_search_popover_construct (GType object_type,
                                                                   ScratchServicesFuzzySearchIndexer* search_indexer,
                                                                   ScratchMainWindow* window);
VALA_EXTERN ScratchMainWindow* scratch_fuzzy_search_popover_get_current_window (ScratchFuzzySearchPopover* self);
VALA_EXTERN ScratchServicesFuzzySearchIndexer* scratch_fuzzy_search_popover_get_search_indexer (ScratchFuzzySearchPopover* self);
VALA_EXTERN gboolean scratch_fuzzy_search_popover_get_sidebar_is_visible (ScratchFuzzySearchPopover* self);
VALA_EXTERN void scratch_fuzzy_search_popover_set_sidebar_is_visible (ScratchFuzzySearchPopover* self,
                                                          gboolean value);
VALA_EXTERN ScratchServicesSearchProject* scratch_services_search_project_new (const gchar* root,
                                                                   ScratchServicesMonitoredRepository* repo);
VALA_EXTERN ScratchServicesSearchProject* scratch_services_search_project_construct (GType object_type,
                                                                         const gchar* root,
                                                                         ScratchServicesMonitoredRepository* repo);
VALA_EXTERN void scratch_services_search_project_parse_async (ScratchServicesSearchProject* self,
                                                  const gchar* path,
                                                  GCancellable* cancellable,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
VALA_EXTERN void scratch_services_search_project_parse_finish (ScratchServicesSearchProject* self,
                                                   GAsyncResult* _res_);
VALA_EXTERN void scratch_services_search_project_remove_file (ScratchServicesSearchProject* self,
                                                  const gchar* path,
                                                  GCancellable* cancellable);
VALA_EXTERN void scratch_services_search_project_add_file (ScratchServicesSearchProject* self,
                                               const gchar* path,
                                               GCancellable* cancellable);
VALA_EXTERN void scratch_services_search_project_add_directory_async (ScratchServicesSearchProject* self,
                                                          const gchar* path,
                                                          GCancellable* cancellable,
                                                          GAsyncReadyCallback _callback_,
                                                          gpointer _user_data_);
VALA_EXTERN void scratch_services_search_project_add_directory_finish (ScratchServicesSearchProject* self,
                                                           GAsyncResult* _res_);
VALA_EXTERN const gchar* scratch_services_search_project_get_root_path (ScratchServicesSearchProject* self);
VALA_EXTERN GeeHashSet* scratch_services_search_project_get_relative_file_paths (ScratchServicesSearchProject* self);
VALA_EXTERN SearchResult* search_result_new (gboolean fo,
                                 gint sc);
VALA_EXTERN SearchResult* search_result_construct (GType object_type,
                                       gboolean fo,
                                       gint sc);

G_END_DECLS

#endif
