Blame plugins/findinfiles/job.c

Packit 6978fb
/* job.c generated by valac 0.40.2, the Vala compiler
Packit 6978fb
 * generated from job.vala, do not modify */
Packit 6978fb
Packit 6978fb
/*
Packit 6978fb
* Copyright (C) 2015 The Lemon Man
Packit 6978fb
*
Packit 6978fb
* This program is free software; you can redistribute it and/or modify
Packit 6978fb
* it under the terms of the GNU General Public License as published by
Packit 6978fb
* the Free Software Foundation; either version 2, or (at your option)
Packit 6978fb
* any later version.
Packit 6978fb
*
Packit 6978fb
* This program is distributed in the hope that it will be useful,
Packit 6978fb
* but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 6978fb
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit 6978fb
* GNU General Public License for more details.
Packit 6978fb
*
Packit 6978fb
* You should have received a copy of the GNU General Public License
Packit 6978fb
* along with this program; if not, write to the Free Software
Packit 6978fb
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Packit 6978fb
*/
Packit 6978fb
Packit 6978fb
Packit 6978fb
#include <glib.h>
Packit 6978fb
#include <glib-object.h>
Packit 6978fb
#include <string.h>
Packit 6978fb
#include <stdlib.h>
Packit 6978fb
#include <gio/gio.h>
Packit 6978fb
#include <gedit/gedit-utils.h>
Packit 6978fb
#include <glib/gstdio.h>
Packit 6978fb
#include <gobject/gvaluecollector.h>
Packit 6978fb
Packit 6978fb
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_TYPE_IMATCHER (gedit_find_in_files_plugin_imatcher_get_type ())
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_IMATCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_IMATCHER, GeditFindInFilesPluginIMatcher))
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_IS_IMATCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_IMATCHER))
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_IMATCHER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_IMATCHER, GeditFindInFilesPluginIMatcherIface))
Packit 6978fb
Packit 6978fb
typedef struct _GeditFindInFilesPluginIMatcher GeditFindInFilesPluginIMatcher;
Packit 6978fb
typedef struct _GeditFindInFilesPluginIMatcherIface GeditFindInFilesPluginIMatcherIface;
Packit 6978fb
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_TYPE_RANGE (gedit_find_in_files_plugin_range_get_type ())
Packit 6978fb
typedef struct _GeditFindInFilesPluginRange GeditFindInFilesPluginRange;
Packit 6978fb
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOOKMARK (gedit_find_in_files_plugin_bookmark_get_type ())
Packit 6978fb
typedef struct _GeditFindInFilesPluginBookmark GeditFindInFilesPluginBookmark;
Packit 6978fb
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_TYPE_RESULT (gedit_find_in_files_plugin_result_get_type ())
Packit 6978fb
typedef struct _GeditFindInFilesPluginResult GeditFindInFilesPluginResult;
Packit 6978fb
#define _g_free0(var) (var = (g_free (var), NULL))
Packit 6978fb
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB (gedit_find_in_files_plugin_find_job_get_type ())
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_FIND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB, GeditFindInFilesPluginFindJob))
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_FIND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB, GeditFindInFilesPluginFindJobClass))
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_IS_FIND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB))
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_IS_FIND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB))
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_FIND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB, GeditFindInFilesPluginFindJobClass))
Packit 6978fb
Packit 6978fb
typedef struct _GeditFindInFilesPluginFindJob GeditFindInFilesPluginFindJob;
Packit 6978fb
typedef struct _GeditFindInFilesPluginFindJobClass GeditFindInFilesPluginFindJobClass;
Packit 6978fb
typedef struct _GeditFindInFilesPluginFindJobPrivate GeditFindInFilesPluginFindJobPrivate;
Packit 6978fb
#define _g_async_queue_unref0(var) ((var == NULL) ? NULL : (var = (g_async_queue_unref (var), NULL)))
Packit 6978fb
#define __g_list_free__g_thread_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_thread_unref0_ (var), NULL)))
Packit 6978fb
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
Packit 6978fb
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND (gedit_find_in_files_plugin_regex_find_get_type ())
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_REGEX_FIND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND, GeditFindInFilesPluginRegexFind))
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_REGEX_FIND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND, GeditFindInFilesPluginRegexFindClass))
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_IS_REGEX_FIND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND))
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_IS_REGEX_FIND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND))
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_REGEX_FIND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND, GeditFindInFilesPluginRegexFindClass))
Packit 6978fb
Packit 6978fb
typedef struct _GeditFindInFilesPluginRegexFind GeditFindInFilesPluginRegexFind;
Packit 6978fb
typedef struct _GeditFindInFilesPluginRegexFindClass GeditFindInFilesPluginRegexFindClass;
Packit 6978fb
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL (gedit_find_in_files_plugin_boyer_moore_horspool_get_type ())
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_BOYER_MOORE_HORSPOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL, GeditFindInFilesPluginBoyerMooreHorspool))
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_BOYER_MOORE_HORSPOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL, GeditFindInFilesPluginBoyerMooreHorspoolClass))
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_IS_BOYER_MOORE_HORSPOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL))
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_IS_BOYER_MOORE_HORSPOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL))
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_BOYER_MOORE_HORSPOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL, GeditFindInFilesPluginBoyerMooreHorspoolClass))
Packit 6978fb
Packit 6978fb
typedef struct _GeditFindInFilesPluginBoyerMooreHorspool GeditFindInFilesPluginBoyerMooreHorspool;
Packit 6978fb
typedef struct _GeditFindInFilesPluginBoyerMooreHorspoolClass GeditFindInFilesPluginBoyerMooreHorspoolClass;
Packit 6978fb
#define _g_thread_unref0(var) ((var == NULL) ? NULL : (var = (g_thread_unref (var), NULL)))
Packit 6978fb
#define _gedit_find_in_files_plugin_find_job_unref0(var) ((var == NULL) ? NULL : (var = (gedit_find_in_files_plugin_find_job_unref (var), NULL)))
Packit 6978fb
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
Packit 6978fb
#define __g_queue_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_queue_free__g_object_unref0_ (var), NULL)))
Packit 6978fb
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))
Packit 6978fb
typedef struct _GeditFindInFilesPluginFindJobExecuteData GeditFindInFilesPluginFindJobExecuteData;
Packit 6978fb
#define _g_mapped_file_unref0(var) ((var == NULL) ? NULL : (var = (g_mapped_file_unref (var), NULL)))
Packit 6978fb
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
Packit 6978fb
typedef struct _GeditFindInFilesPluginParamSpecFindJob GeditFindInFilesPluginParamSpecFindJob;
Packit 6978fb
enum  {
Packit 6978fb
	GEDIT_FIND_IN_FILES_PLUGIN_FIND_JOB_ON_MATCH_FOUND_SIGNAL,
Packit 6978fb
	GEDIT_FIND_IN_FILES_PLUGIN_FIND_JOB_ON_SEARCH_FINISHED_SIGNAL,
Packit 6978fb
	GEDIT_FIND_IN_FILES_PLUGIN_FIND_JOB_NUM_SIGNALS
Packit 6978fb
};
Packit 6978fb
static guint gedit_find_in_files_plugin_find_job_signals[GEDIT_FIND_IN_FILES_PLUGIN_FIND_JOB_NUM_SIGNALS] = {0};
Packit 6978fb
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
Packit 6978fb
#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
Packit 6978fb
#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
Packit 6978fb
#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
Packit 6978fb
Packit 6978fb
struct _GeditFindInFilesPluginRange {
Packit 6978fb
	gsize from;
Packit 6978fb
	gsize to;
Packit 6978fb
};
Packit 6978fb
Packit 6978fb
struct _GeditFindInFilesPluginIMatcherIface {
Packit 6978fb
	GTypeInterface parent_iface;
Packit 6978fb
	gboolean (*has_match) (GeditFindInFilesPluginIMatcher* self, guint8* text, gsize text_length, gsize pos, GeditFindInFilesPluginRange* match);
Packit 6978fb
};
Packit 6978fb
Packit 6978fb
struct _GeditFindInFilesPluginBookmark {
Packit 6978fb
	gint line_number;
Packit 6978fb
	gsize line_start;
Packit 6978fb
	gsize line_length;
Packit 6978fb
};
Packit 6978fb
Packit 6978fb
struct _GeditFindInFilesPluginResult {
Packit 6978fb
	gchar* path;
Packit 6978fb
	gsize line;
Packit 6978fb
	gchar* context;
Packit 6978fb
};
Packit 6978fb
Packit 6978fb
struct _GeditFindInFilesPluginFindJob {
Packit 6978fb
	GTypeInstance parent_instance;
Packit 6978fb
	volatile int ref_count;
Packit 6978fb
	GeditFindInFilesPluginFindJobPrivate * priv;
Packit 6978fb
	gboolean include_hidden;
Packit 6978fb
	gboolean match_whole_word;
Packit 6978fb
	gboolean ignore_case;
Packit 6978fb
};
Packit 6978fb
Packit 6978fb
struct _GeditFindInFilesPluginFindJobClass {
Packit 6978fb
	GTypeClass parent_class;
Packit 6978fb
	void (*finalize) (GeditFindInFilesPluginFindJob *self);
Packit 6978fb
};
Packit 6978fb
Packit 6978fb
struct _GeditFindInFilesPluginFindJobPrivate {
Packit 6978fb
	GAsyncQueue* scan_queue;
Packit 6978fb
	GList* thread_workers;
Packit 6978fb
	guint running_workers;
Packit 6978fb
	GRecMutex __lock_running_workers;
Packit 6978fb
	GeditFindInFilesPluginIMatcher* matcher;
Packit 6978fb
	GCancellable* cancellable;
Packit 6978fb
	gchar* _needle;
Packit 6978fb
};
Packit 6978fb
Packit 6978fb
struct _GeditFindInFilesPluginFindJobExecuteData {
Packit 6978fb
	int _state_;
Packit 6978fb
	GObject* _source_object_;
Packit 6978fb
	GAsyncResult* _res_;
Packit 6978fb
	GTask* _async_result;
Packit 6978fb
	GAsyncReadyCallback _callback_;
Packit 6978fb
	gboolean _task_complete_;
Packit 6978fb
	GeditFindInFilesPluginFindJob* self;
Packit 6978fb
	gchar* root;
Packit 6978fb
	GQueue* queue;
Packit 6978fb
	GQueue* _tmp0_;
Packit 6978fb
	GHashTable* visited;
Packit 6978fb
	GHashFunc _tmp1_;
Packit 6978fb
	GEqualFunc _tmp2_;
Packit 6978fb
	GHashTable* _tmp3_;
Packit 6978fb
	GQueue* _tmp4_;
Packit 6978fb
	GFile* _tmp5_;
Packit 6978fb
	GQueue* _tmp6_;
Packit 6978fb
	GCancellable* _tmp7_;
Packit 6978fb
	GFile* dir;
Packit 6978fb
	GQueue* _tmp8_;
Packit 6978fb
	gpointer _tmp9_;
Packit 6978fb
	GFileEnumerator* e;
Packit 6978fb
	GFile* _tmp10_;
Packit 6978fb
	GFileEnumerator* _tmp11_;
Packit 6978fb
	GList* files;
Packit 6978fb
	GFileEnumerator* _tmp12_;
Packit 6978fb
	GList* _tmp13_;
Packit 6978fb
	GList* _tmp14_;
Packit 6978fb
	GCancellable* _tmp15_;
Packit 6978fb
	GList* _tmp16_;
Packit 6978fb
	GList* file_collection;
Packit 6978fb
	GList* file_it;
Packit 6978fb
	GFileInfo* _tmp17_;
Packit 6978fb
	GFileInfo* file;
Packit 6978fb
	gboolean _tmp18_;
Packit 6978fb
	gboolean _tmp19_;
Packit 6978fb
	GFileInfo* _tmp20_;
Packit 6978fb
	const gchar* _tmp21_;
Packit 6978fb
	GFileInfo* _tmp22_;
Packit 6978fb
	GFile* _file;
Packit 6978fb
	GFile* _tmp23_;
Packit 6978fb
	GFileInfo* _tmp24_;
Packit 6978fb
	const gchar* _tmp25_;
Packit 6978fb
	GFile* _tmp26_;
Packit 6978fb
	GFileInfo* _tmp27_;
Packit 6978fb
	GAsyncQueue* _tmp28_;
Packit 6978fb
	GFile* _tmp29_;
Packit 6978fb
	gchar* _tmp30_;
Packit 6978fb
	GQueue* _tmp31_;
Packit 6978fb
	GFile* _tmp32_;
Packit 6978fb
	GFile* _tmp33_;
Packit 6978fb
	GHashTable* _tmp34_;
Packit 6978fb
	GFile* _tmp35_;
Packit 6978fb
	gchar* _tmp36_;
Packit 6978fb
	gchar* link_dest;
Packit 6978fb
	GFile* _tmp37_;
Packit 6978fb
	gchar* _tmp38_;
Packit 6978fb
	gchar* _tmp39_;
Packit 6978fb
	gchar* _tmp40_;
Packit 6978fb
	gchar* _tmp41_;
Packit 6978fb
	gboolean _tmp42_;
Packit 6978fb
	const gchar* _tmp43_;
Packit 6978fb
	GHashTable* _tmp44_;
Packit 6978fb
	const gchar* _tmp45_;
Packit 6978fb
	gboolean _tmp46_;
Packit 6978fb
	const gchar* _tmp47_;
Packit 6978fb
	gboolean _tmp48_;
Packit 6978fb
	gboolean _tmp49_;
Packit 6978fb
	const gchar* _tmp50_;
Packit 6978fb
	GQueue* _tmp51_;
Packit 6978fb
	const gchar* _tmp52_;
Packit 6978fb
	GFile* _tmp53_;
Packit 6978fb
	GError * _inner_error_;
Packit 6978fb
};
Packit 6978fb
Packit 6978fb
struct _GeditFindInFilesPluginParamSpecFindJob {
Packit 6978fb
	GParamSpec parent_instance;
Packit 6978fb
};
Packit 6978fb
Packit 6978fb
Packit 6978fb
static GType gedit_find_in_files_plugin_imatcher_type_id = 0;
Packit 6978fb
static gpointer gedit_find_in_files_plugin_find_job_parent_class = NULL;
Packit 6978fb
static GType gedit_find_in_files_plugin_find_job_type_id = 0;
Packit 6978fb
Packit 6978fb
GType gedit_find_in_files_plugin_range_get_type (void) G_GNUC_CONST;
Packit 6978fb
GeditFindInFilesPluginRange* gedit_find_in_files_plugin_range_dup (const GeditFindInFilesPluginRange* self);
Packit 6978fb
void gedit_find_in_files_plugin_range_free (GeditFindInFilesPluginRange* self);
Packit 6978fb
GType gedit_find_in_files_plugin_imatcher_get_type (void) G_GNUC_CONST;
Packit 6978fb
gboolean gedit_find_in_files_plugin_imatcher_has_match (GeditFindInFilesPluginIMatcher* self,
Packit 6978fb
                                                        guint8* text,
Packit 6978fb
                                                        gsize text_length,
Packit 6978fb
                                                        gsize pos,
Packit 6978fb
                                                        GeditFindInFilesPluginRange* match);
Packit 6978fb
GType gedit_find_in_files_plugin_bookmark_get_type (void) G_GNUC_CONST;
Packit 6978fb
GeditFindInFilesPluginBookmark* gedit_find_in_files_plugin_bookmark_dup (const GeditFindInFilesPluginBookmark* self);
Packit 6978fb
void gedit_find_in_files_plugin_bookmark_free (GeditFindInFilesPluginBookmark* self);
Packit 6978fb
GType gedit_find_in_files_plugin_result_get_type (void) G_GNUC_CONST;
Packit 6978fb
GeditFindInFilesPluginResult* gedit_find_in_files_plugin_result_dup (const GeditFindInFilesPluginResult* self);
Packit 6978fb
void gedit_find_in_files_plugin_result_free (GeditFindInFilesPluginResult* self);
Packit 6978fb
void gedit_find_in_files_plugin_result_copy (const GeditFindInFilesPluginResult* self,
Packit 6978fb
                                             GeditFindInFilesPluginResult* dest);
Packit 6978fb
void gedit_find_in_files_plugin_result_destroy (GeditFindInFilesPluginResult* self);
Packit 6978fb
gpointer gedit_find_in_files_plugin_find_job_ref (gpointer instance);
Packit 6978fb
void gedit_find_in_files_plugin_find_job_unref (gpointer instance);
Packit 6978fb
GParamSpec* gedit_find_in_files_plugin_param_spec_find_job (const gchar* name,
Packit 6978fb
                                                            const gchar* nick,
Packit 6978fb
                                                            const gchar* blurb,
Packit 6978fb
                                                            GType object_type,
Packit 6978fb
                                                            GParamFlags flags);
Packit 6978fb
void gedit_find_in_files_plugin_value_set_find_job (GValue* value,
Packit 6978fb
                                                    gpointer v_object);
Packit 6978fb
void gedit_find_in_files_plugin_value_take_find_job (GValue* value,
Packit 6978fb
                                                     gpointer v_object);
Packit 6978fb
gpointer gedit_find_in_files_plugin_value_get_find_job (const GValue* value);
Packit 6978fb
GType gedit_find_in_files_plugin_find_job_get_type (void) G_GNUC_CONST;
Packit 6978fb
#define GEDIT_FIND_IN_FILES_PLUGIN_FIND_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB, GeditFindInFilesPluginFindJobPrivate))
Packit 6978fb
static void _g_free0_ (gpointer var);
Packit 6978fb
static void _g_thread_unref0_ (gpointer var);
Packit 6978fb
static inline void _g_list_free__g_thread_unref0_ (GList* self);
Packit 6978fb
static gint gedit_find_in_files_plugin_find_job_worker (GeditFindInFilesPluginFindJob* self);
Packit 6978fb
static void gedit_find_in_files_plugin_find_job_scan_file (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                    const gchar* path);
Packit 6978fb
static gboolean _____lambda5_ (GeditFindInFilesPluginFindJob* self);
Packit 6978fb
static gboolean ______lambda5__gsource_func (gpointer self);
Packit 6978fb
GeditFindInFilesPluginFindJob* gedit_find_in_files_plugin_find_job_new (GCancellable* cancellable);
Packit 6978fb
GeditFindInFilesPluginFindJob* gedit_find_in_files_plugin_find_job_construct (GType object_type,
Packit 6978fb
                                                                              GCancellable* cancellable);
Packit 6978fb
static void gedit_find_in_files_plugin_find_job_set_needle (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                     const gchar* value);
Packit 6978fb
void gedit_find_in_files_plugin_find_job_prepare (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                  const gchar* needle,
Packit 6978fb
                                                  gboolean is_regex,
Packit 6978fb
                                                  GError** error);
Packit 6978fb
GType gedit_find_in_files_plugin_regex_find_get_type (void) G_GNUC_CONST;
Packit 6978fb
GeditFindInFilesPluginRegexFind* gedit_find_in_files_plugin_regex_find_new (const gchar* pattern,
Packit 6978fb
                                                                            gboolean ignore_case,
Packit 6978fb
                                                                            GError** error);
Packit 6978fb
GeditFindInFilesPluginRegexFind* gedit_find_in_files_plugin_regex_find_construct (GType object_type,
Packit 6978fb
                                                                                  const gchar* pattern,
Packit 6978fb
                                                                                  gboolean ignore_case,
Packit 6978fb
                                                                                  GError** error);
Packit 6978fb
GeditFindInFilesPluginBoyerMooreHorspool* gedit_find_in_files_plugin_boyer_moore_horspool_new (const gchar* pattern_,
Packit 6978fb
                                                                                               gboolean ignore_case_);
Packit 6978fb
GeditFindInFilesPluginBoyerMooreHorspool* gedit_find_in_files_plugin_boyer_moore_horspool_construct (GType object_type,
Packit 6978fb
                                                                                                     const gchar* pattern_,
Packit 6978fb
                                                                                                     gboolean ignore_case_);
Packit 6978fb
GType gedit_find_in_files_plugin_boyer_moore_horspool_get_type (void) G_GNUC_CONST;
Packit 6978fb
static void gedit_find_in_files_plugin_find_job_start_workers_pool (GeditFindInFilesPluginFindJob* self);
Packit 6978fb
static gpointer _gedit_find_in_files_plugin_find_job_worker_gthread_func (gpointer self);
Packit 6978fb
gchar* gedit_find_in_files_plugin_find_job_extract_context (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                            guint8* buffer,
Packit 6978fb
                                                            GeditFindInFilesPluginRange* range);
Packit 6978fb
void gedit_find_in_files_plugin_find_job_halt (GeditFindInFilesPluginFindJob* self);
Packit 6978fb
static gboolean gedit_find_in_files_plugin_find_job_is_binary (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                        guint8* buffer,
Packit 6978fb
                                                        gsize buffer_size);
Packit 6978fb
static gboolean gedit_find_in_files_plugin_find_job_ignore_vcs_dir (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                             GFileInfo* file);
Packit 6978fb
static void gedit_find_in_files_plugin_find_job_execute_data_free (gpointer _data);
Packit 6978fb
static void gedit_find_in_files_plugin_find_job_execute_async_ready_wrapper (GObject *source_object,
Packit 6978fb
                                                                      GAsyncResult *res,
Packit 6978fb
                                                                      void *user_data);
Packit 6978fb
void gedit_find_in_files_plugin_find_job_execute (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                  const gchar* root,
Packit 6978fb
                                                  GAsyncReadyCallback _callback_,
Packit 6978fb
                                                  gpointer _user_data_);
Packit 6978fb
void gedit_find_in_files_plugin_find_job_execute_finish (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                         GAsyncResult* _res_,
Packit 6978fb
                                                         GError** error);
Packit 6978fb
static gboolean gedit_find_in_files_plugin_find_job_execute_co (GeditFindInFilesPluginFindJobExecuteData* _data_);
Packit 6978fb
static void gedit_find_in_files_plugin_find_job_execute_ready (GObject* source_object,
Packit 6978fb
                                                        GAsyncResult* _res_,
Packit 6978fb
                                                        gpointer _user_data_);
Packit 6978fb
static void _g_object_unref0_ (gpointer var);
Packit 6978fb
static inline void _g_queue_free__g_object_unref0_ (GQueue* self);
Packit 6978fb
static inline void _g_list_free__g_object_unref0_ (GList* self);
Packit 6978fb
static void gedit_find_in_files_plugin_find_job_get_line (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                   guint8* buffer,
Packit 6978fb
                                                   gsize buffer_size,
Packit 6978fb
                                                   GeditFindInFilesPluginRange* span,
Packit 6978fb
                                                   GeditFindInFilesPluginBookmark* bookmark);
Packit 6978fb
static gboolean gedit_find_in_files_plugin_find_job_is_word_boundary (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                               guint8* buf,
Packit 6978fb
                                                               gsize buf_size,
Packit 6978fb
                                                               gsize from,
Packit 6978fb
                                                               gsize to);
Packit 6978fb
const gchar* gedit_find_in_files_plugin_find_job_get_needle (GeditFindInFilesPluginFindJob* self);
Packit 6978fb
static void gedit_find_in_files_plugin_find_job_finalize (GeditFindInFilesPluginFindJob * obj);
Packit 6978fb
Packit 6978fb
const GeditFindInFilesPluginBookmark GEDIT_FIND_IN_FILES_PLUGIN_BOOKMARK_EmptyBookmark = {0, (gsize) 0};
Packit 6978fb
Packit 6978fb
gboolean
Packit 6978fb
gedit_find_in_files_plugin_imatcher_has_match (GeditFindInFilesPluginIMatcher* self,
Packit 6978fb
                                               guint8* text,
Packit 6978fb
                                               gsize text_length,
Packit 6978fb
                                               gsize pos,
Packit 6978fb
                                               GeditFindInFilesPluginRange* match)
Packit 6978fb
{
Packit 6978fb
	g_return_val_if_fail (self != NULL, FALSE);
Packit 6978fb
	return GEDIT_FIND_IN_FILES_PLUGIN_IMATCHER_GET_INTERFACE (self)->has_match (self, text, text_length, pos, match);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
gedit_find_in_files_plugin_imatcher_base_init (GeditFindInFilesPluginIMatcherIface * iface)
Packit 6978fb
{
Packit 6978fb
	static gboolean initialized = FALSE;
Packit 6978fb
	if (!initialized) {
Packit 6978fb
		initialized = TRUE;
Packit 6978fb
	}
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
GType
Packit 6978fb
gedit_find_in_files_plugin_imatcher_get_type (void)
Packit 6978fb
{
Packit 6978fb
	return gedit_find_in_files_plugin_imatcher_type_id;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
GType
Packit 6978fb
gedit_find_in_files_plugin_imatcher_register_type (GTypeModule * module)
Packit 6978fb
{
Packit 6978fb
	static const GTypeInfo g_define_type_info = { sizeof (GeditFindInFilesPluginIMatcherIface), (GBaseInitFunc) gedit_find_in_files_plugin_imatcher_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
Packit 6978fb
	gedit_find_in_files_plugin_imatcher_type_id = g_type_module_register_type (module, G_TYPE_INTERFACE, "GeditFindInFilesPluginIMatcher", &g_define_type_info, 0);
Packit 6978fb
	g_type_interface_add_prerequisite (gedit_find_in_files_plugin_imatcher_type_id, G_TYPE_OBJECT);
Packit 6978fb
	return gedit_find_in_files_plugin_imatcher_type_id;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
GeditFindInFilesPluginRange*
Packit 6978fb
gedit_find_in_files_plugin_range_dup (const GeditFindInFilesPluginRange* self)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginRange* dup;
Packit 6978fb
	dup = g_new0 (GeditFindInFilesPluginRange, 1);
Packit 6978fb
	memcpy (dup, self, sizeof (GeditFindInFilesPluginRange));
Packit 6978fb
	return dup;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
void
Packit 6978fb
gedit_find_in_files_plugin_range_free (GeditFindInFilesPluginRange* self)
Packit 6978fb
{
Packit 6978fb
	g_free (self);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
GType
Packit 6978fb
gedit_find_in_files_plugin_range_get_type (void)
Packit 6978fb
{
Packit 6978fb
	static volatile gsize gedit_find_in_files_plugin_range_type_id__volatile = 0;
Packit 6978fb
	if (g_once_init_enter (&gedit_find_in_files_plugin_range_type_id__volatile)) {
Packit 6978fb
		GType gedit_find_in_files_plugin_range_type_id;
Packit 6978fb
		gedit_find_in_files_plugin_range_type_id = g_boxed_type_register_static ("GeditFindInFilesPluginRange", (GBoxedCopyFunc) gedit_find_in_files_plugin_range_dup, (GBoxedFreeFunc) gedit_find_in_files_plugin_range_free);
Packit 6978fb
		g_once_init_leave (&gedit_find_in_files_plugin_range_type_id__volatile, gedit_find_in_files_plugin_range_type_id);
Packit 6978fb
	}
Packit 6978fb
	return gedit_find_in_files_plugin_range_type_id__volatile;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
GeditFindInFilesPluginBookmark*
Packit 6978fb
gedit_find_in_files_plugin_bookmark_dup (const GeditFindInFilesPluginBookmark* self)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginBookmark* dup;
Packit 6978fb
	dup = g_new0 (GeditFindInFilesPluginBookmark, 1);
Packit 6978fb
	memcpy (dup, self, sizeof (GeditFindInFilesPluginBookmark));
Packit 6978fb
	return dup;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
void
Packit 6978fb
gedit_find_in_files_plugin_bookmark_free (GeditFindInFilesPluginBookmark* self)
Packit 6978fb
{
Packit 6978fb
	g_free (self);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
GType
Packit 6978fb
gedit_find_in_files_plugin_bookmark_get_type (void)
Packit 6978fb
{
Packit 6978fb
	static volatile gsize gedit_find_in_files_plugin_bookmark_type_id__volatile = 0;
Packit 6978fb
	if (g_once_init_enter (&gedit_find_in_files_plugin_bookmark_type_id__volatile)) {
Packit 6978fb
		GType gedit_find_in_files_plugin_bookmark_type_id;
Packit 6978fb
		gedit_find_in_files_plugin_bookmark_type_id = g_boxed_type_register_static ("GeditFindInFilesPluginBookmark", (GBoxedCopyFunc) gedit_find_in_files_plugin_bookmark_dup, (GBoxedFreeFunc) gedit_find_in_files_plugin_bookmark_free);
Packit 6978fb
		g_once_init_leave (&gedit_find_in_files_plugin_bookmark_type_id__volatile, gedit_find_in_files_plugin_bookmark_type_id);
Packit 6978fb
	}
Packit 6978fb
	return gedit_find_in_files_plugin_bookmark_type_id__volatile;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
void
Packit 6978fb
gedit_find_in_files_plugin_result_copy (const GeditFindInFilesPluginResult* self,
Packit 6978fb
                                        GeditFindInFilesPluginResult* dest)
Packit 6978fb
{
Packit 6978fb
	const gchar* _tmp0_;
Packit 6978fb
	gchar* _tmp1_;
Packit 6978fb
	gsize _tmp2_;
Packit 6978fb
	const gchar* _tmp3_;
Packit 6978fb
	gchar* _tmp4_;
Packit 6978fb
	_tmp0_ = (*self).path;
Packit 6978fb
	_tmp1_ = g_strdup (_tmp0_);
Packit 6978fb
	_g_free0 ((*dest).path);
Packit 6978fb
	(*dest).path = _tmp1_;
Packit 6978fb
	_tmp2_ = (*self).line;
Packit 6978fb
	(*dest).line = _tmp2_;
Packit 6978fb
	_tmp3_ = (*self).context;
Packit 6978fb
	_tmp4_ = g_strdup (_tmp3_);
Packit 6978fb
	_g_free0 ((*dest).context);
Packit 6978fb
	(*dest).context = _tmp4_;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
void
Packit 6978fb
gedit_find_in_files_plugin_result_destroy (GeditFindInFilesPluginResult* self)
Packit 6978fb
{
Packit 6978fb
	_g_free0 ((*self).path);
Packit 6978fb
	_g_free0 ((*self).context);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
GeditFindInFilesPluginResult*
Packit 6978fb
gedit_find_in_files_plugin_result_dup (const GeditFindInFilesPluginResult* self)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginResult* dup;
Packit 6978fb
	dup = g_new0 (GeditFindInFilesPluginResult, 1);
Packit 6978fb
	gedit_find_in_files_plugin_result_copy (self, dup);
Packit 6978fb
	return dup;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
void
Packit 6978fb
gedit_find_in_files_plugin_result_free (GeditFindInFilesPluginResult* self)
Packit 6978fb
{
Packit 6978fb
	gedit_find_in_files_plugin_result_destroy (self);
Packit 6978fb
	g_free (self);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
GType
Packit 6978fb
gedit_find_in_files_plugin_result_get_type (void)
Packit 6978fb
{
Packit 6978fb
	static volatile gsize gedit_find_in_files_plugin_result_type_id__volatile = 0;
Packit 6978fb
	if (g_once_init_enter (&gedit_find_in_files_plugin_result_type_id__volatile)) {
Packit 6978fb
		GType gedit_find_in_files_plugin_result_type_id;
Packit 6978fb
		gedit_find_in_files_plugin_result_type_id = g_boxed_type_register_static ("GeditFindInFilesPluginResult", (GBoxedCopyFunc) gedit_find_in_files_plugin_result_dup, (GBoxedFreeFunc) gedit_find_in_files_plugin_result_free);
Packit 6978fb
		g_once_init_leave (&gedit_find_in_files_plugin_result_type_id__volatile, gedit_find_in_files_plugin_result_type_id);
Packit 6978fb
	}
Packit 6978fb
	return gedit_find_in_files_plugin_result_type_id__volatile;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
_g_free0_ (gpointer var)
Packit 6978fb
{
Packit 6978fb
	var = (g_free (var), NULL);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
_g_thread_unref0_ (gpointer var)
Packit 6978fb
{
Packit 6978fb
	(var == NULL) ? NULL : (var = (g_thread_unref (var), NULL));
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static inline void
Packit 6978fb
_g_list_free__g_thread_unref0_ (GList* self)
Packit 6978fb
{
Packit 6978fb
	g_list_free_full (self, (GDestroyNotify) _g_thread_unref0_);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gboolean
Packit 6978fb
_____lambda5_ (GeditFindInFilesPluginFindJob* self)
Packit 6978fb
{
Packit 6978fb
	gboolean result = FALSE;
Packit 6978fb
	g_signal_emit (self, gedit_find_in_files_plugin_find_job_signals[GEDIT_FIND_IN_FILES_PLUGIN_FIND_JOB_ON_SEARCH_FINISHED_SIGNAL], 0);
Packit 6978fb
	result = FALSE;
Packit 6978fb
	return result;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gboolean
Packit 6978fb
______lambda5__gsource_func (gpointer self)
Packit 6978fb
{
Packit 6978fb
	gboolean result;
Packit 6978fb
	result = _____lambda5_ ((GeditFindInFilesPluginFindJob*) self);
Packit 6978fb
	return result;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gint
Packit 6978fb
gedit_find_in_files_plugin_find_job_worker (GeditFindInFilesPluginFindJob* self)
Packit 6978fb
{
Packit 6978fb
	gint result = 0;
Packit 6978fb
	GError * _inner_error_ = NULL;
Packit 6978fb
	g_return_val_if_fail (self != NULL, 0);
Packit 6978fb
	while (TRUE) {
Packit 6978fb
		GTimeVal tv = {0};
Packit 6978fb
		gchar* path = NULL;
Packit 6978fb
		GAsyncQueue* _tmp0_;
Packit 6978fb
		gpointer _tmp1_;
Packit 6978fb
		GCancellable* _tmp2_;
Packit 6978fb
		const gchar* _tmp3_;
Packit 6978fb
		const gchar* _tmp4_;
Packit 6978fb
		g_get_current_time (&tv;;
Packit 6978fb
		g_time_val_add (&tv, (glong) (1000000 / 2));
Packit 6978fb
		_tmp0_ = self->priv->scan_queue;
Packit 6978fb
		_tmp1_ = g_async_queue_timed_pop (_tmp0_, &tv;;
Packit 6978fb
		path = (gchar*) _tmp1_;
Packit 6978fb
		_tmp2_ = self->priv->cancellable;
Packit 6978fb
		if (g_cancellable_is_cancelled (_tmp2_)) {
Packit 6978fb
			_g_free0 (path);
Packit 6978fb
			break;
Packit 6978fb
		}
Packit 6978fb
		_tmp3_ = path;
Packit 6978fb
		if (_tmp3_ == NULL) {
Packit 6978fb
			_g_free0 (path);
Packit 6978fb
			break;
Packit 6978fb
		}
Packit 6978fb
		_tmp4_ = path;
Packit 6978fb
		gedit_find_in_files_plugin_find_job_scan_file (self, _tmp4_);
Packit 6978fb
		_g_free0 (path);
Packit 6978fb
	}
Packit 6978fb
	{
Packit 6978fb
		guint _tmp5_;
Packit 6978fb
		_tmp5_ = self->priv->running_workers;
Packit 6978fb
		g_rec_mutex_lock (&self->priv->__lock_running_workers);
Packit 6978fb
		{
Packit 6978fb
			guint _tmp6_;
Packit 6978fb
			guint _tmp7_;
Packit 6978fb
			_tmp6_ = self->priv->running_workers;
Packit 6978fb
			self->priv->running_workers = _tmp6_ - 1;
Packit 6978fb
			_tmp7_ = self->priv->running_workers;
Packit 6978fb
			if (((guint) 0) == _tmp7_) {
Packit 6978fb
				g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, ______lambda5__gsource_func, gedit_find_in_files_plugin_find_job_ref (self), gedit_find_in_files_plugin_find_job_unref);
Packit 6978fb
			}
Packit 6978fb
		}
Packit 6978fb
		__finally1:
Packit 6978fb
		{
Packit 6978fb
			guint _tmp8_;
Packit 6978fb
			_tmp8_ = self->priv->running_workers;
Packit 6978fb
			g_rec_mutex_unlock (&self->priv->__lock_running_workers);
Packit 6978fb
		}
Packit 6978fb
		if (G_UNLIKELY (_inner_error_ != NULL)) {
Packit 6978fb
			gint _tmp9_ = 0;
Packit 6978fb
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
Packit 6978fb
			g_clear_error (&_inner_error_);
Packit 6978fb
			return _tmp9_;
Packit 6978fb
		}
Packit 6978fb
	}
Packit 6978fb
	result = 0;
Packit 6978fb
	return result;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gpointer
Packit 6978fb
_g_object_ref0 (gpointer self)
Packit 6978fb
{
Packit 6978fb
	return self ? g_object_ref (self) : NULL;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
GeditFindInFilesPluginFindJob*
Packit 6978fb
gedit_find_in_files_plugin_find_job_construct (GType object_type,
Packit 6978fb
                                               GCancellable* cancellable)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginFindJob* self = NULL;
Packit 6978fb
	GCancellable* _tmp0_ = NULL;
Packit 6978fb
	GCancellable* _tmp1_;
Packit 6978fb
	GCancellable* _tmp3_;
Packit 6978fb
	self = (GeditFindInFilesPluginFindJob*) g_type_create_instance (object_type);
Packit 6978fb
	_tmp1_ = _g_object_ref0 (cancellable);
Packit 6978fb
	_tmp0_ = _tmp1_;
Packit 6978fb
	if (_tmp0_ == NULL) {
Packit 6978fb
		GCancellable* _tmp2_;
Packit 6978fb
		_tmp2_ = g_cancellable_new ();
Packit 6978fb
		_g_object_unref0 (_tmp0_);
Packit 6978fb
		_tmp0_ = _tmp2_;
Packit 6978fb
	}
Packit 6978fb
	_tmp3_ = _tmp0_;
Packit 6978fb
	_tmp0_ = NULL;
Packit 6978fb
	_g_object_unref0 (self->priv->cancellable);
Packit 6978fb
	self->priv->cancellable = _tmp3_;
Packit 6978fb
	gedit_find_in_files_plugin_find_job_set_needle (self, NULL);
Packit 6978fb
	self->include_hidden = FALSE;
Packit 6978fb
	self->match_whole_word = FALSE;
Packit 6978fb
	self->ignore_case = FALSE;
Packit 6978fb
	_g_object_unref0 (_tmp0_);
Packit 6978fb
	return self;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
GeditFindInFilesPluginFindJob*
Packit 6978fb
gedit_find_in_files_plugin_find_job_new (GCancellable* cancellable)
Packit 6978fb
{
Packit 6978fb
	return gedit_find_in_files_plugin_find_job_construct (GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB, cancellable);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
void
Packit 6978fb
gedit_find_in_files_plugin_find_job_prepare (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                             const gchar* needle,
Packit 6978fb
                                             gboolean is_regex,
Packit 6978fb
                                             GError** error)
Packit 6978fb
{
Packit 6978fb
	GError * _inner_error_ = NULL;
Packit 6978fb
	g_return_if_fail (self != NULL);
Packit 6978fb
	g_return_if_fail (needle != NULL);
Packit 6978fb
	if (is_regex) {
Packit 6978fb
		GeditFindInFilesPluginRegexFind* _tmp0_ = NULL;
Packit 6978fb
		gboolean _tmp1_;
Packit 6978fb
		GeditFindInFilesPluginRegexFind* _tmp2_;
Packit 6978fb
		GeditFindInFilesPluginRegexFind* _tmp3_;
Packit 6978fb
		_tmp1_ = self->ignore_case;
Packit 6978fb
		_tmp2_ = gedit_find_in_files_plugin_regex_find_new (needle, _tmp1_, &_inner_error_);
Packit 6978fb
		_tmp0_ = _tmp2_;
Packit 6978fb
		if (G_UNLIKELY (_inner_error_ != NULL)) {
Packit 6978fb
			g_propagate_error (error, _inner_error_);
Packit 6978fb
			return;
Packit 6978fb
		}
Packit 6978fb
		_tmp3_ = _tmp0_;
Packit 6978fb
		_tmp0_ = NULL;
Packit 6978fb
		_g_object_unref0 (self->priv->matcher);
Packit 6978fb
		self->priv->matcher = (GeditFindInFilesPluginIMatcher*) _tmp3_;
Packit 6978fb
		_g_object_unref0 (_tmp0_);
Packit 6978fb
	} else {
Packit 6978fb
		gboolean _tmp4_;
Packit 6978fb
		GeditFindInFilesPluginBoyerMooreHorspool* _tmp5_;
Packit 6978fb
		_tmp4_ = self->ignore_case;
Packit 6978fb
		_tmp5_ = gedit_find_in_files_plugin_boyer_moore_horspool_new (needle, _tmp4_);
Packit 6978fb
		_g_object_unref0 (self->priv->matcher);
Packit 6978fb
		self->priv->matcher = (GeditFindInFilesPluginIMatcher*) _tmp5_;
Packit 6978fb
	}
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gpointer
Packit 6978fb
_gedit_find_in_files_plugin_find_job_worker_gthread_func (gpointer self)
Packit 6978fb
{
Packit 6978fb
	gpointer result;
Packit 6978fb
	result = (gpointer) ((gintptr) gedit_find_in_files_plugin_find_job_worker ((GeditFindInFilesPluginFindJob*) self));
Packit 6978fb
	gedit_find_in_files_plugin_find_job_unref (self);
Packit 6978fb
	return result;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
gedit_find_in_files_plugin_find_job_start_workers_pool (GeditFindInFilesPluginFindJob* self)
Packit 6978fb
{
Packit 6978fb
	guint _tmp0_;
Packit 6978fb
	guint online_cpus = 0U;
Packit 6978fb
	guint _tmp9_;
Packit 6978fb
	g_return_if_fail (self != NULL);
Packit 6978fb
	_tmp0_ = self->priv->running_workers;
Packit 6978fb
	if (_tmp0_ != ((guint) 0)) {
Packit 6978fb
		return;
Packit 6978fb
	}
Packit 6978fb
	online_cpus = g_get_num_processors ();
Packit 6978fb
	{
Packit 6978fb
		gint i = 0;
Packit 6978fb
		i = 0;
Packit 6978fb
		{
Packit 6978fb
			gboolean _tmp1_ = FALSE;
Packit 6978fb
			_tmp1_ = TRUE;
Packit 6978fb
			while (TRUE) {
Packit 6978fb
				gint _tmp3_;
Packit 6978fb
				guint _tmp4_;
Packit 6978fb
				gint _tmp5_;
Packit 6978fb
				gchar* _tmp6_;
Packit 6978fb
				gchar* _tmp7_;
Packit 6978fb
				GThread* _tmp8_;
Packit 6978fb
				if (!_tmp1_) {
Packit 6978fb
					gint _tmp2_;
Packit 6978fb
					_tmp2_ = i;
Packit 6978fb
					i = _tmp2_ + 1;
Packit 6978fb
				}
Packit 6978fb
				_tmp1_ = FALSE;
Packit 6978fb
				_tmp3_ = i;
Packit 6978fb
				_tmp4_ = online_cpus;
Packit 6978fb
				if (!(((guint) _tmp3_) < _tmp4_)) {
Packit 6978fb
					break;
Packit 6978fb
				}
Packit 6978fb
				_tmp5_ = i;
Packit 6978fb
				_tmp6_ = g_strdup_printf ("Worker %d", _tmp5_);
Packit 6978fb
				_tmp7_ = _tmp6_;
Packit 6978fb
				_tmp8_ = g_thread_new (_tmp7_, _gedit_find_in_files_plugin_find_job_worker_gthread_func, gedit_find_in_files_plugin_find_job_ref (self));
Packit 6978fb
				self->priv->thread_workers = g_list_append (self->priv->thread_workers, _tmp8_);
Packit 6978fb
				_g_free0 (_tmp7_);
Packit 6978fb
			}
Packit 6978fb
		}
Packit 6978fb
	}
Packit 6978fb
	_tmp9_ = online_cpus;
Packit 6978fb
	self->priv->running_workers = _tmp9_;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
gchar*
Packit 6978fb
gedit_find_in_files_plugin_find_job_extract_context (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                     guint8* buffer,
Packit 6978fb
                                                     GeditFindInFilesPluginRange* range)
Packit 6978fb
{
Packit 6978fb
	gchar* result = NULL;
Packit 6978fb
	guint8* slice = NULL;
Packit 6978fb
	GeditFindInFilesPluginRange _tmp0_;
Packit 6978fb
	gsize _tmp1_;
Packit 6978fb
	GeditFindInFilesPluginRange _tmp2_;
Packit 6978fb
	gsize _tmp3_;
Packit 6978fb
	guint8* _tmp4_;
Packit 6978fb
	GeditFindInFilesPluginRange _tmp5_;
Packit 6978fb
	gsize _tmp6_;
Packit 6978fb
	GeditFindInFilesPluginRange _tmp7_;
Packit 6978fb
	gsize _tmp8_;
Packit 6978fb
	GeditFindInFilesPluginRange _tmp9_;
Packit 6978fb
	gsize _tmp10_;
Packit 6978fb
	gchar* _tmp11_;
Packit 6978fb
	g_return_val_if_fail (self != NULL, NULL);
Packit 6978fb
	g_return_val_if_fail (range != NULL, NULL);
Packit 6978fb
	_tmp0_ = *range;
Packit 6978fb
	_tmp1_ = _tmp0_.to;
Packit 6978fb
	_tmp2_ = *range;
Packit 6978fb
	_tmp3_ = _tmp2_.from;
Packit 6978fb
	_tmp4_ = g_new0 (guint8, _tmp1_ - _tmp3_);
Packit 6978fb
	slice = _tmp4_;
Packit 6978fb
	_tmp5_ = *range;
Packit 6978fb
	_tmp6_ = _tmp5_.from;
Packit 6978fb
	_tmp7_ = *range;
Packit 6978fb
	_tmp8_ = _tmp7_.to;
Packit 6978fb
	_tmp9_ = *range;
Packit 6978fb
	_tmp10_ = _tmp9_.from;
Packit 6978fb
	memcpy (slice, buffer + _tmp6_, _tmp8_ - _tmp10_);
Packit 6978fb
	_tmp11_ = gedit_utils_make_valid_utf8 ((const gchar*) slice);
Packit 6978fb
	result = _tmp11_;
Packit 6978fb
	return result;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gpointer
Packit 6978fb
_g_thread_ref0 (gpointer self)
Packit 6978fb
{
Packit 6978fb
	return self ? g_thread_ref (self) : NULL;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
void
Packit 6978fb
gedit_find_in_files_plugin_find_job_halt (GeditFindInFilesPluginFindJob* self)
Packit 6978fb
{
Packit 6978fb
	guint _tmp0_;
Packit 6978fb
	GCancellable* _tmp1_;
Packit 6978fb
	GList* _tmp2_;
Packit 6978fb
	g_return_if_fail (self != NULL);
Packit 6978fb
	_tmp0_ = self->priv->running_workers;
Packit 6978fb
	if (_tmp0_ == ((guint) 0)) {
Packit 6978fb
		return;
Packit 6978fb
	}
Packit 6978fb
	_tmp1_ = self->priv->cancellable;
Packit 6978fb
	g_cancellable_cancel (_tmp1_);
Packit 6978fb
	_tmp2_ = self->priv->thread_workers;
Packit 6978fb
	{
Packit 6978fb
		GList* worker_collection = NULL;
Packit 6978fb
		GList* worker_it = NULL;
Packit 6978fb
		worker_collection = _tmp2_;
Packit 6978fb
		for (worker_it = worker_collection; worker_it != NULL; worker_it = worker_it->next) {
Packit 6978fb
			GThread* _tmp3_;
Packit 6978fb
			GThread* worker = NULL;
Packit 6978fb
			_tmp3_ = _g_thread_ref0 ((GThread*) worker_it->data);
Packit 6978fb
			worker = _tmp3_;
Packit 6978fb
			{
Packit 6978fb
				GThread* _tmp4_;
Packit 6978fb
				GThread* _tmp5_;
Packit 6978fb
				_tmp4_ = worker;
Packit 6978fb
				_tmp5_ = _g_thread_ref0 (_tmp4_);
Packit 6978fb
				g_thread_join (_tmp5_);
Packit 6978fb
				_g_thread_unref0 (worker);
Packit 6978fb
			}
Packit 6978fb
		}
Packit 6978fb
	}
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gboolean
Packit 6978fb
gedit_find_in_files_plugin_find_job_is_binary (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                               guint8* buffer,
Packit 6978fb
                                               gsize buffer_size)
Packit 6978fb
{
Packit 6978fb
	gboolean result = FALSE;
Packit 6978fb
	void* _tmp0_;
Packit 6978fb
	g_return_val_if_fail (self != NULL, FALSE);
Packit 6978fb
	_tmp0_ = memchr (buffer, (gint) '\0', buffer_size);
Packit 6978fb
	result = _tmp0_ != NULL;
Packit 6978fb
	return result;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gboolean
Packit 6978fb
gedit_find_in_files_plugin_find_job_ignore_vcs_dir (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                    GFileInfo* file)
Packit 6978fb
{
Packit 6978fb
	gboolean result = FALSE;
Packit 6978fb
	g_return_val_if_fail (self != NULL, FALSE);
Packit 6978fb
	g_return_val_if_fail (file != NULL, FALSE);
Packit 6978fb
	if (g_file_info_get_file_type (file) == G_FILE_TYPE_DIRECTORY) {
Packit 6978fb
		gchar* name = NULL;
Packit 6978fb
		const gchar* _tmp0_;
Packit 6978fb
		gchar* _tmp1_;
Packit 6978fb
		gboolean _tmp2_ = FALSE;
Packit 6978fb
		gboolean _tmp3_ = FALSE;
Packit 6978fb
		gboolean _tmp4_ = FALSE;
Packit 6978fb
		gboolean _tmp5_ = FALSE;
Packit 6978fb
		const gchar* _tmp6_;
Packit 6978fb
		_tmp0_ = g_file_info_get_name (file);
Packit 6978fb
		_tmp1_ = g_strdup (_tmp0_);
Packit 6978fb
		name = _tmp1_;
Packit 6978fb
		_tmp6_ = name;
Packit 6978fb
		if (g_strcmp0 (_tmp6_, ".git") == 0) {
Packit 6978fb
			_tmp5_ = TRUE;
Packit 6978fb
		} else {
Packit 6978fb
			const gchar* _tmp7_;
Packit 6978fb
			_tmp7_ = name;
Packit 6978fb
			_tmp5_ = g_strcmp0 (_tmp7_, ".bzr") == 0;
Packit 6978fb
		}
Packit 6978fb
		if (_tmp5_) {
Packit 6978fb
			_tmp4_ = TRUE;
Packit 6978fb
		} else {
Packit 6978fb
			const gchar* _tmp8_;
Packit 6978fb
			_tmp8_ = name;
Packit 6978fb
			_tmp4_ = g_strcmp0 (_tmp8_, ".svn") == 0;
Packit 6978fb
		}
Packit 6978fb
		if (_tmp4_) {
Packit 6978fb
			_tmp3_ = TRUE;
Packit 6978fb
		} else {
Packit 6978fb
			const gchar* _tmp9_;
Packit 6978fb
			_tmp9_ = name;
Packit 6978fb
			_tmp3_ = g_strcmp0 (_tmp9_, ".hg") == 0;
Packit 6978fb
		}
Packit 6978fb
		if (_tmp3_) {
Packit 6978fb
			_tmp2_ = TRUE;
Packit 6978fb
		} else {
Packit 6978fb
			const gchar* _tmp10_;
Packit 6978fb
			_tmp10_ = name;
Packit 6978fb
			_tmp2_ = g_strcmp0 (_tmp10_, "_darcs") == 0;
Packit 6978fb
		}
Packit 6978fb
		if (_tmp2_) {
Packit 6978fb
			result = TRUE;
Packit 6978fb
			_g_free0 (name);
Packit 6978fb
			return result;
Packit 6978fb
		}
Packit 6978fb
		_g_free0 (name);
Packit 6978fb
	}
Packit 6978fb
	result = FALSE;
Packit 6978fb
	return result;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
gedit_find_in_files_plugin_find_job_execute_data_free (gpointer _data)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginFindJobExecuteData* _data_;
Packit 6978fb
	_data_ = _data;
Packit 6978fb
	_g_free0 (_data_->root);
Packit 6978fb
	_gedit_find_in_files_plugin_find_job_unref0 (_data_->self);
Packit 6978fb
	g_slice_free (GeditFindInFilesPluginFindJobExecuteData, _data_);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
gedit_find_in_files_plugin_find_job_execute_async_ready_wrapper (GObject *source_object,
Packit 6978fb
                                                                 GAsyncResult *res,
Packit 6978fb
                                                                 void *user_data)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginFindJobExecuteData* _task_data_;
Packit 6978fb
	_task_data_ = g_task_get_task_data (G_TASK (res));
Packit 6978fb
	if (_task_data_->_callback_ != NULL) {
Packit 6978fb
		_task_data_->_callback_ (source_object, res, user_data);
Packit 6978fb
	}
Packit 6978fb
	_task_data_->_task_complete_ = TRUE;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gpointer
Packit 6978fb
_gedit_find_in_files_plugin_find_job_ref0 (gpointer self)
Packit 6978fb
{
Packit 6978fb
	return self ? gedit_find_in_files_plugin_find_job_ref (self) : NULL;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
void
Packit 6978fb
gedit_find_in_files_plugin_find_job_execute (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                             const gchar* root,
Packit 6978fb
                                             GAsyncReadyCallback _callback_,
Packit 6978fb
                                             gpointer _user_data_)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginFindJobExecuteData* _data_;
Packit 6978fb
	GeditFindInFilesPluginFindJob* _tmp0_;
Packit 6978fb
	gchar* _tmp1_;
Packit 6978fb
	_data_ = g_slice_new0 (GeditFindInFilesPluginFindJobExecuteData);
Packit 6978fb
	_data_->_callback_ = _callback_;
Packit 6978fb
	_data_->_async_result = g_task_new (NULL, NULL, gedit_find_in_files_plugin_find_job_execute_async_ready_wrapper, _user_data_);
Packit 6978fb
	if (_callback_ == NULL) {
Packit 6978fb
		_data_->_task_complete_ = TRUE;
Packit 6978fb
	}
Packit 6978fb
	g_task_set_task_data (_data_->_async_result, _data_, gedit_find_in_files_plugin_find_job_execute_data_free);
Packit 6978fb
	_tmp0_ = _gedit_find_in_files_plugin_find_job_ref0 (self);
Packit 6978fb
	_data_->self = _tmp0_;
Packit 6978fb
	_tmp1_ = g_strdup (root);
Packit 6978fb
	_g_free0 (_data_->root);
Packit 6978fb
	_data_->root = _tmp1_;
Packit 6978fb
	gedit_find_in_files_plugin_find_job_execute_co (_data_);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
void
Packit 6978fb
gedit_find_in_files_plugin_find_job_execute_finish (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                    GAsyncResult* _res_,
Packit 6978fb
                                                    GError** error)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginFindJobExecuteData* _data_;
Packit 6978fb
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
Packit 6978fb
	if (NULL == _data_) {
Packit 6978fb
		return;
Packit 6978fb
	}
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
gedit_find_in_files_plugin_find_job_execute_ready (GObject* source_object,
Packit 6978fb
                                                   GAsyncResult* _res_,
Packit 6978fb
                                                   gpointer _user_data_)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginFindJobExecuteData* _data_;
Packit 6978fb
	_data_ = _user_data_;
Packit 6978fb
	_data_->_source_object_ = source_object;
Packit 6978fb
	_data_->_res_ = _res_;
Packit 6978fb
	_data_->_task_complete_ = TRUE;
Packit 6978fb
	gedit_find_in_files_plugin_find_job_execute_co (_data_);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
_g_object_unref0_ (gpointer var)
Packit 6978fb
{
Packit 6978fb
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static inline void
Packit 6978fb
_g_queue_free__g_object_unref0_ (GQueue* self)
Packit 6978fb
{
Packit 6978fb
	g_queue_free_full (self, (GDestroyNotify) _g_object_unref0_);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static inline void
Packit 6978fb
_g_list_free__g_object_unref0_ (GList* self)
Packit 6978fb
{
Packit 6978fb
	g_list_free_full (self, (GDestroyNotify) _g_object_unref0_);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gchar
Packit 6978fb
string_get (const gchar* self,
Packit 6978fb
            glong index)
Packit 6978fb
{
Packit 6978fb
	gchar result = '\0';
Packit 6978fb
	gchar _tmp0_;
Packit 6978fb
	g_return_val_if_fail (self != NULL, '\0');
Packit 6978fb
	_tmp0_ = ((gchar*) self)[index];
Packit 6978fb
	result = _tmp0_;
Packit 6978fb
	return result;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gboolean
Packit 6978fb
gedit_find_in_files_plugin_find_job_execute_co (GeditFindInFilesPluginFindJobExecuteData* _data_)
Packit 6978fb
{
Packit 6978fb
	switch (_data_->_state_) {
Packit 6978fb
		case 0:
Packit 6978fb
		goto _state_0;
Packit 6978fb
		case 1:
Packit 6978fb
		goto _state_1;
Packit 6978fb
		case 2:
Packit 6978fb
		goto _state_2;
Packit 6978fb
		default:
Packit 6978fb
		g_assert_not_reached ();
Packit 6978fb
	}
Packit 6978fb
	_state_0:
Packit 6978fb
	_data_->_tmp0_ = g_queue_new ();
Packit 6978fb
	_data_->queue = _data_->_tmp0_;
Packit 6978fb
	_data_->_tmp1_ = g_str_hash;
Packit 6978fb
	_data_->_tmp2_ = g_str_equal;
Packit 6978fb
	_data_->_tmp3_ = g_hash_table_new_full (_data_->_tmp1_, _data_->_tmp2_, _g_free0_, NULL);
Packit 6978fb
	_data_->visited = _data_->_tmp3_;
Packit 6978fb
	gedit_find_in_files_plugin_find_job_start_workers_pool (_data_->self);
Packit 6978fb
	_data_->_tmp4_ = _data_->queue;
Packit 6978fb
	_data_->_tmp5_ = g_file_new_for_path (_data_->root);
Packit 6978fb
	g_queue_push_tail (_data_->_tmp4_, _data_->_tmp5_);
Packit 6978fb
	while (TRUE) {
Packit 6978fb
		_data_->_tmp6_ = _data_->queue;
Packit 6978fb
		if (!(!g_queue_is_empty (_data_->_tmp6_))) {
Packit 6978fb
			break;
Packit 6978fb
		}
Packit 6978fb
		_data_->_tmp7_ = _data_->self->priv->cancellable;
Packit 6978fb
		if (g_cancellable_is_cancelled (_data_->_tmp7_)) {
Packit 6978fb
			break;
Packit 6978fb
		}
Packit 6978fb
		_data_->_tmp8_ = _data_->queue;
Packit 6978fb
		_data_->_tmp9_ = g_queue_pop_head (_data_->_tmp8_);
Packit 6978fb
		_data_->dir = (GFile*) _data_->_tmp9_;
Packit 6978fb
		_data_->_tmp10_ = _data_->dir;
Packit 6978fb
		_data_->_state_ = 1;
Packit 6978fb
		g_file_enumerate_children_async (_data_->_tmp10_, G_FILE_ATTRIBUTE_STANDARD_NAME, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, G_PRIORITY_DEFAULT, NULL, gedit_find_in_files_plugin_find_job_execute_ready, _data_);
Packit 6978fb
		return FALSE;
Packit 6978fb
		_state_1:
Packit 6978fb
		_data_->_tmp11_ = g_file_enumerate_children_finish (_data_->_tmp10_, _data_->_res_, &_data_->_inner_error_);
Packit 6978fb
		_data_->e = _data_->_tmp11_;
Packit 6978fb
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
Packit 6978fb
			g_task_return_error (_data_->_async_result, _data_->_inner_error_);
Packit 6978fb
			_g_object_unref0 (_data_->dir);
Packit 6978fb
			_g_hash_table_unref0 (_data_->visited);
Packit 6978fb
			__g_queue_free__g_object_unref0_0 (_data_->queue);
Packit 6978fb
			g_object_unref (_data_->_async_result);
Packit 6978fb
			return FALSE;
Packit 6978fb
		}
Packit 6978fb
		while (TRUE) {
Packit 6978fb
			_data_->_tmp12_ = _data_->e;
Packit 6978fb
			_data_->_state_ = 2;
Packit 6978fb
			g_file_enumerator_next_files_async (_data_->_tmp12_, 100, G_PRIORITY_DEFAULT, NULL, gedit_find_in_files_plugin_find_job_execute_ready, _data_);
Packit 6978fb
			return FALSE;
Packit 6978fb
			_state_2:
Packit 6978fb
			_data_->_tmp13_ = g_file_enumerator_next_files_finish (_data_->_tmp12_, _data_->_res_, &_data_->_inner_error_);
Packit 6978fb
			_data_->files = _data_->_tmp13_;
Packit 6978fb
			if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
Packit 6978fb
				g_task_return_error (_data_->_async_result, _data_->_inner_error_);
Packit 6978fb
				_g_object_unref0 (_data_->e);
Packit 6978fb
				_g_object_unref0 (_data_->dir);
Packit 6978fb
				_g_hash_table_unref0 (_data_->visited);
Packit 6978fb
				__g_queue_free__g_object_unref0_0 (_data_->queue);
Packit 6978fb
				g_object_unref (_data_->_async_result);
Packit 6978fb
				return FALSE;
Packit 6978fb
			}
Packit 6978fb
			_data_->_tmp14_ = _data_->files;
Packit 6978fb
			if (_data_->_tmp14_ == NULL) {
Packit 6978fb
				__g_list_free__g_object_unref0_0 (_data_->files);
Packit 6978fb
				break;
Packit 6978fb
			}
Packit 6978fb
			_data_->_tmp15_ = _data_->self->priv->cancellable;
Packit 6978fb
			if (g_cancellable_is_cancelled (_data_->_tmp15_)) {
Packit 6978fb
				__g_list_free__g_object_unref0_0 (_data_->files);
Packit 6978fb
				break;
Packit 6978fb
			}
Packit 6978fb
			_data_->_tmp16_ = _data_->files;
Packit 6978fb
			{
Packit 6978fb
				_data_->file_collection = _data_->_tmp16_;
Packit 6978fb
				for (_data_->file_it = _data_->file_collection; _data_->file_it != NULL; _data_->file_it = _data_->file_it->next) {
Packit 6978fb
					_data_->_tmp17_ = _g_object_ref0 ((GFileInfo*) _data_->file_it->data);
Packit 6978fb
					_data_->file = _data_->_tmp17_;
Packit 6978fb
					{
Packit 6978fb
						_data_->_tmp19_ = _data_->self->include_hidden;
Packit 6978fb
						if (!_data_->_tmp19_) {
Packit 6978fb
							_data_->_tmp20_ = _data_->file;
Packit 6978fb
							_data_->_tmp21_ = g_file_info_get_name (_data_->_tmp20_);
Packit 6978fb
							_data_->_tmp18_ = string_get (_data_->_tmp21_, (glong) 0) == '.';
Packit 6978fb
						} else {
Packit 6978fb
							_data_->_tmp18_ = FALSE;
Packit 6978fb
						}
Packit 6978fb
						if (_data_->_tmp18_) {
Packit 6978fb
							_g_object_unref0 (_data_->file);
Packit 6978fb
							continue;
Packit 6978fb
						}
Packit 6978fb
						_data_->_tmp22_ = _data_->file;
Packit 6978fb
						if (gedit_find_in_files_plugin_find_job_ignore_vcs_dir (_data_->self, _data_->_tmp22_)) {
Packit 6978fb
							_g_object_unref0 (_data_->file);
Packit 6978fb
							continue;
Packit 6978fb
						}
Packit 6978fb
						_data_->_tmp23_ = _data_->dir;
Packit 6978fb
						_data_->_tmp24_ = _data_->file;
Packit 6978fb
						_data_->_tmp25_ = g_file_info_get_name (_data_->_tmp24_);
Packit 6978fb
						_data_->_tmp26_ = g_file_resolve_relative_path (_data_->_tmp23_, _data_->_tmp25_);
Packit 6978fb
						_data_->_file = _data_->_tmp26_;
Packit 6978fb
						_data_->_tmp27_ = _data_->file;
Packit 6978fb
						switch (g_file_info_get_file_type (_data_->_tmp27_)) {
Packit 6978fb
							case G_FILE_TYPE_REGULAR:
Packit 6978fb
							{
Packit 6978fb
								_data_->_tmp28_ = _data_->self->priv->scan_queue;
Packit 6978fb
								_data_->_tmp29_ = _data_->_file;
Packit 6978fb
								_data_->_tmp30_ = g_file_get_path (_data_->_tmp29_);
Packit 6978fb
								g_async_queue_push (_data_->_tmp28_, _data_->_tmp30_);
Packit 6978fb
								break;
Packit 6978fb
							}
Packit 6978fb
							case G_FILE_TYPE_DIRECTORY:
Packit 6978fb
							{
Packit 6978fb
								_data_->_tmp31_ = _data_->queue;
Packit 6978fb
								_data_->_tmp32_ = _data_->_file;
Packit 6978fb
								_data_->_tmp33_ = _g_object_ref0 (_data_->_tmp32_);
Packit 6978fb
								g_queue_push_tail (_data_->_tmp31_, _data_->_tmp33_);
Packit 6978fb
								_data_->_tmp34_ = _data_->visited;
Packit 6978fb
								_data_->_tmp35_ = _data_->_file;
Packit 6978fb
								_data_->_tmp36_ = g_file_get_path (_data_->_tmp35_);
Packit 6978fb
								g_hash_table_insert (_data_->_tmp34_, _data_->_tmp36_, (gpointer) ((gintptr) TRUE));
Packit 6978fb
								break;
Packit 6978fb
							}
Packit 6978fb
							case G_FILE_TYPE_SYMBOLIC_LINK:
Packit 6978fb
							{
Packit 6978fb
								_data_->_tmp37_ = _data_->_file;
Packit 6978fb
								_data_->_tmp38_ = g_file_get_path (_data_->_tmp37_);
Packit 6978fb
								_data_->_tmp39_ = _data_->_tmp38_;
Packit 6978fb
								_data_->_tmp40_ = realpath (_data_->_tmp39_, NULL);
Packit 6978fb
								_data_->_tmp41_ = _data_->_tmp40_;
Packit 6978fb
								_g_free0 (_data_->_tmp39_);
Packit 6978fb
								_data_->link_dest = _data_->_tmp41_;
Packit 6978fb
								_data_->_tmp43_ = _data_->link_dest;
Packit 6978fb
								if (_data_->_tmp43_ != NULL) {
Packit 6978fb
									_data_->_tmp44_ = _data_->visited;
Packit 6978fb
									_data_->_tmp45_ = _data_->link_dest;
Packit 6978fb
									_data_->_tmp42_ = !g_hash_table_contains (_data_->_tmp44_, _data_->_tmp45_);
Packit 6978fb
								} else {
Packit 6978fb
									_data_->_tmp42_ = FALSE;
Packit 6978fb
								}
Packit 6978fb
								if (_data_->_tmp42_) {
Packit 6978fb
									_data_->_tmp47_ = _data_->link_dest;
Packit 6978fb
									if (g_file_test (_data_->_tmp47_, G_FILE_TEST_IS_DIR)) {
Packit 6978fb
										_data_->_tmp49_ = _data_->self->ignore_case;
Packit 6978fb
										if (!_data_->_tmp49_) {
Packit 6978fb
											_data_->_tmp50_ = _data_->link_dest;
Packit 6978fb
											_data_->_tmp48_ = string_get (_data_->_tmp50_, (glong) 0) != '.';
Packit 6978fb
										} else {
Packit 6978fb
											_data_->_tmp48_ = FALSE;
Packit 6978fb
										}
Packit 6978fb
										_data_->_tmp46_ = _data_->_tmp48_;
Packit 6978fb
									} else {
Packit 6978fb
										_data_->_tmp46_ = FALSE;
Packit 6978fb
									}
Packit 6978fb
									if (_data_->_tmp46_) {
Packit 6978fb
										_data_->_tmp51_ = _data_->queue;
Packit 6978fb
										_data_->_tmp52_ = _data_->link_dest;
Packit 6978fb
										_data_->_tmp53_ = g_file_new_for_path (_data_->_tmp52_);
Packit 6978fb
										g_queue_push_tail (_data_->_tmp51_, _data_->_tmp53_);
Packit 6978fb
									}
Packit 6978fb
								}
Packit 6978fb
								_g_free0 (_data_->link_dest);
Packit 6978fb
								break;
Packit 6978fb
							}
Packit 6978fb
							default:
Packit 6978fb
							break;
Packit 6978fb
						}
Packit 6978fb
						_g_object_unref0 (_data_->_file);
Packit 6978fb
						_g_object_unref0 (_data_->file);
Packit 6978fb
					}
Packit 6978fb
				}
Packit 6978fb
			}
Packit 6978fb
			__g_list_free__g_object_unref0_0 (_data_->files);
Packit 6978fb
		}
Packit 6978fb
		_g_object_unref0 (_data_->e);
Packit 6978fb
		_g_object_unref0 (_data_->dir);
Packit 6978fb
	}
Packit 6978fb
	_g_hash_table_unref0 (_data_->visited);
Packit 6978fb
	__g_queue_free__g_object_unref0_0 (_data_->queue);
Packit 6978fb
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
Packit 6978fb
	if (_data_->_state_ != 0) {
Packit 6978fb
		while (_data_->_task_complete_ != TRUE) {
Packit 6978fb
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
Packit 6978fb
		}
Packit 6978fb
	}
Packit 6978fb
	g_object_unref (_data_->_async_result);
Packit 6978fb
	return FALSE;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
gedit_find_in_files_plugin_find_job_get_line (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                              guint8* buffer,
Packit 6978fb
                                              gsize buffer_size,
Packit 6978fb
                                              GeditFindInFilesPluginRange* span,
Packit 6978fb
                                              GeditFindInFilesPluginBookmark* bookmark)
Packit 6978fb
{
Packit 6978fb
	gint line_count = 0;
Packit 6978fb
	GeditFindInFilesPluginBookmark _tmp0_;
Packit 6978fb
	gint _tmp1_;
Packit 6978fb
	gsize line_start = 0UL;
Packit 6978fb
	GeditFindInFilesPluginBookmark _tmp2_;
Packit 6978fb
	gsize _tmp3_;
Packit 6978fb
	guint8* ptr = NULL;
Packit 6978fb
	GeditFindInFilesPluginBookmark _tmp4_;
Packit 6978fb
	gsize _tmp5_;
Packit 6978fb
	g_return_if_fail (self != NULL);
Packit 6978fb
	g_return_if_fail (span != NULL);
Packit 6978fb
	g_return_if_fail (bookmark != NULL);
Packit 6978fb
	_tmp0_ = *bookmark;
Packit 6978fb
	_tmp1_ = _tmp0_.line_number;
Packit 6978fb
	line_count = _tmp1_;
Packit 6978fb
	_tmp2_ = *bookmark;
Packit 6978fb
	_tmp3_ = _tmp2_.line_start;
Packit 6978fb
	line_start = _tmp3_;
Packit 6978fb
	_tmp4_ = *bookmark;
Packit 6978fb
	_tmp5_ = _tmp4_.line_start;
Packit 6978fb
	ptr = buffer + _tmp5_;
Packit 6978fb
	while (TRUE) {
Packit 6978fb
		guint8* _tmp6_;
Packit 6978fb
		guint8* nl = NULL;
Packit 6978fb
		guint8* _tmp7_;
Packit 6978fb
		guint8* _tmp8_;
Packit 6978fb
		void* _tmp9_;
Packit 6978fb
		guint8* _tmp10_;
Packit 6978fb
		gsize line_length = 0UL;
Packit 6978fb
		guint8* _tmp12_;
Packit 6978fb
		guint8* _tmp13_;
Packit 6978fb
		gboolean _tmp14_ = FALSE;
Packit 6978fb
		GeditFindInFilesPluginRange _tmp15_;
Packit 6978fb
		gsize _tmp16_;
Packit 6978fb
		gsize _tmp17_;
Packit 6978fb
		gint _tmp25_;
Packit 6978fb
		gsize _tmp26_;
Packit 6978fb
		gsize _tmp27_;
Packit 6978fb
		guint8* _tmp28_;
Packit 6978fb
		_tmp6_ = ptr;
Packit 6978fb
		if (!(_tmp6_ < (buffer + buffer_size))) {
Packit 6978fb
			break;
Packit 6978fb
		}
Packit 6978fb
		_tmp7_ = ptr;
Packit 6978fb
		_tmp8_ = ptr;
Packit 6978fb
		_tmp9_ = memchr (_tmp7_, (gint) '\n', buffer_size - (_tmp8_ - buffer));
Packit 6978fb
		nl = _tmp9_;
Packit 6978fb
		_tmp10_ = nl;
Packit 6978fb
		if (_tmp10_ == NULL) {
Packit 6978fb
			nl = (buffer + buffer_size) + 1;
Packit 6978fb
		} else {
Packit 6978fb
			guint8* _tmp11_;
Packit 6978fb
			_tmp11_ = nl;
Packit 6978fb
			nl = _tmp11_ + 1;
Packit 6978fb
		}
Packit 6978fb
		_tmp12_ = nl;
Packit 6978fb
		_tmp13_ = ptr;
Packit 6978fb
		line_length = _tmp12_ - _tmp13_;
Packit 6978fb
		_tmp15_ = *span;
Packit 6978fb
		_tmp16_ = _tmp15_.from;
Packit 6978fb
		_tmp17_ = line_start;
Packit 6978fb
		if (_tmp16_ >= _tmp17_) {
Packit 6978fb
			GeditFindInFilesPluginRange _tmp18_;
Packit 6978fb
			gsize _tmp19_;
Packit 6978fb
			gsize _tmp20_;
Packit 6978fb
			gsize _tmp21_;
Packit 6978fb
			_tmp18_ = *span;
Packit 6978fb
			_tmp19_ = _tmp18_.to;
Packit 6978fb
			_tmp20_ = line_start;
Packit 6978fb
			_tmp21_ = line_length;
Packit 6978fb
			_tmp14_ = _tmp19_ < (_tmp20_ + _tmp21_);
Packit 6978fb
		} else {
Packit 6978fb
			_tmp14_ = FALSE;
Packit 6978fb
		}
Packit 6978fb
		if (_tmp14_) {
Packit 6978fb
			gint _tmp22_;
Packit 6978fb
			gsize _tmp23_;
Packit 6978fb
			gsize _tmp24_;
Packit 6978fb
			_tmp22_ = line_count;
Packit 6978fb
			(*bookmark).line_number = _tmp22_;
Packit 6978fb
			_tmp23_ = line_start;
Packit 6978fb
			(*bookmark).line_start = _tmp23_;
Packit 6978fb
			_tmp24_ = line_length;
Packit 6978fb
			(*bookmark).line_length = _tmp24_ - 1;
Packit 6978fb
			return;
Packit 6978fb
		}
Packit 6978fb
		_tmp25_ = line_count;
Packit 6978fb
		line_count = _tmp25_ + 1;
Packit 6978fb
		_tmp26_ = line_start;
Packit 6978fb
		_tmp27_ = line_length;
Packit 6978fb
		line_start = _tmp26_ + _tmp27_;
Packit 6978fb
		_tmp28_ = nl;
Packit 6978fb
		ptr = _tmp28_;
Packit 6978fb
	}
Packit 6978fb
	g_assert_not_reached ();
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gunichar
Packit 6978fb
string_get_char (const gchar* self,
Packit 6978fb
                 glong index)
Packit 6978fb
{
Packit 6978fb
	gunichar result = 0U;
Packit 6978fb
	g_return_val_if_fail (self != NULL, 0U);
Packit 6978fb
	result = g_utf8_get_char (((gchar*) self) + index);
Packit 6978fb
	return result;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gboolean
Packit 6978fb
string_get_prev_char (const gchar* self,
Packit 6978fb
                      gint* index,
Packit 6978fb
                      gunichar* c)
Packit 6978fb
{
Packit 6978fb
	gunichar _vala_c = 0U;
Packit 6978fb
	gboolean result = FALSE;
Packit 6978fb
	g_return_val_if_fail (self != NULL, FALSE);
Packit 6978fb
	if (0 < (*index)) {
Packit 6978fb
		gchar* _tmp0_;
Packit 6978fb
		_tmp0_ = g_utf8_prev_char (((gchar*) self) + (*index));
Packit 6978fb
		*index = (gint) (_tmp0_ - ((gchar*) self));
Packit 6978fb
		_vala_c = g_utf8_get_char (((gchar*) self) + (*index));
Packit 6978fb
		result = TRUE;
Packit 6978fb
		if (c) {
Packit 6978fb
			*c = _vala_c;
Packit 6978fb
		}
Packit 6978fb
		return result;
Packit 6978fb
	} else {
Packit 6978fb
		_vala_c = (gunichar) 0;
Packit 6978fb
		result = FALSE;
Packit 6978fb
		if (c) {
Packit 6978fb
			*c = _vala_c;
Packit 6978fb
		}
Packit 6978fb
		return result;
Packit 6978fb
	}
Packit 6978fb
	if (c) {
Packit 6978fb
		*c = _vala_c;
Packit 6978fb
	}
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gboolean
Packit 6978fb
string_get_next_char (const gchar* self,
Packit 6978fb
                      gint* index,
Packit 6978fb
                      gunichar* c)
Packit 6978fb
{
Packit 6978fb
	gunichar _vala_c = 0U;
Packit 6978fb
	gboolean result = FALSE;
Packit 6978fb
	gunichar _tmp0_;
Packit 6978fb
	g_return_val_if_fail (self != NULL, FALSE);
Packit 6978fb
	_vala_c = g_utf8_get_char (((gchar*) self) + (*index));
Packit 6978fb
	_tmp0_ = _vala_c;
Packit 6978fb
	if (_tmp0_ != ((gunichar) 0)) {
Packit 6978fb
		gchar* _tmp1_;
Packit 6978fb
		_tmp1_ = g_utf8_next_char (((gchar*) self) + (*index));
Packit 6978fb
		*index = (gint) (_tmp1_ - ((gchar*) self));
Packit 6978fb
		result = TRUE;
Packit 6978fb
		if (c) {
Packit 6978fb
			*c = _vala_c;
Packit 6978fb
		}
Packit 6978fb
		return result;
Packit 6978fb
	} else {
Packit 6978fb
		result = FALSE;
Packit 6978fb
		if (c) {
Packit 6978fb
			*c = _vala_c;
Packit 6978fb
		}
Packit 6978fb
		return result;
Packit 6978fb
	}
Packit 6978fb
	if (c) {
Packit 6978fb
		*c = _vala_c;
Packit 6978fb
	}
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gboolean
Packit 6978fb
gedit_find_in_files_plugin_find_job_is_word_boundary (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                      guint8* buf,
Packit 6978fb
                                                      gsize buf_size,
Packit 6978fb
                                                      gsize from,
Packit 6978fb
                                                      gsize to)
Packit 6978fb
{
Packit 6978fb
	gboolean result = FALSE;
Packit 6978fb
	gunichar ch = 0U;
Packit 6978fb
	gboolean prev = FALSE;
Packit 6978fb
	gboolean next = FALSE;
Packit 6978fb
	const gchar* str = NULL;
Packit 6978fb
	gboolean _tmp0_ = FALSE;
Packit 6978fb
	gboolean _tmp1_;
Packit 6978fb
	gint start = 0;
Packit 6978fb
	gint end = 0;
Packit 6978fb
	gunichar head = 0U;
Packit 6978fb
	const gchar* _tmp2_;
Packit 6978fb
	gboolean _tmp3_ = FALSE;
Packit 6978fb
	gint _tmp4_;
Packit 6978fb
	gunichar tail = 0U;
Packit 6978fb
	const gchar* _tmp10_;
Packit 6978fb
	gint _tmp11_;
Packit 6978fb
	gboolean _tmp12_ = FALSE;
Packit 6978fb
	gint _tmp13_;
Packit 6978fb
	gboolean _tmp19_ = FALSE;
Packit 6978fb
	gboolean _tmp20_;
Packit 6978fb
	g_return_val_if_fail (self != NULL, FALSE);
Packit 6978fb
	if (to > from) {
Packit 6978fb
		_tmp0_ = to <= buf_size;
Packit 6978fb
	} else {
Packit 6978fb
		_tmp0_ = FALSE;
Packit 6978fb
	}
Packit 6978fb
	_vala_assert (_tmp0_, "to > from && to <= buf_size");
Packit 6978fb
	if ((to - from) > ((gsize) G_MAXINT)) {
Packit 6978fb
		result = FALSE;
Packit 6978fb
		return result;
Packit 6978fb
	}
Packit 6978fb
	ch = (gunichar) '\0';
Packit 6978fb
	next = TRUE;
Packit 6978fb
	_tmp1_ = next;
Packit 6978fb
	prev = _tmp1_;
Packit 6978fb
	str = (const gchar*) (buf + from);
Packit 6978fb
	start = 0;
Packit 6978fb
	end = (gint) (to - from);
Packit 6978fb
	_tmp2_ = str;
Packit 6978fb
	head = string_get_char (_tmp2_, (glong) 0);
Packit 6978fb
	_tmp4_ = start;
Packit 6978fb
	if (_tmp4_ > 0) {
Packit 6978fb
		const gchar* _tmp5_;
Packit 6978fb
		gunichar _tmp6_ = 0U;
Packit 6978fb
		gboolean _tmp7_;
Packit 6978fb
		_tmp5_ = str;
Packit 6978fb
		_tmp7_ = string_get_prev_char (_tmp5_, &start, &_tmp6_);
Packit 6978fb
		ch = _tmp6_;
Packit 6978fb
		_tmp3_ = _tmp7_;
Packit 6978fb
	} else {
Packit 6978fb
		_tmp3_ = FALSE;
Packit 6978fb
	}
Packit 6978fb
	if (_tmp3_) {
Packit 6978fb
		gunichar _tmp8_;
Packit 6978fb
		gunichar _tmp9_;
Packit 6978fb
		_tmp8_ = head;
Packit 6978fb
		_tmp9_ = ch;
Packit 6978fb
		prev = g_unichar_isalnum (_tmp8_) != g_unichar_isalnum (_tmp9_);
Packit 6978fb
	}
Packit 6978fb
	_tmp10_ = str;
Packit 6978fb
	_tmp11_ = end;
Packit 6978fb
	tail = string_get_char (_tmp10_, (glong) (_tmp11_ - 1));
Packit 6978fb
	_tmp13_ = end;
Packit 6978fb
	if (((gsize) _tmp13_) < buf_size) {
Packit 6978fb
		const gchar* _tmp14_;
Packit 6978fb
		gunichar _tmp15_ = 0U;
Packit 6978fb
		gboolean _tmp16_;
Packit 6978fb
		_tmp14_ = str;
Packit 6978fb
		_tmp16_ = string_get_next_char (_tmp14_, &end, &_tmp15_);
Packit 6978fb
		ch = _tmp15_;
Packit 6978fb
		_tmp12_ = _tmp16_;
Packit 6978fb
	} else {
Packit 6978fb
		_tmp12_ = FALSE;
Packit 6978fb
	}
Packit 6978fb
	if (_tmp12_) {
Packit 6978fb
		gunichar _tmp17_;
Packit 6978fb
		gunichar _tmp18_;
Packit 6978fb
		_tmp17_ = tail;
Packit 6978fb
		_tmp18_ = ch;
Packit 6978fb
		next = g_unichar_isalnum (_tmp17_) != g_unichar_isalnum (_tmp18_);
Packit 6978fb
	}
Packit 6978fb
	_tmp20_ = prev;
Packit 6978fb
	if (_tmp20_) {
Packit 6978fb
		gboolean _tmp21_;
Packit 6978fb
		_tmp21_ = next;
Packit 6978fb
		_tmp19_ = _tmp21_;
Packit 6978fb
	} else {
Packit 6978fb
		_tmp19_ = FALSE;
Packit 6978fb
	}
Packit 6978fb
	result = _tmp19_;
Packit 6978fb
	return result;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
gedit_find_in_files_plugin_find_job_scan_file (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                               const gchar* path)
Packit 6978fb
{
Packit 6978fb
	GMappedFile* file = NULL;
Packit 6978fb
	gsize buffer_size = 0UL;
Packit 6978fb
	GMappedFile* _tmp5_;
Packit 6978fb
	guint8* buffer = NULL;
Packit 6978fb
	GMappedFile* _tmp6_;
Packit 6978fb
	gchar* _tmp7_;
Packit 6978fb
	guint8* _tmp8_;
Packit 6978fb
	gsize _tmp9_;
Packit 6978fb
	GeditFindInFilesPluginRange match = {0};
Packit 6978fb
	GeditFindInFilesPluginRange _tmp10_ = {0};
Packit 6978fb
	GeditFindInFilesPluginBookmark bookmark = {0};
Packit 6978fb
	gint last_line = 0;
Packit 6978fb
	GError * _inner_error_ = NULL;
Packit 6978fb
	g_return_if_fail (self != NULL);
Packit 6978fb
	g_return_if_fail (path != NULL);
Packit 6978fb
	{
Packit 6978fb
		GMappedFile* _tmp0_ = NULL;
Packit 6978fb
		GMappedFile* _tmp1_;
Packit 6978fb
		GMappedFile* _tmp2_;
Packit 6978fb
		_tmp1_ = g_mapped_file_new (path, FALSE, &_inner_error_);
Packit 6978fb
		_tmp0_ = _tmp1_;
Packit 6978fb
		if (G_UNLIKELY (_inner_error_ != NULL)) {
Packit 6978fb
			if (_inner_error_->domain == G_FILE_ERROR) {
Packit 6978fb
				goto __catch2_g_file_error;
Packit 6978fb
			}
Packit 6978fb
			_g_mapped_file_unref0 (file);
Packit 6978fb
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
Packit 6978fb
			g_clear_error (&_inner_error_);
Packit 6978fb
			return;
Packit 6978fb
		}
Packit 6978fb
		_tmp2_ = _tmp0_;
Packit 6978fb
		_tmp0_ = NULL;
Packit 6978fb
		_g_mapped_file_unref0 (file);
Packit 6978fb
		file = _tmp2_;
Packit 6978fb
		_g_mapped_file_unref0 (_tmp0_);
Packit 6978fb
	}
Packit 6978fb
	goto __finally2;
Packit 6978fb
	__catch2_g_file_error:
Packit 6978fb
	{
Packit 6978fb
		GError* err = NULL;
Packit 6978fb
		GError* _tmp3_;
Packit 6978fb
		const gchar* _tmp4_;
Packit 6978fb
		err = _inner_error_;
Packit 6978fb
		_inner_error_ = NULL;
Packit 6978fb
		_tmp3_ = err;
Packit 6978fb
		_tmp4_ = _tmp3_->message;
Packit 6978fb
		g_warning ("job.vala:314: %s", _tmp4_);
Packit 6978fb
		_g_error_free0 (err);
Packit 6978fb
		_g_mapped_file_unref0 (file);
Packit 6978fb
		return;
Packit 6978fb
	}
Packit 6978fb
	__finally2:
Packit 6978fb
	if (G_UNLIKELY (_inner_error_ != NULL)) {
Packit 6978fb
		_g_mapped_file_unref0 (file);
Packit 6978fb
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
Packit 6978fb
		g_clear_error (&_inner_error_);
Packit 6978fb
		return;
Packit 6978fb
	}
Packit 6978fb
	_tmp5_ = file;
Packit 6978fb
	buffer_size = g_mapped_file_get_length (_tmp5_);
Packit 6978fb
	_tmp6_ = file;
Packit 6978fb
	_tmp7_ = g_mapped_file_get_contents (_tmp6_);
Packit 6978fb
	buffer = (guint8*) _tmp7_;
Packit 6978fb
	_tmp8_ = buffer;
Packit 6978fb
	_tmp9_ = buffer_size;
Packit 6978fb
	if (gedit_find_in_files_plugin_find_job_is_binary (self, _tmp8_, _tmp9_)) {
Packit 6978fb
		_g_mapped_file_unref0 (file);
Packit 6978fb
		return;
Packit 6978fb
	}
Packit 6978fb
	_tmp10_.from = (gsize) 0;
Packit 6978fb
	_tmp10_.to = (gsize) 0;
Packit 6978fb
	match = _tmp10_;
Packit 6978fb
	bookmark = GEDIT_FIND_IN_FILES_PLUGIN_BOOKMARK_EmptyBookmark;
Packit 6978fb
	last_line = -1;
Packit 6978fb
	{
Packit 6978fb
		gsize buffer_pos = 0UL;
Packit 6978fb
		buffer_pos = (gsize) 0;
Packit 6978fb
		{
Packit 6978fb
			gboolean _tmp11_ = FALSE;
Packit 6978fb
			_tmp11_ = TRUE;
Packit 6978fb
			while (TRUE) {
Packit 6978fb
				gsize _tmp12_;
Packit 6978fb
				gsize _tmp13_;
Packit 6978fb
				GCancellable* _tmp14_;
Packit 6978fb
				GeditFindInFilesPluginIMatcher* _tmp15_;
Packit 6978fb
				guint8* _tmp16_;
Packit 6978fb
				gsize _tmp17_;
Packit 6978fb
				gsize _tmp18_;
Packit 6978fb
				gboolean _tmp19_;
Packit 6978fb
				gboolean _tmp20_;
Packit 6978fb
				guint8* _tmp29_;
Packit 6978fb
				gsize _tmp30_;
Packit 6978fb
				gint match_line = 0;
Packit 6978fb
				GeditFindInFilesPluginBookmark _tmp31_;
Packit 6978fb
				gint _tmp32_;
Packit 6978fb
				gint _tmp33_;
Packit 6978fb
				gint _tmp34_;
Packit 6978fb
				gint _tmp42_;
Packit 6978fb
				GeditFindInFilesPluginRange _tmp43_;
Packit 6978fb
				gsize _tmp44_;
Packit 6978fb
				if (!_tmp11_) {
Packit 6978fb
				}
Packit 6978fb
				_tmp11_ = FALSE;
Packit 6978fb
				_tmp12_ = buffer_pos;
Packit 6978fb
				_tmp13_ = buffer_size;
Packit 6978fb
				if (!(_tmp12_ < _tmp13_)) {
Packit 6978fb
					break;
Packit 6978fb
				}
Packit 6978fb
				_tmp14_ = self->priv->cancellable;
Packit 6978fb
				if (g_cancellable_is_cancelled (_tmp14_)) {
Packit 6978fb
					break;
Packit 6978fb
				}
Packit 6978fb
				_tmp15_ = self->priv->matcher;
Packit 6978fb
				_tmp16_ = buffer;
Packit 6978fb
				_tmp17_ = buffer_size;
Packit 6978fb
				_tmp18_ = buffer_pos;
Packit 6978fb
				_tmp19_ = gedit_find_in_files_plugin_imatcher_has_match (_tmp15_, _tmp16_, _tmp17_, _tmp18_, &match);
Packit 6978fb
				if (!_tmp19_) {
Packit 6978fb
					break;
Packit 6978fb
				}
Packit 6978fb
				_tmp20_ = self->match_whole_word;
Packit 6978fb
				if (_tmp20_) {
Packit 6978fb
					guint8* _tmp21_;
Packit 6978fb
					gsize _tmp22_;
Packit 6978fb
					GeditFindInFilesPluginRange _tmp23_;
Packit 6978fb
					gsize _tmp24_;
Packit 6978fb
					GeditFindInFilesPluginRange _tmp25_;
Packit 6978fb
					gsize _tmp26_;
Packit 6978fb
					_tmp21_ = buffer;
Packit 6978fb
					_tmp22_ = buffer_size;
Packit 6978fb
					_tmp23_ = match;
Packit 6978fb
					_tmp24_ = _tmp23_.from;
Packit 6978fb
					_tmp25_ = match;
Packit 6978fb
					_tmp26_ = _tmp25_.to;
Packit 6978fb
					if (!gedit_find_in_files_plugin_find_job_is_word_boundary (self, _tmp21_, _tmp22_, (gsize) ((gint) _tmp24_), (gsize) ((gint) _tmp26_))) {
Packit 6978fb
						GeditFindInFilesPluginRange _tmp27_;
Packit 6978fb
						gsize _tmp28_;
Packit 6978fb
						_tmp27_ = match;
Packit 6978fb
						_tmp28_ = _tmp27_.to;
Packit 6978fb
						buffer_pos = _tmp28_;
Packit 6978fb
						continue;
Packit 6978fb
					}
Packit 6978fb
				}
Packit 6978fb
				_tmp29_ = buffer;
Packit 6978fb
				_tmp30_ = buffer_size;
Packit 6978fb
				gedit_find_in_files_plugin_find_job_get_line (self, _tmp29_, _tmp30_, &match, &bookmark);
Packit 6978fb
				_tmp31_ = bookmark;
Packit 6978fb
				_tmp32_ = _tmp31_.line_number;
Packit 6978fb
				match_line = 1 + _tmp32_;
Packit 6978fb
				_tmp33_ = last_line;
Packit 6978fb
				_tmp34_ = match_line;
Packit 6978fb
				if (_tmp33_ != _tmp34_) {
Packit 6978fb
					GeditFindInFilesPluginResult res = {0};
Packit 6978fb
					gchar* _tmp35_;
Packit 6978fb
					gint _tmp36_;
Packit 6978fb
					guint8* _tmp37_;
Packit 6978fb
					GeditFindInFilesPluginRange _tmp38_;
Packit 6978fb
					gchar* _tmp39_;
Packit 6978fb
					GeditFindInFilesPluginResult _tmp40_ = {0};
Packit 6978fb
					GeditFindInFilesPluginResult _tmp41_;
Packit 6978fb
					_tmp35_ = g_strdup (path);
Packit 6978fb
					_tmp36_ = match_line;
Packit 6978fb
					_tmp37_ = buffer;
Packit 6978fb
					_tmp38_ = match;
Packit 6978fb
					_tmp39_ = gedit_find_in_files_plugin_find_job_extract_context (self, _tmp37_, &_tmp38_);
Packit 6978fb
					_g_free0 (_tmp40_.path);
Packit 6978fb
					_tmp40_.path = _tmp35_;
Packit 6978fb
					_tmp40_.line = (gsize) _tmp36_;
Packit 6978fb
					_g_free0 (_tmp40_.context);
Packit 6978fb
					_tmp40_.context = _tmp39_;
Packit 6978fb
					res = _tmp40_;
Packit 6978fb
					_tmp41_ = res;
Packit 6978fb
					g_signal_emit (self, gedit_find_in_files_plugin_find_job_signals[GEDIT_FIND_IN_FILES_PLUGIN_FIND_JOB_ON_MATCH_FOUND_SIGNAL], 0, &_tmp41_);
Packit 6978fb
					gedit_find_in_files_plugin_result_destroy (&res;;
Packit 6978fb
				}
Packit 6978fb
				_tmp42_ = match_line;
Packit 6978fb
				last_line = _tmp42_;
Packit 6978fb
				_tmp43_ = match;
Packit 6978fb
				_tmp44_ = _tmp43_.to;
Packit 6978fb
				buffer_pos = _tmp44_;
Packit 6978fb
			}
Packit 6978fb
		}
Packit 6978fb
	}
Packit 6978fb
	_g_mapped_file_unref0 (file);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
const gchar*
Packit 6978fb
gedit_find_in_files_plugin_find_job_get_needle (GeditFindInFilesPluginFindJob* self)
Packit 6978fb
{
Packit 6978fb
	const gchar* result;
Packit 6978fb
	const gchar* _tmp0_;
Packit 6978fb
	g_return_val_if_fail (self != NULL, NULL);
Packit 6978fb
	_tmp0_ = self->priv->_needle;
Packit 6978fb
	result = _tmp0_;
Packit 6978fb
	return result;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
gedit_find_in_files_plugin_find_job_set_needle (GeditFindInFilesPluginFindJob* self,
Packit 6978fb
                                                const gchar* value)
Packit 6978fb
{
Packit 6978fb
	gchar* _tmp0_;
Packit 6978fb
	g_return_if_fail (self != NULL);
Packit 6978fb
	_tmp0_ = g_strdup (value);
Packit 6978fb
	_g_free0 (self->priv->_needle);
Packit 6978fb
	self->priv->_needle = _tmp0_;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
gedit_find_in_files_plugin_value_find_job_init (GValue* value)
Packit 6978fb
{
Packit 6978fb
	value->data[0].v_pointer = NULL;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
gedit_find_in_files_plugin_value_find_job_free_value (GValue* value)
Packit 6978fb
{
Packit 6978fb
	if (value->data[0].v_pointer) {
Packit 6978fb
		gedit_find_in_files_plugin_find_job_unref (value->data[0].v_pointer);
Packit 6978fb
	}
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
gedit_find_in_files_plugin_value_find_job_copy_value (const GValue* src_value,
Packit 6978fb
                                                      GValue* dest_value)
Packit 6978fb
{
Packit 6978fb
	if (src_value->data[0].v_pointer) {
Packit 6978fb
		dest_value->data[0].v_pointer = gedit_find_in_files_plugin_find_job_ref (src_value->data[0].v_pointer);
Packit 6978fb
	} else {
Packit 6978fb
		dest_value->data[0].v_pointer = NULL;
Packit 6978fb
	}
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gpointer
Packit 6978fb
gedit_find_in_files_plugin_value_find_job_peek_pointer (const GValue* value)
Packit 6978fb
{
Packit 6978fb
	return value->data[0].v_pointer;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gchar*
Packit 6978fb
gedit_find_in_files_plugin_value_find_job_collect_value (GValue* value,
Packit 6978fb
                                                         guint n_collect_values,
Packit 6978fb
                                                         GTypeCValue* collect_values,
Packit 6978fb
                                                         guint collect_flags)
Packit 6978fb
{
Packit 6978fb
	if (collect_values[0].v_pointer) {
Packit 6978fb
		GeditFindInFilesPluginFindJob * object;
Packit 6978fb
		object = collect_values[0].v_pointer;
Packit 6978fb
		if (object->parent_instance.g_class == NULL) {
Packit 6978fb
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
Packit 6978fb
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
Packit 6978fb
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
Packit 6978fb
		}
Packit 6978fb
		value->data[0].v_pointer = gedit_find_in_files_plugin_find_job_ref (object);
Packit 6978fb
	} else {
Packit 6978fb
		value->data[0].v_pointer = NULL;
Packit 6978fb
	}
Packit 6978fb
	return NULL;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static gchar*
Packit 6978fb
gedit_find_in_files_plugin_value_find_job_lcopy_value (const GValue* value,
Packit 6978fb
                                                       guint n_collect_values,
Packit 6978fb
                                                       GTypeCValue* collect_values,
Packit 6978fb
                                                       guint collect_flags)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginFindJob ** object_p;
Packit 6978fb
	object_p = collect_values[0].v_pointer;
Packit 6978fb
	if (!object_p) {
Packit 6978fb
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
Packit 6978fb
	}
Packit 6978fb
	if (!value->data[0].v_pointer) {
Packit 6978fb
		*object_p = NULL;
Packit 6978fb
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
Packit 6978fb
		*object_p = value->data[0].v_pointer;
Packit 6978fb
	} else {
Packit 6978fb
		*object_p = gedit_find_in_files_plugin_find_job_ref (value->data[0].v_pointer);
Packit 6978fb
	}
Packit 6978fb
	return NULL;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
GParamSpec*
Packit 6978fb
gedit_find_in_files_plugin_param_spec_find_job (const gchar* name,
Packit 6978fb
                                                const gchar* nick,
Packit 6978fb
                                                const gchar* blurb,
Packit 6978fb
                                                GType object_type,
Packit 6978fb
                                                GParamFlags flags)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginParamSpecFindJob* spec;
Packit 6978fb
	g_return_val_if_fail (g_type_is_a (object_type, GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB), NULL);
Packit 6978fb
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
Packit 6978fb
	G_PARAM_SPEC (spec)->value_type = object_type;
Packit 6978fb
	return G_PARAM_SPEC (spec);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
gpointer
Packit 6978fb
gedit_find_in_files_plugin_value_get_find_job (const GValue* value)
Packit 6978fb
{
Packit 6978fb
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB), NULL);
Packit 6978fb
	return value->data[0].v_pointer;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
void
Packit 6978fb
gedit_find_in_files_plugin_value_set_find_job (GValue* value,
Packit 6978fb
                                               gpointer v_object)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginFindJob * old;
Packit 6978fb
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB));
Packit 6978fb
	old = value->data[0].v_pointer;
Packit 6978fb
	if (v_object) {
Packit 6978fb
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB));
Packit 6978fb
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
Packit 6978fb
		value->data[0].v_pointer = v_object;
Packit 6978fb
		gedit_find_in_files_plugin_find_job_ref (value->data[0].v_pointer);
Packit 6978fb
	} else {
Packit 6978fb
		value->data[0].v_pointer = NULL;
Packit 6978fb
	}
Packit 6978fb
	if (old) {
Packit 6978fb
		gedit_find_in_files_plugin_find_job_unref (old);
Packit 6978fb
	}
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
void
Packit 6978fb
gedit_find_in_files_plugin_value_take_find_job (GValue* value,
Packit 6978fb
                                                gpointer v_object)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginFindJob * old;
Packit 6978fb
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB));
Packit 6978fb
	old = value->data[0].v_pointer;
Packit 6978fb
	if (v_object) {
Packit 6978fb
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB));
Packit 6978fb
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
Packit 6978fb
		value->data[0].v_pointer = v_object;
Packit 6978fb
	} else {
Packit 6978fb
		value->data[0].v_pointer = NULL;
Packit 6978fb
	}
Packit 6978fb
	if (old) {
Packit 6978fb
		gedit_find_in_files_plugin_find_job_unref (old);
Packit 6978fb
	}
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
gedit_find_in_files_plugin_find_job_class_init (GeditFindInFilesPluginFindJobClass * klass)
Packit 6978fb
{
Packit 6978fb
	gedit_find_in_files_plugin_find_job_parent_class = g_type_class_peek_parent (klass);
Packit 6978fb
	((GeditFindInFilesPluginFindJobClass *) klass)->finalize = gedit_find_in_files_plugin_find_job_finalize;
Packit 6978fb
	g_type_class_add_private (klass, sizeof (GeditFindInFilesPluginFindJobPrivate));
Packit 6978fb
	gedit_find_in_files_plugin_find_job_signals[GEDIT_FIND_IN_FILES_PLUGIN_FIND_JOB_ON_MATCH_FOUND_SIGNAL] = g_signal_new ("on-match-found", GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOXED, G_TYPE_NONE, 1, GEDIT_FIND_IN_FILES_PLUGIN_TYPE_RESULT);
Packit 6978fb
	gedit_find_in_files_plugin_find_job_signals[GEDIT_FIND_IN_FILES_PLUGIN_FIND_JOB_ON_SEARCH_FINISHED_SIGNAL] = g_signal_new ("on-search-finished", GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
gedit_find_in_files_plugin_find_job_instance_init (GeditFindInFilesPluginFindJob * self)
Packit 6978fb
{
Packit 6978fb
	GAsyncQueue* _tmp0_;
Packit 6978fb
	self->priv = GEDIT_FIND_IN_FILES_PLUGIN_FIND_JOB_GET_PRIVATE (self);
Packit 6978fb
	_tmp0_ = g_async_queue_new_full (_g_free0_);
Packit 6978fb
	self->priv->scan_queue = _tmp0_;
Packit 6978fb
	g_rec_mutex_init (&self->priv->__lock_running_workers);
Packit 6978fb
	self->priv->running_workers = (guint) 0;
Packit 6978fb
	self->priv->matcher = NULL;
Packit 6978fb
	self->ref_count = 1;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
static void
Packit 6978fb
gedit_find_in_files_plugin_find_job_finalize (GeditFindInFilesPluginFindJob * obj)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginFindJob * self;
Packit 6978fb
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GEDIT_FIND_IN_FILES_PLUGIN_TYPE_FIND_JOB, GeditFindInFilesPluginFindJob);
Packit 6978fb
	g_signal_handlers_destroy (self);
Packit 6978fb
	_g_async_queue_unref0 (self->priv->scan_queue);
Packit 6978fb
	__g_list_free__g_thread_unref0_0 (self->priv->thread_workers);
Packit 6978fb
	g_rec_mutex_clear (&self->priv->__lock_running_workers);
Packit 6978fb
	_g_object_unref0 (self->priv->matcher);
Packit 6978fb
	_g_object_unref0 (self->priv->cancellable);
Packit 6978fb
	_g_free0 (self->priv->_needle);
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
GType
Packit 6978fb
gedit_find_in_files_plugin_find_job_get_type (void)
Packit 6978fb
{
Packit 6978fb
	return gedit_find_in_files_plugin_find_job_type_id;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
GType
Packit 6978fb
gedit_find_in_files_plugin_find_job_register_type (GTypeModule * module)
Packit 6978fb
{
Packit 6978fb
	static const GTypeValueTable g_define_type_value_table = { gedit_find_in_files_plugin_value_find_job_init, gedit_find_in_files_plugin_value_find_job_free_value, gedit_find_in_files_plugin_value_find_job_copy_value, gedit_find_in_files_plugin_value_find_job_peek_pointer, "p", gedit_find_in_files_plugin_value_find_job_collect_value, "p", gedit_find_in_files_plugin_value_find_job_lcopy_value };
Packit 6978fb
	static const GTypeInfo g_define_type_info = { sizeof (GeditFindInFilesPluginFindJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gedit_find_in_files_plugin_find_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GeditFindInFilesPluginFindJob), 0, (GInstanceInitFunc) gedit_find_in_files_plugin_find_job_instance_init, &g_define_type_value_table };
Packit 6978fb
	static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
Packit 6978fb
	gedit_find_in_files_plugin_find_job_type_id = g_type_register_fundamental (g_type_fundamental_next (), "GeditFindInFilesPluginFindJob", &g_define_type_info, &g_define_type_fundamental_info, 0);
Packit 6978fb
	return gedit_find_in_files_plugin_find_job_type_id;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
gpointer
Packit 6978fb
gedit_find_in_files_plugin_find_job_ref (gpointer instance)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginFindJob * self;
Packit 6978fb
	self = instance;
Packit 6978fb
	g_atomic_int_inc (&self->ref_count);
Packit 6978fb
	return instance;
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb
void
Packit 6978fb
gedit_find_in_files_plugin_find_job_unref (gpointer instance)
Packit 6978fb
{
Packit 6978fb
	GeditFindInFilesPluginFindJob * self;
Packit 6978fb
	self = instance;
Packit 6978fb
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
Packit 6978fb
		GEDIT_FIND_IN_FILES_PLUGIN_FIND_JOB_GET_CLASS (self)->finalize (self);
Packit 6978fb
		g_type_free_instance ((GTypeInstance *) self);
Packit 6978fb
	}
Packit 6978fb
}
Packit 6978fb
Packit 6978fb
Packit 6978fb