diff options
Diffstat (limited to 'src/autosave-manager.c')
| -rw-r--r-- | src/autosave-manager.c | 5113 | 
1 files changed, 2194 insertions, 2919 deletions
diff --git a/src/autosave-manager.c b/src/autosave-manager.c index a97cb6c..3cb458a 100644 --- a/src/autosave-manager.c +++ b/src/autosave-manager.c @@ -1,9 +1,10 @@ -/* autosave-manager.c generated by valac 0.20.1, the Vala compiler +/* autosave-manager.c generated by valac 0.22.1, the Vala compiler   * generated from autosave-manager.vala, do not modify */  /*   * Copyright (C) 2011 Timo Kluck - * Author: Timo Kluck <tkluck@infty.nl> + * Authors: Timo Kluck <tkluck@infty.nl> + *          Robert Ancell <robert.ancell@canonical.com>   *   * This program is free software: you can redistribute it and/or modify it under   * the terms of the GNU General Public License as published by the Free Software @@ -11,39 +12,13 @@   * version. See http://www.gnu.org/copyleft/gpl.html the full text of the   * license.   */ -/* - * We store autosaves in a database named - *    ~/.cache/simple-scan/autosaves/autosaves.db - * It contains a single table of pages, each containing the process id (pid) of - * the simple-scan instance that saved it, and a hash of the Book and Page - * objects corresponding to it. The pixels are saved as a BLOB. - * Additionally, the autosaves directory contains a number of tiff files that - * the user can use for manual recovery. - * - * At startup, we check whether autosaves.db contains any records - * with a pid that does not match a current pid for simple-scan. If so, we take - * ownership by an UPDATE statement changing to our own pid. Then, we - * recover the book. We're trying our best to avoid the possible race - * condition if several instances of simple-scan are started simultaneously. - * - * At application exit, we delete the records corresponding to our own pid. - * - * Important notes: - *  - We enforce that there is only one AutosaveManager instance in a given - *    process by using a create function. - *  - It should be possible to change the book object at runtime, although this - *    is not used in the current implementation so it has not been tested. - */  #include <glib.h>  #include <glib-object.h> -#include <sqlite3.h>  #include <stdlib.h>  #include <string.h> -#include <unistd.h>  #include <gio/gio.h> -#include <float.h> -#include <math.h> +#include <glib/gstdio.h>  #include <gobject/gvaluecollector.h> @@ -58,16 +33,6 @@ typedef struct _AutosaveManager AutosaveManager;  typedef struct _AutosaveManagerClass AutosaveManagerClass;  typedef struct _AutosaveManagerPrivate AutosaveManagerPrivate; -#define TYPE_BOOK (book_get_type ()) -#define BOOK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BOOK, Book)) -#define BOOK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BOOK, BookClass)) -#define IS_BOOK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BOOK)) -#define IS_BOOK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BOOK)) -#define BOOK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BOOK, BookClass)) - -typedef struct _Book Book; -typedef struct _BookClass BookClass; -  #define TYPE_PAGE (page_get_type ())  #define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))  #define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) @@ -77,29 +42,26 @@ typedef struct _BookClass BookClass;  typedef struct _Page Page;  typedef struct _PageClass PageClass; -#define _sqlite3_close0(var) ((var == NULL) ? NULL : (var = (sqlite3_close (var), NULL))) -#define _book_unref0(var) ((var == NULL) ? NULL : (var = (book_unref (var), NULL))) + +#define TYPE_BOOK (book_get_type ()) +#define BOOK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BOOK, Book)) +#define BOOK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BOOK, BookClass)) +#define IS_BOOK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BOOK)) +#define IS_BOOK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BOOK)) +#define BOOK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BOOK, BookClass)) + +typedef struct _Book Book; +typedef struct _BookClass BookClass;  #define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL))) -#define _autosave_manager_unref0(var) ((var == NULL) ? NULL : (var = (autosave_manager_unref (var), NULL))) -#define _g_free0(var) (var = (g_free (var), NULL)) -#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) +#define _book_unref0(var) ((var == NULL) ? NULL : (var = (book_unref (var), NULL)))  #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) -#define _page_unref0(var) ((var == NULL) ? NULL : (var = (page_unref (var), NULL))) -#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_key_file_unref0(var) ((var == NULL) ? NULL : (var = (g_key_file_unref (var), NULL)))  #define TYPE_SCAN_DIRECTION (scan_direction_get_type ()) - -#define TYPE_SCAN_PAGE_INFO (scan_page_info_get_type ()) -#define SCAN_PAGE_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SCAN_PAGE_INFO, ScanPageInfo)) -#define SCAN_PAGE_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SCAN_PAGE_INFO, ScanPageInfoClass)) -#define IS_SCAN_PAGE_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SCAN_PAGE_INFO)) -#define IS_SCAN_PAGE_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SCAN_PAGE_INFO)) -#define SCAN_PAGE_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SCAN_PAGE_INFO, ScanPageInfoClass)) - -typedef struct _ScanPageInfo ScanPageInfo; -typedef struct _ScanPageInfoClass ScanPageInfoClass; -typedef struct _ScanPageInfoPrivate ScanPageInfoPrivate; -#define _scan_page_info_unref0(var) ((var == NULL) ? NULL : (var = (scan_page_info_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _page_unref0(var) ((var == NULL) ? NULL : (var = (page_unref (var), NULL))) +#define _g_dir_close0(var) ((var == NULL) ? NULL : (var = (g_dir_close (var), NULL)))  typedef struct _ParamSpecAutosaveManager ParamSpecAutosaveManager;  struct _AutosaveManager { @@ -114,11 +76,9 @@ struct _AutosaveManagerClass {  };  struct _AutosaveManagerPrivate { -	sqlite3* database_connection; -	Book* _book;  	guint update_timeout; -	GHashTable* dirty_pages; -	gint cur_book_revision; +	GHashTable* page_filenames; +	Book* book_;  };  typedef enum  { @@ -128,23 +88,6 @@ typedef enum  {  	SCAN_DIRECTION_RIGHT_TO_LEFT  } ScanDirection; -struct _ScanPageInfo { -	GTypeInstance parent_instance; -	volatile int ref_count; -	ScanPageInfoPrivate * priv; -	gint width; -	gint height; -	gint depth; -	gint n_channels; -	gdouble dpi; -	gchar* device; -}; - -struct _ScanPageInfoClass { -	GTypeClass parent_class; -	void (*finalize) (ScanPageInfo *self); -}; -  struct _ParamSpecAutosaveManager {  	GParamSpec parent_instance;  }; @@ -153,16 +96,10 @@ struct _ParamSpecAutosaveManager {  static gpointer autosave_manager_parent_class = NULL;  static gchar* autosave_manager_AUTOSAVE_DIR;  static gchar* autosave_manager_AUTOSAVE_DIR = NULL; -static gchar* autosave_manager_AUTOSAVE_NAME; -static gchar* autosave_manager_AUTOSAVE_NAME = NULL; -static gchar* autosave_manager_AUTOSAVE_EXT; -static gchar* autosave_manager_AUTOSAVE_EXT = NULL;  static gchar* autosave_manager_AUTOSAVE_FILENAME;  static gchar* autosave_manager_AUTOSAVE_FILENAME = NULL; -static gchar* autosave_manager_PID; -static gchar* autosave_manager_PID = NULL; -static gint autosave_manager_number_of_instances; -static gint autosave_manager_number_of_instances = 0; +static gchar* autosave_manager_AUTOSAVE_PATH; +static gchar* autosave_manager_AUTOSAVE_PATH = NULL;  gpointer autosave_manager_ref (gpointer instance);  void autosave_manager_unref (gpointer instance); @@ -171,13 +108,6 @@ void value_set_autosave_manager (GValue* value, gpointer v_object);  void value_take_autosave_manager (GValue* value, gpointer v_object);  gpointer value_get_autosave_manager (const GValue* value);  GType autosave_manager_get_type (void) G_GNUC_CONST; -gpointer book_ref (gpointer instance); -void book_unref (gpointer instance); -GParamSpec* param_spec_book (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); -void value_set_book (GValue* value, gpointer v_object); -void value_take_book (GValue* value, gpointer v_object); -gpointer value_get_book (const GValue* value); -GType book_get_type (void) G_GNUC_CONST;  gpointer page_ref (gpointer instance);  void page_unref (gpointer instance);  GParamSpec* param_spec_page (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); @@ -185,2988 +115,2329 @@ void value_set_page (GValue* value, gpointer v_object);  void value_take_page (GValue* value, gpointer v_object);  gpointer value_get_page (const GValue* value);  GType page_get_type (void) G_GNUC_CONST; +gpointer book_ref (gpointer instance); +void book_unref (gpointer instance); +GParamSpec* param_spec_book (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_book (GValue* value, gpointer v_object); +void value_take_book (GValue* value, gpointer v_object); +gpointer value_get_book (const GValue* value); +GType book_get_type (void) G_GNUC_CONST;  #define AUTOSAVE_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_AUTOSAVE_MANAGER, AutosaveManagerPrivate))  enum  {  	AUTOSAVE_MANAGER_DUMMY_PROPERTY  }; -AutosaveManager* autosave_manager_create (Book** book); -static AutosaveManager* autosave_manager_new (void); -static AutosaveManager* autosave_manager_construct (GType object_type); -static sqlite3* autosave_manager_open_database_connection (GError** error); -static void autosave_manager_recover_book (AutosaveManager* self, Book** book); -void autosave_manager_set_book (AutosaveManager* self, Book* value); -guint book_get_n_pages (Book* self); -Page* book_get_page (Book* self, gint page_number); -static void autosave_manager_on_page_added (AutosaveManager* self, Page* page); +AutosaveManager* autosave_manager_new (void); +AutosaveManager* autosave_manager_construct (GType object_type);  static void _page_unref0_ (gpointer var); +static void _g_free0_ (gpointer var); +void autosave_manager_load (AutosaveManager* self); +Book* autosave_manager_get_book (AutosaveManager* self); +void book_clear (Book* self); +static gchar* autosave_manager_get_value (AutosaveManager* self, GKeyFile* file, const gchar* group_name, const gchar* key, const gchar* _default_); +static gint autosave_manager_get_integer (AutosaveManager* self, GKeyFile* file, const gchar* group_name, const gchar* key, gint _default_); +GType scan_direction_get_type (void) G_GNUC_CONST; +static gboolean autosave_manager_get_boolean (AutosaveManager* self, GKeyFile* file, const gchar* group_name, const gchar* key, gboolean _default_); +Page* page_new_from_data (gint scan_width, gint scan_height, gint rowstride, gint n_channels, gint depth, gint dpi, ScanDirection scan_direction, const gchar* color_profile, guchar* pixels, int pixels_length1, gboolean has_crop, const gchar* crop_name, gint crop_x, gint crop_y, gint crop_width, gint crop_height); +Page* page_construct_from_data (GType object_type, gint scan_width, gint scan_height, gint rowstride, gint n_channels, gint depth, gint dpi, ScanDirection scan_direction, const gchar* color_profile, guchar* pixels, int pixels_length1, gboolean has_crop, const gchar* crop_name, gint crop_x, gint crop_y, gint crop_width, gint crop_height); +void book_append_page (Book* self, Page* page);  void autosave_manager_cleanup (AutosaveManager* self); -static void autosave_manager_insert_page (AutosaveManager* self, Page* page); -void autosave_manager_on_page_changed (AutosaveManager* self, Page* page); -static void _autosave_manager_on_page_changed_page_size_changed (Page* _sender, gpointer self); -static void _autosave_manager_on_page_changed_page_scan_direction_changed (Page* _sender, gpointer self); -static void _autosave_manager_on_page_changed_page_crop_changed (Page* _sender, gpointer self); -static void _autosave_manager_on_page_changed_page_scan_finished (Page* _sender, gpointer self); +void autosave_manager_on_page_added (AutosaveManager* self, Page* page); +void autosave_manager_on_scan_finished (AutosaveManager* self, Page* page); +static void _autosave_manager_on_scan_finished_page_scan_finished (Page* _sender, gpointer self); +void autosave_manager_on_changed (AutosaveManager* self); +static void _autosave_manager_on_changed_page_crop_changed (Page* _sender, gpointer self);  void autosave_manager_on_page_removed (AutosaveManager* self, Page* page); -static void _autosave_manager_on_page_changed_page_pixels_changed (Page* _sender, gpointer self); -Book* autosave_manager_get_book (AutosaveManager* self); -void autosave_manager_on_reordered (AutosaveManager* self); -static void autosave_manager_update_page (AutosaveManager* self, Page* page); -void autosave_manager_on_needs_saving_changed (AutosaveManager* self, Book* book); +static void autosave_manager_save_pixels (AutosaveManager* self, Page* page); +static void autosave_manager_save (AutosaveManager* self, gboolean do_timeout);  void autosave_manager_on_cleared (AutosaveManager* self); -static gboolean __lambda2_ (AutosaveManager* self); -static void autosave_manager_real_update_page (AutosaveManager* self, Page* page); -static gboolean ___lambda2__gsource_func (gpointer self); -void page_get_crop (Page* self, gint* x, gint* y, gint* width, gint* height); -guint book_get_page_index (Book* self, Page* page); -gint page_get_dpi (Page* self); -gint page_get_width (Page* self); -gint page_get_height (Page* self); -gint page_get_depth (Page* self); -gint page_get_n_channels (Page* self); +static gboolean ___lambda2_ (AutosaveManager* self); +static void autosave_manager_real_save (AutosaveManager* self); +static gboolean ____lambda2__gsource_func (gpointer self); +guint book_get_n_pages (Book* self); +Page* book_get_page (Book* self, gint page_number); +gboolean page_get_has_data (Page* self); +gint page_get_scan_width (Page* self); +gint page_get_scan_height (Page* self);  gint page_get_rowstride (Page* self); -GType scan_direction_get_type (void) G_GNUC_CONST; +gint page_get_n_channels (Page* self); +gint page_get_depth (Page* self); +gint page_get_dpi (Page* self);  ScanDirection page_get_scan_direction (Page* self); -gchar* page_get_color_profile (Page* self); +const gchar* page_get_color_profile (Page* self); +gboolean page_get_has_crop (Page* self); +const gchar* page_get_crop_name (Page* self); +gint page_get_crop_x (Page* self); +gint page_get_crop_y (Page* self); +gint page_get_crop_width (Page* self); +gint page_get_crop_height (Page* self);  guchar* page_get_pixels (Page* self, int* result_length1); -void book_clear (Book* self); -Page* book_append_page (Book* self, gint width, gint height, gint dpi, ScanDirection scan_direction); -ScanPageInfo* scan_page_info_new (void); -ScanPageInfo* scan_page_info_construct (GType object_type); -gpointer scan_page_info_ref (gpointer instance); -void scan_page_info_unref (gpointer instance); -GParamSpec* param_spec_scan_page_info (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); -void value_set_scan_page_info (GValue* value, gpointer v_object); -void value_take_scan_page_info (GValue* value, gpointer v_object); -gpointer value_get_scan_page_info (const GValue* value); -GType scan_page_info_get_type (void) G_GNUC_CONST; -void page_set_page_info (Page* self, ScanPageInfo* info); -void page_set_color_profile (Page* self, const gchar* color_profile); -void page_set_custom_crop (Page* self, gint width, gint height); -void page_move_crop (Page* self, gint x, gint y); -void page_set_pixels (Page* self, guchar* new_pixels, int new_pixels_length1); +void autosave_manager_set_book (AutosaveManager* self, Book* value);  static void _autosave_manager_on_page_added_book_page_added (Book* _sender, Page* page, gpointer self);  static void _autosave_manager_on_page_removed_book_page_removed (Book* _sender, Page* page, gpointer self); -static void _autosave_manager_on_reordered_book_reordered (Book* _sender, gpointer self); +static void _autosave_manager_on_changed_book_reordered (Book* _sender, gpointer self);  static void _autosave_manager_on_cleared_book_cleared (Book* _sender, gpointer self);  static void autosave_manager_finalize (AutosaveManager* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); -static gchar* string_strip (const gchar* self) { -	gchar* result = NULL; -	gchar* _tmp0_ = NULL; -	gchar* _result_; -	const gchar* _tmp1_; -#line 1085 "/usr/share/vala-0.20/vapi/glib-2.0.vapi" -	g_return_val_if_fail (self != NULL, NULL); -#line 1086 "/usr/share/vala-0.20/vapi/glib-2.0.vapi" -	_tmp0_ = g_strdup (self); -#line 1086 "/usr/share/vala-0.20/vapi/glib-2.0.vapi" -	_result_ = _tmp0_; -#line 1087 "/usr/share/vala-0.20/vapi/glib-2.0.vapi" -	_tmp1_ = _result_; -#line 1087 "/usr/share/vala-0.20/vapi/glib-2.0.vapi" -	g_strstrip (_tmp1_); -#line 1088 "/usr/share/vala-0.20/vapi/glib-2.0.vapi" -	result = _result_; -#line 1088 "/usr/share/vala-0.20/vapi/glib-2.0.vapi" -	return result; -#line 274 "autosave-manager.c" +static void _page_unref0_ (gpointer var) { +#line 59 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	(var == NULL) ? NULL : (var = (page_unref (var), NULL)); +#line 189 "autosave-manager.c"  } -static const gchar* string_to_string (const gchar* self) { -	const gchar* result = NULL; -#line 1274 "/usr/share/vala-0.20/vapi/glib-2.0.vapi" -	g_return_val_if_fail (self != NULL, NULL); -#line 1275 "/usr/share/vala-0.20/vapi/glib-2.0.vapi" -	result = self; -#line 1275 "/usr/share/vala-0.20/vapi/glib-2.0.vapi" -	return result; -#line 286 "autosave-manager.c" +static void _g_free0_ (gpointer var) { +#line 59 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	var = (g_free (var), NULL); +#line 196 "autosave-manager.c" +} + + +AutosaveManager* autosave_manager_construct (GType object_type) { +	AutosaveManager* self = NULL; +	GHashFunc _tmp0_ = NULL; +	GEqualFunc _tmp1_ = NULL; +	GHashTable* _tmp2_ = NULL; +#line 57 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	self = (AutosaveManager*) g_type_create_instance (object_type); +#line 59 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp0_ = g_direct_hash; +#line 59 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp1_ = g_direct_equal; +#line 59 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _page_unref0_, _g_free0_); +#line 59 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_g_hash_table_unref0 (self->priv->page_filenames); +#line 59 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	self->priv->page_filenames = _tmp2_; +#line 57 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	return self; +#line 219 "autosave-manager.c" +} + + +AutosaveManager* autosave_manager_new (void) { +#line 57 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	return autosave_manager_construct (TYPE_AUTOSAVE_MANAGER); +#line 226 "autosave-manager.c" +} + + +static gpointer _page_ref0 (gpointer self) { +#line 151 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	return self ? page_ref (self) : NULL; +#line 233 "autosave-manager.c"  } -AutosaveManager* autosave_manager_create (Book** book) { -	AutosaveManager* result = NULL; -	gint _tmp0_; -	AutosaveManager* _tmp1_; -	AutosaveManager* man; -	gint _tmp2_; -	gboolean any_pages_recovered; -	AutosaveManager* _tmp51_; -	Book* _tmp52_; -	gboolean _tmp53_; +void autosave_manager_load (AutosaveManager* self) { +	Book* _tmp0_ = NULL; +	Book* _tmp1_ = NULL; +	GHashTable* _tmp2_ = NULL; +	GKeyFile* file = NULL; +	GKeyFile* _tmp3_ = NULL; +	gchar* pages = NULL; +	GKeyFile* _tmp6_ = NULL; +	gchar* _tmp7_ = NULL; +	const gchar* _tmp8_ = NULL; +	gchar** _tmp9_ = NULL; +	gchar** _tmp10_ = NULL;  	GError * _inner_error_ = NULL; -#line 85 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_return_val_if_fail (*book != NULL, NULL); -#line 92 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp0_ = autosave_manager_number_of_instances; -#line 92 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_tmp0_ > 0) { -#line 93 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_assert_not_reached (); -#line 309 "autosave-manager.c" -	} -#line 95 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp1_ = autosave_manager_new (); -#line 95 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	man = _tmp1_; -#line 96 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp2_ = autosave_manager_number_of_instances; -#line 96 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_number_of_instances = _tmp2_ + 1; -#line 319 "autosave-manager.c" +#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_if_fail (self != NULL); +#line 64 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_debug ("autosave-manager.vala:64: Loading autosave information"); +#line 66 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp0_ = autosave_manager_get_book (self); +#line 66 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp1_ = _tmp0_; +#line 66 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	book_clear (_tmp1_); +#line 67 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp2_ = self->priv->page_filenames; +#line 67 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_hash_table_remove_all (_tmp2_); +#line 69 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp3_ = g_key_file_new (); +#line 69 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	file = _tmp3_; +#line 268 "autosave-manager.c"  	{ -		sqlite3* _tmp3_ = NULL; -		sqlite3* _tmp4_; -		AutosaveManager* _tmp5_; -#line 100 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp3_ = autosave_manager_open_database_connection (&_inner_error_); -#line 100 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp4_ = _tmp3_; -#line 100 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		GKeyFile* _tmp4_ = NULL; +		const gchar* _tmp5_ = NULL; +#line 72 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp4_ = file; +#line 72 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp5_ = autosave_manager_AUTOSAVE_PATH; +#line 72 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_key_file_load_from_file (_tmp4_, _tmp5_, G_KEY_FILE_NONE, &_inner_error_); +#line 72 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		if (_inner_error_ != NULL) { -#line 330 "autosave-manager.c" -			goto __catch23_g_error; +#line 280 "autosave-manager.c" +			goto __catch28_g_error;  		} -#line 100 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp5_ = man; -#line 100 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_sqlite3_close0 (_tmp5_->priv->database_connection); -#line 100 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp5_->priv->database_connection = _tmp4_; -#line 339 "autosave-manager.c"  	} -	goto __finally23; -	__catch23_g_error: +	goto __finally28; +	__catch28_g_error:  	{ -#line 98 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_clear_error (&_inner_error_); -#line 98 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		GError* e = NULL; +#line 70 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		e = _inner_error_; +#line 70 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		_inner_error_ = NULL; -#line 104 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_warning ("autosave-manager.vala:104: Could not connect to the autosave database;" \ -" no autosaves will be kept."); -#line 105 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		result = NULL; -#line 105 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_autosave_manager_unref0 (man); -#line 105 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		return result; -#line 356 "autosave-manager.c" +#line 76 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_warning ("autosave-manager.vala:76: Could not load autosave infomation; not rest" \ +"oring any autosaves"); +#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_error_free0 (e); +#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_key_file_unref0 (file); +#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		return; +#line 300 "autosave-manager.c"  	} -	__finally23: -#line 98 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	__finally28: +#line 70 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	if (_inner_error_ != NULL) { -#line 98 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_autosave_manager_unref0 (man); -#line 98 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 70 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_key_file_unref0 (file); +#line 70 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		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); -#line 98 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 70 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		g_clear_error (&_inner_error_); -#line 98 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		return NULL; -#line 369 "autosave-manager.c" +#line 70 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		return; +#line 313 "autosave-manager.c"  	} -#line 108 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	any_pages_recovered = FALSE; -#line 373 "autosave-manager.c" +#line 79 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp6_ = file; +#line 79 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp7_ = autosave_manager_get_value (self, _tmp6_, "simple-scan", "pages", ""); +#line 79 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	pages = _tmp7_; +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp8_ = pages; +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp10_ = _tmp9_ = g_strsplit (_tmp8_, " ", 0); +#line 325 "autosave-manager.c"  	{ -		gchar* current_pids = NULL; -		gchar* _tmp6_ = NULL; -		const gchar* _tmp7_; -		gchar* _tmp8_ = NULL; -		sqlite3_stmt* stmt = NULL; -		const gchar* _tmp9_; -		const gchar* _tmp10_ = NULL; -		gchar* _tmp11_ = NULL; -		gchar* query; -		AutosaveManager* _tmp12_; -		sqlite3* _tmp13_; -		const gchar* _tmp14_; -		sqlite3_stmt* _tmp15_ = NULL; -		gint _tmp16_ = 0; -		gint _result_; -		gint _tmp17_; -#line 113 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_spawn_command_line_sync ("pidof simple-scan | sed \"s/ /,/g\"", &_tmp6_, NULL, NULL, &_inner_error_); -#line 113 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (current_pids); -#line 113 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		current_pids = _tmp6_; -#line 113 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		if (_inner_error_ != NULL) { -#line 113 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_g_free0 (current_pids); -#line 113 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			if (_inner_error_->domain == G_SPAWN_ERROR) { -#line 403 "autosave-manager.c" -				goto __catch24_g_spawn_error; -			} -#line 113 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_g_free0 (current_pids); -#line 113 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_autosave_manager_unref0 (man); -#line 113 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			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); +		gchar** page_name_collection = NULL; +		gint page_name_collection_length1 = 0; +		gint _page_name_collection_size_ = 0; +		gint page_name_it = 0; +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		page_name_collection = _tmp10_; +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		page_name_collection_length1 = _vala_array_length (_tmp9_); +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		for (page_name_it = 0; page_name_it < _vala_array_length (_tmp9_); page_name_it = page_name_it + 1) { +#line 337 "autosave-manager.c" +			gchar* _tmp11_ = NULL; +			gchar* page_name = NULL; +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +			_tmp11_ = g_strdup (page_name_collection[page_name_it]); +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +			page_name = _tmp11_; +#line 344 "autosave-manager.c" +			{ +				const gchar* _tmp12_ = NULL; +				gint scan_width = 0; +				GKeyFile* _tmp13_ = NULL; +				const gchar* _tmp14_ = NULL; +				gint _tmp15_ = 0; +				gint scan_height = 0; +				GKeyFile* _tmp16_ = NULL; +				const gchar* _tmp17_ = NULL; +				gint _tmp18_ = 0; +				gint rowstride = 0; +				GKeyFile* _tmp19_ = NULL; +				const gchar* _tmp20_ = NULL; +				gint _tmp21_ = 0; +				gint n_channels = 0; +				GKeyFile* _tmp22_ = NULL; +				const gchar* _tmp23_ = NULL; +				gint _tmp24_ = 0; +				gint depth = 0; +				GKeyFile* _tmp25_ = NULL; +				const gchar* _tmp26_ = NULL; +				gint _tmp27_ = 0; +				gint dpi = 0; +				GKeyFile* _tmp28_ = NULL; +				const gchar* _tmp29_ = NULL; +				gint _tmp30_ = 0; +				gchar* scan_direction_name = NULL; +				GKeyFile* _tmp31_ = NULL; +				const gchar* _tmp32_ = NULL; +				gchar* _tmp33_ = NULL; +				ScanDirection scan_direction = 0; +				const gchar* _tmp34_ = NULL; +				const gchar* _tmp35_ = NULL; +				GQuark _tmp37_ = 0U; +#line 92 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				static GQuark _tmp36_label0 = 0; +#line 92 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				static GQuark _tmp36_label1 = 0; +#line 92 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				static GQuark _tmp36_label2 = 0; +#line 92 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				static GQuark _tmp36_label3 = 0; +#line 387 "autosave-manager.c" +				gchar* color_profile = NULL; +				GKeyFile* _tmp38_ = NULL; +				const gchar* _tmp39_ = NULL; +				gchar* _tmp40_ = NULL; +				const gchar* _tmp41_ = NULL; +				gchar* pixels_filename = NULL; +				GKeyFile* _tmp42_ = NULL; +				const gchar* _tmp43_ = NULL; +				gchar* _tmp44_ = NULL; +				gboolean has_crop = FALSE; +				GKeyFile* _tmp45_ = NULL; +				const gchar* _tmp46_ = NULL; +				gboolean _tmp47_ = FALSE; +				gchar* crop_name = NULL; +				GKeyFile* _tmp48_ = NULL; +				const gchar* _tmp49_ = NULL; +				gchar* _tmp50_ = NULL; +				const gchar* _tmp51_ = NULL; +				gint crop_x = 0; +				GKeyFile* _tmp52_ = NULL; +				const gchar* _tmp53_ = NULL; +				gint _tmp54_ = 0; +				gint crop_y = 0; +				GKeyFile* _tmp55_ = NULL; +				const gchar* _tmp56_ = NULL; +				gint _tmp57_ = 0; +				gint crop_width = 0; +				GKeyFile* _tmp58_ = NULL; +				const gchar* _tmp59_ = NULL; +				gint _tmp60_ = 0; +				gint crop_height = 0; +				GKeyFile* _tmp61_ = NULL; +				const gchar* _tmp62_ = NULL; +				gint _tmp63_ = 0; +				guchar* pixels = NULL; +				gint pixels_length1 = 0; +				gint _pixels_size_ = 0; +				const gchar* _tmp64_ = NULL; +				Page* page = NULL; +				gint _tmp73_ = 0; +				gint _tmp74_ = 0; +				gint _tmp75_ = 0; +				gint _tmp76_ = 0; +				gint _tmp77_ = 0; +				gint _tmp78_ = 0; +				ScanDirection _tmp79_ = 0; +				const gchar* _tmp80_ = NULL; +				guchar* _tmp81_ = NULL; +				gint _tmp81__length1 = 0; +				gboolean _tmp82_ = FALSE; +				const gchar* _tmp83_ = NULL; +				gint _tmp84_ = 0; +				gint _tmp85_ = 0; +				gint _tmp86_ = 0; +				gint _tmp87_ = 0; +				Page* _tmp88_ = NULL; +				GHashTable* _tmp89_ = NULL; +				Page* _tmp90_ = NULL; +				Page* _tmp91_ = NULL; +				const gchar* _tmp92_ = NULL; +				gchar* _tmp93_ = NULL; +				Book* _tmp94_ = NULL; +				Book* _tmp95_ = NULL; +				Page* _tmp96_ = NULL; +#line 82 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp12_ = page_name; +#line 82 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_debug ("autosave-manager.vala:82: Loading automatically saved page %s", _tmp12_); +#line 84 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp13_ = file; +#line 84 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp14_ = page_name; +#line 84 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp15_ = autosave_manager_get_integer (self, _tmp13_, _tmp14_, "scan-width", 0); +#line 84 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				scan_width = _tmp15_; +#line 85 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp16_ = file; +#line 85 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp17_ = page_name; +#line 85 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp18_ = autosave_manager_get_integer (self, _tmp16_, _tmp17_, "scan-height", 0); +#line 85 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				scan_height = _tmp18_; +#line 86 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp19_ = file; +#line 86 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp20_ = page_name; +#line 86 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp21_ = autosave_manager_get_integer (self, _tmp19_, _tmp20_, "rowstride", 0); +#line 86 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				rowstride = _tmp21_; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp22_ = file; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp23_ = page_name; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp24_ = autosave_manager_get_integer (self, _tmp22_, _tmp23_, "n-channels", 0); +#line 87 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				n_channels = _tmp24_; +#line 88 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp25_ = file; +#line 88 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp26_ = page_name; +#line 88 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp27_ = autosave_manager_get_integer (self, _tmp25_, _tmp26_, "depth", 0); +#line 88 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				depth = _tmp27_; +#line 89 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp28_ = file; +#line 89 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp29_ = page_name; +#line 89 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp30_ = autosave_manager_get_integer (self, _tmp28_, _tmp29_, "dpi", 0); +#line 89 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				dpi = _tmp30_; +#line 90 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp31_ = file; +#line 90 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp32_ = page_name; +#line 90 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp33_ = autosave_manager_get_value (self, _tmp31_, _tmp32_, "scan-direction", ""); +#line 90 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				scan_direction_name = _tmp33_; +#line 91 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				scan_direction = SCAN_DIRECTION_TOP_TO_BOTTOM; +#line 92 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp34_ = scan_direction_name; +#line 92 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp35_ = _tmp34_; +#line 92 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp37_ = (NULL == _tmp35_) ? 0 : g_quark_from_string (_tmp35_); +#line 92 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				if (_tmp37_ == ((0 != _tmp36_label0) ? _tmp36_label0 : (_tmp36_label0 = g_quark_from_static_string ("TOP_TO_BOTTOM")))) { +#line 92 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					switch (0) { +#line 524 "autosave-manager.c" +						default: +						{ +#line 95 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +							scan_direction = SCAN_DIRECTION_TOP_TO_BOTTOM; +#line 96 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +							break; +#line 531 "autosave-manager.c" +						} +					} +				} else if (_tmp37_ == ((0 != _tmp36_label1) ? _tmp36_label1 : (_tmp36_label1 = g_quark_from_static_string ("LEFT_TO_RIGHT")))) { +#line 92 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					switch (0) { +#line 537 "autosave-manager.c" +						default: +						{ +#line 98 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +							scan_direction = SCAN_DIRECTION_LEFT_TO_RIGHT; +#line 99 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +							break; +#line 544 "autosave-manager.c" +						} +					} +				} else if (_tmp37_ == ((0 != _tmp36_label2) ? _tmp36_label2 : (_tmp36_label2 = g_quark_from_static_string ("BOTTOM_TO_TOP")))) { +#line 92 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					switch (0) { +#line 550 "autosave-manager.c" +						default: +						{ +#line 101 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +							scan_direction = SCAN_DIRECTION_BOTTOM_TO_TOP; +#line 102 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +							break; +#line 557 "autosave-manager.c" +						} +					} +				} else if (_tmp37_ == ((0 != _tmp36_label3) ? _tmp36_label3 : (_tmp36_label3 = g_quark_from_static_string ("RIGHT_TO_LEFT")))) { +#line 92 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					switch (0) { +#line 563 "autosave-manager.c" +						default: +						{ +#line 104 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +							scan_direction = SCAN_DIRECTION_RIGHT_TO_LEFT; +#line 105 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +							break; +#line 570 "autosave-manager.c" +						} +					} +				} +#line 107 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp38_ = file; +#line 107 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp39_ = page_name; +#line 107 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp40_ = autosave_manager_get_value (self, _tmp38_, _tmp39_, "color-profile", ""); +#line 107 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				color_profile = _tmp40_; +#line 108 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp41_ = color_profile; +#line 108 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				if (g_strcmp0 (_tmp41_, "") == 0) { +#line 109 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_g_free0 (color_profile); +#line 109 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					color_profile = NULL; +#line 590 "autosave-manager.c" +				} +#line 110 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp42_ = file; +#line 110 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp43_ = page_name; +#line 110 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp44_ = autosave_manager_get_value (self, _tmp42_, _tmp43_, "pixels-filename", ""); +#line 110 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				pixels_filename = _tmp44_; +#line 111 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp45_ = file; +#line 111 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp46_ = page_name; +#line 111 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp47_ = autosave_manager_get_boolean (self, _tmp45_, _tmp46_, "has-crop", FALSE); +#line 111 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				has_crop = _tmp47_; +#line 112 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp48_ = file; +#line 112 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp49_ = page_name; +#line 112 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp50_ = autosave_manager_get_value (self, _tmp48_, _tmp49_, "crop-name", ""); +#line 112 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				crop_name = _tmp50_;  #line 113 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			g_clear_error (&_inner_error_); +				_tmp51_ = crop_name;  #line 113 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			return NULL; -#line 416 "autosave-manager.c" -		} -#line 114 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp7_ = current_pids; +				if (g_strcmp0 (_tmp51_, "") == 0) {  #line 114 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp8_ = string_strip (_tmp7_); +					_g_free0 (crop_name);  #line 114 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (current_pids); -#line 114 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		current_pids = _tmp8_; +					crop_name = NULL; +#line 624 "autosave-manager.c" +				} +#line 115 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp52_ = file; +#line 115 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp53_ = page_name; +#line 115 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp54_ = autosave_manager_get_integer (self, _tmp52_, _tmp53_, "crop-x", 0); +#line 115 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				crop_x = _tmp54_;  #line 116 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp9_ = current_pids; +				_tmp55_ = file;  #line 116 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp10_ = string_to_string (_tmp9_); +				_tmp56_ = page_name;  #line 116 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp11_ = g_strconcat ("\n" \ -"                   SELECT process_id, book_hash, book_revision FROM pa" \ -"ges\n" \ -"                   WHERE NOT process_id IN (", _tmp10_, ")\n                   LIMIT 1\n                ", NULL); +				_tmp57_ = autosave_manager_get_integer (self, _tmp55_, _tmp56_, "crop-y", 0);  #line 116 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		query = _tmp11_; -#line 122 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp12_ = man; -#line 122 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp13_ = _tmp12_->priv->database_connection; -#line 122 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp14_ = query; -#line 122 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp16_ = sqlite3_prepare_v2 (_tmp13_, _tmp14_, -1, &_tmp15_, NULL); -#line 122 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_sqlite3_finalize0 (stmt); -#line 122 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		stmt = _tmp15_; -#line 122 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_result_ = _tmp16_; +				crop_y = _tmp57_; +#line 117 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp58_ = file; +#line 117 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp59_ = page_name; +#line 117 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp60_ = autosave_manager_get_integer (self, _tmp58_, _tmp59_, "crop-width", 0); +#line 117 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				crop_width = _tmp60_; +#line 118 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp61_ = file; +#line 118 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp62_ = page_name; +#line 118 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp63_ = autosave_manager_get_integer (self, _tmp61_, _tmp62_, "crop-height", 0); +#line 118 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				crop_height = _tmp63_; +#line 120 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				pixels = NULL; +#line 120 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				pixels_length1 = 0; +#line 120 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_pixels_size_ = pixels_length1; +#line 121 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp64_ = pixels_filename; +#line 121 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				if (g_strcmp0 (_tmp64_, "") != 0) { +#line 668 "autosave-manager.c" +					gchar* path = NULL; +					const gchar* _tmp65_ = NULL; +					const gchar* _tmp66_ = NULL; +					gchar* _tmp67_ = NULL; +					GFile* f = NULL; +					const gchar* _tmp68_ = NULL; +					GFile* _tmp69_ = NULL; +#line 123 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp65_ = autosave_manager_AUTOSAVE_DIR;  #line 123 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp17_ = _result_; +					_tmp66_ = pixels_filename;  #line 123 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		if (_tmp17_ == SQLITE_OK) { +					_tmp67_ = g_build_filename (_tmp65_, _tmp66_, NULL); +#line 123 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					path = _tmp67_; +#line 124 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp68_ = path; +#line 124 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp69_ = g_file_new_for_path (_tmp68_); +#line 124 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					f = _tmp69_; +#line 690 "autosave-manager.c" +					{ +						GFile* _tmp70_ = NULL; +						guint8* _tmp71_ = NULL; +						gsize _tmp72_; +#line 127 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_tmp70_ = f; +#line 127 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						g_file_load_contents (_tmp70_, NULL, &_tmp71_, &_tmp72_, NULL, &_inner_error_); +#line 127 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						pixels = (g_free (pixels), NULL); +#line 127 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						pixels = _tmp71_; +#line 127 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						pixels_length1 = _tmp72_; +#line 127 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_pixels_size_ = pixels_length1; +#line 127 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						if (_inner_error_ != NULL) { +#line 709 "autosave-manager.c" +							goto __catch29_g_error; +						} +					} +					goto __finally29; +					__catch29_g_error: +					{ +						GError* e = NULL;  #line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			while (TRUE) { -#line 454 "autosave-manager.c" -				sqlite3_stmt* _tmp18_; -				gint _tmp19_ = 0; -				sqlite3_stmt* _tmp20_; -				gint _tmp21_ = 0; -				gint unowned_pid; -				sqlite3_stmt* _tmp22_; -				gint _tmp23_ = 0; -				gint book_hash; -				sqlite3_stmt* _tmp24_; -				gint _tmp25_ = 0; -				gint book_revision; -				const gchar* _tmp26_; -				const gchar* _tmp27_ = NULL; -				gchar* _tmp28_ = NULL; -				sqlite3_stmt* stmt2 = NULL; -				AutosaveManager* _tmp29_; -				sqlite3* _tmp30_; -				const gchar* _tmp31_; -				sqlite3_stmt* _tmp32_ = NULL; -				gint _tmp33_ = 0; -				gint _tmp34_; -				sqlite3_stmt* _tmp39_; -				gint _tmp40_; -				sqlite3_stmt* _tmp41_; -				gint _tmp42_; -				sqlite3_stmt* _tmp43_; -				gint _tmp44_; -				sqlite3_stmt* _tmp45_; -				gint _tmp46_ = 0; -				gint _tmp47_; +						e = _inner_error_;  #line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp18_ = stmt; +						_inner_error_ = NULL; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						g_warning ("autosave-manager.vala:131: Failed to load pixel information"); +#line 132 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_error_free0 (e); +#line 132 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_object_unref0 (f); +#line 132 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_free0 (path); +#line 132 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						pixels = (g_free (pixels), NULL); +#line 132 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_free0 (crop_name); +#line 132 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_free0 (pixels_filename); +#line 132 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_free0 (color_profile); +#line 132 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_free0 (scan_direction_name); +#line 132 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_free0 (page_name); +#line 132 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						continue; +#line 743 "autosave-manager.c" +					} +					__finally29:  #line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp19_ = sqlite3_step (_tmp18_); +					if (_inner_error_ != NULL) {  #line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				if (!(_tmp19_ == SQLITE_ROW)) { +						_g_object_unref0 (f);  #line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					break; -#line 493 "autosave-manager.c" -				} -#line 127 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				g_debug ("autosave-manager.vala:127: Found at least one autosave page, taking ow" \ -"nership"); -#line 128 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp20_ = stmt; -#line 128 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp21_ = sqlite3_column_int (_tmp20_, 0); -#line 128 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				unowned_pid = _tmp21_; -#line 129 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp22_ = stmt; -#line 129 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp23_ = sqlite3_column_int (_tmp22_, 1); -#line 129 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				book_hash = _tmp23_; -#line 130 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp24_ = stmt; -#line 130 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp25_ = sqlite3_column_int (_tmp24_, 2); -#line 130 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				book_revision = _tmp25_; -#line 137 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp26_ = autosave_manager_PID; -#line 137 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp27_ = string_to_string (_tmp26_); -#line 137 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp28_ = g_strconcat ("\n" \ -"                        UPDATE pages\n" \ -"                           SET process_id = ", _tmp27_, "\n" \ -"                         WHERE process_id = ?2\n" \ -"                           AND book_hash = ?3\n" \ -"                           AND book_revision = ?4", NULL); -#line 137 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_g_free0 (query); -#line 137 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				query = _tmp28_; -#line 144 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp29_ = man; -#line 144 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp30_ = _tmp29_->priv->database_connection; -#line 144 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp31_ = query; -#line 144 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp33_ = sqlite3_prepare_v2 (_tmp30_, _tmp31_, -1, &_tmp32_, NULL); -#line 144 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_sqlite3_finalize0 (stmt2); -#line 144 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				stmt2 = _tmp32_; -#line 144 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_result_ = _tmp33_; -#line 145 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp34_ = _result_; -#line 145 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				if (_tmp34_ != SQLITE_OK) { -#line 543 "autosave-manager.c" -					const gchar* _tmp35_; -					const gchar* _tmp36_ = NULL; -					gchar* _tmp37_ = NULL; -					gchar* _tmp38_; -#line 146 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp35_ = query; -#line 146 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp36_ = string_to_string (_tmp35_); -#line 146 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp37_ = g_strconcat ("Error preparing statement: ", _tmp36_, NULL); -#line 146 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp38_ = _tmp37_; -#line 146 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					g_warning ("autosave-manager.vala:146: %s", _tmp38_); -#line 146 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_g_free0 (_tmp38_); -#line 560 "autosave-manager.c" +						_g_free0 (path); +#line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						pixels = (g_free (pixels), NULL); +#line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_free0 (crop_name); +#line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_free0 (pixels_filename); +#line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_free0 (color_profile); +#line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_free0 (scan_direction_name); +#line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_free0 (page_name); +#line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						page_name_collection = (_vala_array_free (page_name_collection, page_name_collection_length1, (GDestroyNotify) g_free), NULL); +#line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_free0 (pages); +#line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_g_key_file_unref0 (file); +#line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						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); +#line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						g_clear_error (&_inner_error_); +#line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						return; +#line 776 "autosave-manager.c" +					} +#line 121 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_g_object_unref0 (f); +#line 121 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_g_free0 (path); +#line 782 "autosave-manager.c"  				} -#line 148 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp39_ = stmt2; -#line 148 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp40_ = unowned_pid; -#line 148 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				sqlite3_bind_int64 (_tmp39_, 2, (gint64) _tmp40_); -#line 149 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp41_ = stmt2; -#line 149 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp42_ = book_hash; -#line 149 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				sqlite3_bind_int64 (_tmp41_, 3, (gint64) _tmp42_); -#line 150 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp43_ = stmt2; -#line 150 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp44_ = book_revision; -#line 150 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				sqlite3_bind_int64 (_tmp43_, 4, (gint64) _tmp44_); +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp73_ = scan_width; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp74_ = scan_height; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp75_ = rowstride; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp76_ = n_channels; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp77_ = depth; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp78_ = dpi; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp79_ = scan_direction; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp80_ = color_profile; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp81_ = pixels; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp81__length1 = pixels_length1; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp82_ = has_crop; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp83_ = crop_name; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp84_ = crop_x; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp85_ = crop_y; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp86_ = crop_width; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp87_ = crop_height; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp88_ = page_new_from_data (_tmp73_, _tmp74_, _tmp75_, _tmp76_, _tmp77_, _tmp78_, _tmp79_, _tmp80_, _tmp81_, _tmp81__length1, _tmp82_, _tmp83_, _tmp84_, _tmp85_, _tmp86_, _tmp87_); +#line 136 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				page = _tmp88_;  #line 151 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp45_ = stmt2; +				_tmp89_ = self->priv->page_filenames;  #line 151 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp46_ = sqlite3_step (_tmp45_); +				_tmp90_ = page;  #line 151 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_result_ = _tmp46_; +				_tmp91_ = _page_ref0 (_tmp90_); +#line 151 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp92_ = pixels_filename; +#line 151 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp93_ = g_strdup (_tmp92_); +#line 151 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_hash_table_insert (_tmp89_, _tmp91_, _tmp93_);  #line 152 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp47_ = _result_; +				_tmp94_ = autosave_manager_get_book (self);  #line 152 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				if (_tmp47_ == SQLITE_DONE) { -#line 590 "autosave-manager.c" -					AutosaveManager* _tmp48_; -#line 154 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					any_pages_recovered = TRUE; -#line 155 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp48_ = man; -#line 155 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					autosave_manager_recover_book (_tmp48_, book); -#line 598 "autosave-manager.c" -				} else { -					gint _tmp49_; -#line 158 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp49_ = _result_; -#line 158 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					g_warning ("autosave-manager.vala:158: Error %d while executing query", _tmp49_); -#line 605 "autosave-manager.c" -				} -#line 125 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_sqlite3_finalize0 (stmt2); -#line 609 "autosave-manager.c" +				_tmp95_ = _tmp94_; +#line 152 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp96_ = page; +#line 152 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				book_append_page (_tmp95_, _tmp96_); +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_page_unref0 (page); +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				pixels = (g_free (pixels), NULL); +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_g_free0 (crop_name); +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_g_free0 (pixels_filename); +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_g_free0 (color_profile); +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_g_free0 (scan_direction_name); +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_g_free0 (page_name); +#line 854 "autosave-manager.c"  			} -		} else { -			gint _tmp50_; -#line 162 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp50_ = _result_; -#line 162 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			g_warning ("autosave-manager.vala:162: Error %d while preparing statement", _tmp50_); -#line 617 "autosave-manager.c"  		} -#line 109 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (query); -#line 109 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_sqlite3_finalize0 (stmt); -#line 109 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (current_pids); -#line 625 "autosave-manager.c" +#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		page_name_collection = (_vala_array_free (page_name_collection, page_name_collection_length1, (GDestroyNotify) g_free), NULL); +#line 859 "autosave-manager.c" +	} +#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_g_free0 (pages); +#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_g_key_file_unref0 (file); +#line 865 "autosave-manager.c" +} + + +static gchar* autosave_manager_get_value (AutosaveManager* self, GKeyFile* file, const gchar* group_name, const gchar* key, const gchar* _default_) { +	gchar* result = NULL; +	GError * _inner_error_ = NULL; +#line 156 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_val_if_fail (self != NULL, NULL); +#line 156 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_val_if_fail (file != NULL, NULL); +#line 156 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_val_if_fail (group_name != NULL, NULL); +#line 156 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_val_if_fail (key != NULL, NULL); +#line 156 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_val_if_fail (_default_ != NULL, NULL); +#line 882 "autosave-manager.c" +	{ +		gchar* _tmp0_ = NULL; +		GKeyFile* _tmp1_ = NULL; +		const gchar* _tmp2_ = NULL; +		const gchar* _tmp3_ = NULL; +		gchar* _tmp4_ = NULL; +#line 160 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp1_ = file; +#line 160 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp2_ = group_name; +#line 160 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp3_ = key; +#line 160 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp4_ = g_key_file_get_value (_tmp1_, _tmp2_, _tmp3_, &_inner_error_); +#line 160 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp0_ = _tmp4_; +#line 160 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		if (_inner_error_ != NULL) { +#line 901 "autosave-manager.c" +			goto __catch30_g_error; +		} +#line 160 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		result = _tmp0_; +#line 160 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		return result; +#line 908 "autosave-manager.c"  	} -	goto __finally24; -	__catch24_g_spawn_error: +	goto __finally30; +	__catch30_g_error:  	{  		GError* e = NULL; -#line 109 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		const gchar* _tmp5_ = NULL; +		gchar* _tmp6_ = NULL; +#line 158 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		e = _inner_error_; -#line 109 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 158 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		_inner_error_ = NULL; -#line 166 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_warning ("autosave-manager.vala:166: Could not obtain current process ids; not r" \ -"estoring any autosaves"); -#line 109 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 164 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp5_ = _default_; +#line 164 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp6_ = g_strdup (_tmp5_); +#line 164 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		result = _tmp6_; +#line 164 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		_g_error_free0 (e); -#line 639 "autosave-manager.c" -	} -	__finally24: -#line 109 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_inner_error_ != NULL) { -#line 109 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_autosave_manager_unref0 (man); -#line 109 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		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); -#line 109 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_clear_error (&_inner_error_); -#line 109 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		return NULL; -#line 652 "autosave-manager.c" +#line 164 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		return result; +#line 930 "autosave-manager.c"  	} -#line 169 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp51_ = man; -#line 169 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp52_ = *book; -#line 169 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_set_book (_tmp51_, _tmp52_); -#line 170 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp53_ = any_pages_recovered; -#line 170 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (!_tmp53_) { -#line 664 "autosave-manager.c" -		{ -			gint i; -#line 172 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			i = 0; -#line 669 "autosave-manager.c" -			{ -				gboolean _tmp54_; -#line 172 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp54_ = TRUE; -#line 172 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				while (TRUE) { -#line 676 "autosave-manager.c" -					gboolean _tmp55_; -					gint _tmp57_; -					Book* _tmp58_; -					guint _tmp59_ = 0U; -					Book* _tmp60_; -					gint _tmp61_; -					Page* _tmp62_ = NULL; -					Page* page; -					AutosaveManager* _tmp63_; -					Page* _tmp64_; -#line 172 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp55_ = _tmp54_; -#line 172 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					if (!_tmp55_) { -#line 691 "autosave-manager.c" -						gint _tmp56_; -#line 172 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -						_tmp56_ = i; +	__finally30: +#line 158 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	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); +#line 158 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_clear_error (&_inner_error_); +#line 158 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	return NULL; +#line 939 "autosave-manager.c" +} + + +static gint autosave_manager_get_integer (AutosaveManager* self, GKeyFile* file, const gchar* group_name, const gchar* key, gint _default_) { +	gint result = 0; +	GError * _inner_error_ = NULL; +#line 168 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_val_if_fail (self != NULL, 0); +#line 168 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_val_if_fail (file != NULL, 0); +#line 168 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_val_if_fail (group_name != NULL, 0); +#line 168 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_val_if_fail (key != NULL, 0); +#line 954 "autosave-manager.c" +	{ +		gint _tmp0_ = 0; +		GKeyFile* _tmp1_ = NULL; +		const gchar* _tmp2_ = NULL; +		const gchar* _tmp3_ = NULL; +		gint _tmp4_ = 0;  #line 172 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -						i = _tmp56_ + 1; -#line 697 "autosave-manager.c" -					} +		_tmp1_ = file;  #line 172 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp54_ = FALSE; +		_tmp2_ = group_name;  #line 172 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp57_ = i; +		_tmp3_ = key;  #line 172 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp58_ = *book; +		_tmp4_ = g_key_file_get_integer (_tmp1_, _tmp2_, _tmp3_, &_inner_error_);  #line 172 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp59_ = book_get_n_pages (_tmp58_); +		_tmp0_ = _tmp4_;  #line 172 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					if (!(((guint) _tmp57_) < _tmp59_)) { +		if (_inner_error_ != NULL) { +#line 973 "autosave-manager.c" +			goto __catch31_g_error; +		}  #line 172 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -						break; -#line 711 "autosave-manager.c" -					} -#line 174 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp60_ = *book; -#line 174 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp61_ = i; -#line 174 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp62_ = book_get_page (_tmp60_, _tmp61_); -#line 174 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					page = _tmp62_; -#line 175 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp63_ = man; -#line 175 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp64_ = page; -#line 175 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					autosave_manager_on_page_added (_tmp63_, _tmp64_); +		result = _tmp0_;  #line 172 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_page_unref0 (page); -#line 729 "autosave-manager.c" -				} -			} -		} +		return result; +#line 980 "autosave-manager.c"  	} -#line 179 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	result = man; -#line 179 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	return result; -#line 738 "autosave-manager.c" +	goto __finally31; +	__catch31_g_error: +	{ +		GError* e = NULL; +		gint _tmp5_ = 0; +#line 170 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		e = _inner_error_; +#line 170 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_inner_error_ = NULL; +#line 176 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp5_ = _default_; +#line 176 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		result = _tmp5_; +#line 176 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_error_free0 (e); +#line 176 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		return result; +#line 999 "autosave-manager.c" +	} +	__finally31: +#line 170 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	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); +#line 170 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_clear_error (&_inner_error_); +#line 170 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	return 0; +#line 1008 "autosave-manager.c"  } -static void _page_unref0_ (gpointer var) { +static gboolean autosave_manager_get_boolean (AutosaveManager* self, GKeyFile* file, const gchar* group_name, const gchar* key, gboolean _default_) { +	gboolean result = FALSE; +	GError * _inner_error_ = NULL; +#line 180 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_val_if_fail (self != NULL, FALSE); +#line 180 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_val_if_fail (file != NULL, FALSE); +#line 180 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_val_if_fail (group_name != NULL, FALSE); +#line 180 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_val_if_fail (key != NULL, FALSE); +#line 1023 "autosave-manager.c" +	{ +		gboolean _tmp0_ = FALSE; +		GKeyFile* _tmp1_ = NULL; +		const gchar* _tmp2_ = NULL; +		const gchar* _tmp3_ = NULL; +		gboolean _tmp4_ = FALSE;  #line 184 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	(var == NULL) ? NULL : (var = (page_unref (var), NULL)); -#line 745 "autosave-manager.c" -} - - -static AutosaveManager* autosave_manager_construct (GType object_type) { -	AutosaveManager* self = NULL; -	GHashFunc _tmp0_; -	GEqualFunc _tmp1_; -	GHashTable* _tmp2_; -#line 182 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	self = (AutosaveManager*) g_type_create_instance (object_type); +		_tmp1_ = file;  #line 184 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp0_ = g_direct_hash; +		_tmp2_ = group_name;  #line 184 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp1_ = g_direct_equal; +		_tmp3_ = key;  #line 184 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _page_unref0_, NULL); +		_tmp4_ = g_key_file_get_boolean (_tmp1_, _tmp2_, _tmp3_, &_inner_error_);  #line 184 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_hash_table_unref0 (self->priv->dirty_pages); +		_tmp0_ = _tmp4_;  #line 184 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	self->priv->dirty_pages = _tmp2_; +		if (_inner_error_ != NULL) { +#line 1042 "autosave-manager.c" +			goto __catch32_g_error; +		} +#line 184 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		result = _tmp0_; +#line 184 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		return result; +#line 1049 "autosave-manager.c" +	} +	goto __finally32; +	__catch32_g_error: +	{ +		GError* e = NULL; +		gboolean _tmp5_ = FALSE;  #line 182 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	return self; -#line 768 "autosave-manager.c" -} - - -static AutosaveManager* autosave_manager_new (void) { +		e = _inner_error_;  #line 182 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	return autosave_manager_construct (TYPE_AUTOSAVE_MANAGER); -#line 775 "autosave-manager.c" -} - - -static gint _sqlite3_exec (sqlite3* self, const gchar* sql, sqlite3_callback callback, void* callback_target, gchar** errmsg) { -	gchar* _vala_errmsg = NULL; -	gint result = 0; -	const gchar* sqlite_errmsg = NULL; -	const gchar* _tmp0_; -	sqlite3_callback _tmp1_; -	void* _tmp1__target; -	const gchar* _tmp2_ = NULL; -	gint _tmp3_ = 0; -	gint ec; -	const gchar* _tmp6_; -#line 34 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -	g_return_val_if_fail (self != NULL, 0); -#line 34 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -	g_return_val_if_fail (sql != NULL, 0); -#line 36 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -	_tmp0_ = sql; -#line 36 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -	_tmp1_ = callback; -#line 36 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -	_tmp1__target = callback_target; -#line 36 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -	_tmp3_ = sqlite3_exec (self, _tmp0_, _tmp1_, _tmp1__target, (char**) (&_tmp2_)); -#line 36 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -	sqlite_errmsg = _tmp2_; -#line 36 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -	ec = _tmp3_; -#line 37 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -	if ((&_vala_errmsg) != NULL) { -#line 808 "autosave-manager.c" -		const gchar* _tmp4_; -		gchar* _tmp5_; -#line 38 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -		_tmp4_ = sqlite_errmsg; -#line 38 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -		_tmp5_ = g_strdup (_tmp4_); -#line 38 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -		_g_free0 (_vala_errmsg); -#line 38 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -		_vala_errmsg = _tmp5_; -#line 819 "autosave-manager.c" -	} -#line 40 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -	_tmp6_ = sqlite_errmsg; -#line 40 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -	sqlite3_free ((void*) _tmp6_); -#line 41 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -	result = ec; -#line 41 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -	if (errmsg) { -#line 41 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -		*errmsg = _vala_errmsg; -#line 831 "autosave-manager.c" -	} else { -#line 41 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -		_g_free0 (_vala_errmsg); -#line 835 "autosave-manager.c" +		_inner_error_ = NULL; +#line 188 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp5_ = _default_; +#line 188 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		result = _tmp5_; +#line 188 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_error_free0 (e); +#line 188 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		return result; +#line 1068 "autosave-manager.c"  	} -#line 41 "/usr/share/vala-0.20/vapi/sqlite3.vapi" -	return result; -#line 839 "autosave-manager.c" +	__finally32: +#line 182 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	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); +#line 182 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_clear_error (&_inner_error_); +#line 182 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	return FALSE; +#line 1077 "autosave-manager.c"  }  void autosave_manager_cleanup (AutosaveManager* self) { -	guint _tmp0_; -	sqlite3* _tmp2_; -	const gchar* _tmp3_; -	const gchar* _tmp4_ = NULL; -	gchar* _tmp5_ = NULL; -	gchar* _tmp6_; -	gint _tmp7_ = 0; -#line 187 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	guint _tmp0_ = 0U; +	GDir* dir = NULL; +	GError * _inner_error_ = NULL; +#line 192 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	g_return_if_fail (self != NULL); -#line 189 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_debug ("autosave-manager.vala:189: Clean exit; deleting autosave records"); -#line 191 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 194 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_debug ("autosave-manager.vala:194: Deleting autosave records"); +#line 196 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	_tmp0_ = self->priv->update_timeout; -#line 191 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 196 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	if (_tmp0_ > ((guint) 0)) { -#line 859 "autosave-manager.c" -		guint _tmp1_; -#line 192 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 1093 "autosave-manager.c" +		guint _tmp1_ = 0U; +#line 197 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		_tmp1_ = self->priv->update_timeout; -#line 192 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 197 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		g_source_remove (_tmp1_); -#line 865 "autosave-manager.c" +#line 1099 "autosave-manager.c"  	} -#line 193 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 198 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	self->priv->update_timeout = (guint) 0; -#line 195 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp2_ = self->priv->database_connection; -#line 195 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp3_ = autosave_manager_PID; -#line 195 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp4_ = string_to_string (_tmp3_); -#line 195 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp5_ = g_strconcat ("\n            DELETE FROM pages\n                WHERE process_id = ", _tmp4_, "\n        ", NULL); -#line 195 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp6_ = _tmp5_; -#line 195 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp7_ = _sqlite3_exec (_tmp2_, _tmp6_, NULL, NULL, NULL); -#line 195 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_warn_if_fail (_tmp7_ == SQLITE_OK); -#line 195 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (_tmp6_); -#line 885 "autosave-manager.c" -} - - -static sqlite3* autosave_manager_open_database_connection (GError** error) { -	sqlite3* result = NULL; -	const gchar* _tmp0_; -	GFile* _tmp1_ = NULL; -	GFile* autosaves_dir; -	sqlite3* connection = NULL; -	const gchar* _tmp3_; -	sqlite3* _tmp4_ = NULL; -	gint _tmp5_ = 0; -	gchar* _tmp7_; -	gchar* query; -	sqlite3* _tmp8_; -	const gchar* _tmp9_; -	gint _tmp10_ = 0; -	gint _result_; -	gint _tmp11_; -	GError * _inner_error_ = NULL; +#line 1103 "autosave-manager.c" +	{ +		GDir* _tmp2_ = NULL; +		const gchar* _tmp3_ = NULL; +		GDir* _tmp4_ = NULL;  #line 203 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp0_ = autosave_manager_AUTOSAVE_DIR; +		_tmp3_ = autosave_manager_AUTOSAVE_DIR;  #line 203 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp1_ = g_file_new_for_path (_tmp0_); +		_tmp4_ = g_dir_open (_tmp3_, (guint) 0, &_inner_error_); +#line 203 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp2_ = _tmp4_;  #line 203 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosaves_dir = _tmp1_; -#line 912 "autosave-manager.c" -	{ -		GFile* _tmp2_; -#line 206 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp2_ = autosaves_dir; -#line 206 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_file_make_directory_with_parents (_tmp2_, NULL, &_inner_error_); -#line 206 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		if (_inner_error_ != NULL) { -#line 921 "autosave-manager.c" -			goto __catch25_g_error; +#line 1116 "autosave-manager.c" +			goto __catch33_g_error;  		} +#line 203 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_dir_close0 (dir); +#line 203 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		dir = _tmp2_; +#line 1123 "autosave-manager.c"  	} -	goto __finally25; -	__catch25_g_error: +	goto __finally33; +	__catch33_g_error:  	{ -#line 204 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_clear_error (&_inner_error_); -#line 204 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		GError* e = NULL; +		GError* _tmp5_ = NULL; +		const gchar* _tmp6_ = NULL; +#line 201 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		e = _inner_error_; +#line 201 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		_inner_error_ = NULL; -#line 932 "autosave-manager.c" +#line 207 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp5_ = e; +#line 207 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp6_ = _tmp5_->message; +#line 207 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_warning ("autosave-manager.vala:207: Failed to delete autosaves: %s", _tmp6_); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_error_free0 (e); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_dir_close0 (dir); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		return; +#line 1147 "autosave-manager.c"  	} -	__finally25: -#line 204 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	__finally33: +#line 201 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	if (_inner_error_ != NULL) { -#line 204 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_propagate_error (error, _inner_error_); -#line 204 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_object_unref0 (autosaves_dir); -#line 204 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		return NULL; -#line 943 "autosave-manager.c" +#line 201 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_dir_close0 (dir); +#line 201 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		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); +#line 201 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_clear_error (&_inner_error_); +#line 201 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		return; +#line 1160 "autosave-manager.c"  	} +#line 211 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	while (TRUE) { +#line 1164 "autosave-manager.c" +		gchar* filename = NULL; +		GDir* _tmp7_ = NULL; +		const gchar* _tmp8_ = NULL; +		gchar* _tmp9_ = NULL; +		const gchar* _tmp10_ = NULL; +		gchar* path = NULL; +		const gchar* _tmp11_ = NULL; +		const gchar* _tmp12_ = NULL; +		gchar* _tmp13_ = NULL; +		const gchar* _tmp14_ = NULL;  #line 213 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp3_ = autosave_manager_AUTOSAVE_FILENAME; -#line 213 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp5_ = sqlite3_open (_tmp3_, &_tmp4_); +		_tmp7_ = dir;  #line 213 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_sqlite3_close0 (connection); +		_tmp8_ = g_dir_read_name (_tmp7_);  #line 213 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	connection = _tmp4_; +		_tmp9_ = g_strdup (_tmp8_);  #line 213 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_tmp5_ != SQLITE_OK) { -#line 955 "autosave-manager.c" -		GError* _tmp6_; -#line 214 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp6_ = g_error_new_literal (G_IO_ERROR, G_IO_ERROR_FAILED, "Could not connect to autosave database"); -#line 214 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_inner_error_ = _tmp6_; -#line 214 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_propagate_error (error, _inner_error_); +		filename = _tmp9_;  #line 214 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_sqlite3_close0 (connection); +		_tmp10_ = filename;  #line 214 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_object_unref0 (autosaves_dir); -#line 214 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		return NULL; -#line 969 "autosave-manager.c" -	} +		if (_tmp10_ == NULL) {  #line 215 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp7_ = g_strdup ("\n" \ -"            CREATE TABLE IF NOT EXISTS pages (\n" \ -"                id integer PRIMARY KEY,\n" \ -"                process_id integer,\n" \ -"                page_hash integer,\n" \ -"                book_hash integer,\n" \ -"                book_revision integer,\n" \ -"                page_number integer,\n" \ -"                dpi integer,\n" \ -"                width integer,\n" \ -"                height integer,\n" \ -"                depth integer,\n" \ -"                n_channels integer,\n" \ -"                rowstride integer,\n" \ -"                color_profile string,\n" \ -"                crop_x integer,\n" \ -"                crop_y integer,\n" \ -"                crop_width integer,\n" \ -"                crop_height integer,\n" \ -"                scan_direction integer,\n" \ -"                pixels binary\n" \ -"            )"); +			_g_free0 (filename);  #line 215 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	query = _tmp7_; -#line 237 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp8_ = connection; -#line 237 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp9_ = query; -#line 237 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp10_ = _sqlite3_exec (_tmp8_, _tmp9_, NULL, NULL, NULL); -#line 237 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_result_ = _tmp10_; -#line 238 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp11_ = _result_; -#line 238 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_tmp11_ != SQLITE_OK) { -#line 987 "autosave-manager.c" -		gint _tmp12_; -#line 239 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp12_ = _result_; -#line 239 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_warning ("autosave-manager.vala:239: Error %d while executing query", _tmp12_); -#line 993 "autosave-manager.c" +			break; +#line 1191 "autosave-manager.c" +		} +#line 216 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp11_ = autosave_manager_AUTOSAVE_DIR; +#line 216 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp12_ = filename; +#line 216 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp13_ = g_build_filename (_tmp11_, _tmp12_, NULL); +#line 216 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		path = _tmp13_; +#line 217 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp14_ = path; +#line 217 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_unlink (_tmp14_); +#line 211 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_free0 (path); +#line 211 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_free0 (filename); +#line 1209 "autosave-manager.c"  	} -#line 240 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	result = connection; -#line 240 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (query); -#line 240 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_object_unref0 (autosaves_dir); -#line 240 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	return result; -#line 1003 "autosave-manager.c" +#line 192 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_g_dir_close0 (dir); +#line 1213 "autosave-manager.c"  } -static void _autosave_manager_on_page_changed_page_size_changed (Page* _sender, gpointer self) { -#line 247 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_on_page_changed (self, _sender); -#line 1010 "autosave-manager.c" +static void _autosave_manager_on_scan_finished_page_scan_finished (Page* _sender, gpointer self) { +#line 223 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	autosave_manager_on_scan_finished (self, _sender); +#line 1220 "autosave-manager.c"  } -static void _autosave_manager_on_page_changed_page_scan_direction_changed (Page* _sender, gpointer self) { -#line 248 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_on_page_changed (self, _sender); -#line 1017 "autosave-manager.c" +static void _autosave_manager_on_changed_page_crop_changed (Page* _sender, gpointer self) { +#line 224 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	autosave_manager_on_changed (self); +#line 1227 "autosave-manager.c"  } -static void _autosave_manager_on_page_changed_page_crop_changed (Page* _sender, gpointer self) { -#line 249 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_on_page_changed (self, _sender); -#line 1024 "autosave-manager.c" +void autosave_manager_on_page_added (AutosaveManager* self, Page* page) { +	Page* _tmp0_ = NULL; +	Page* _tmp1_ = NULL; +#line 221 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_if_fail (self != NULL); +#line 221 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_if_fail (page != NULL); +#line 223 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp0_ = page; +#line 223 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_signal_connect (_tmp0_, "scan-finished", (GCallback) _autosave_manager_on_scan_finished_page_scan_finished, self); +#line 224 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp1_ = page; +#line 224 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_signal_connect (_tmp1_, "crop-changed", (GCallback) _autosave_manager_on_changed_page_crop_changed, self); +#line 1246 "autosave-manager.c"  } -static void _autosave_manager_on_page_changed_page_scan_finished (Page* _sender, gpointer self) { -#line 250 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_on_page_changed (self, _sender); -#line 1031 "autosave-manager.c" +void autosave_manager_on_page_removed (AutosaveManager* self, Page* page) { +	Page* _tmp0_ = NULL; +	guint _tmp1_ = 0U; +	Page* _tmp2_ = NULL; +	guint _tmp3_ = 0U; +	gchar* filename = NULL; +	GHashTable* _tmp4_ = NULL; +	Page* _tmp5_ = NULL; +	gconstpointer _tmp6_ = NULL; +	gchar* _tmp7_ = NULL; +	const gchar* _tmp8_ = NULL; +	GHashTable* _tmp10_ = NULL; +	Page* _tmp11_ = NULL; +#line 227 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_if_fail (self != NULL); +#line 227 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_if_fail (page != NULL); +#line 229 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp0_ = page; +#line 229 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_signal_parse_name ("scan-finished", TYPE_PAGE, &_tmp1_, NULL, FALSE); +#line 229 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _autosave_manager_on_scan_finished_page_scan_finished, self); +#line 230 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp2_ = page; +#line 230 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_signal_parse_name ("crop-changed", TYPE_PAGE, &_tmp3_, NULL, FALSE); +#line 230 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _autosave_manager_on_changed_page_crop_changed, self); +#line 232 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp4_ = self->priv->page_filenames; +#line 232 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp5_ = page; +#line 232 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp6_ = g_hash_table_lookup (_tmp4_, _tmp5_); +#line 232 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp7_ = g_strdup ((const gchar*) _tmp6_); +#line 232 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	filename = _tmp7_; +#line 233 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp8_ = filename; +#line 233 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	if (_tmp8_ != NULL) { +#line 1293 "autosave-manager.c" +		const gchar* _tmp9_ = NULL; +#line 234 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp9_ = filename; +#line 234 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_unlink (_tmp9_); +#line 1299 "autosave-manager.c" +	} +#line 235 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp10_ = self->priv->page_filenames; +#line 235 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp11_ = page; +#line 235 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_hash_table_remove (_tmp10_, _tmp11_); +#line 227 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_g_free0 (filename); +#line 1309 "autosave-manager.c"  } -static void autosave_manager_on_page_added (AutosaveManager* self, Page* page) { -	Page* _tmp0_; -	Page* _tmp1_; -	Page* _tmp2_; -	Page* _tmp3_; -	Page* _tmp4_; -#line 243 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +void autosave_manager_on_scan_finished (AutosaveManager* self, Page* page) { +	Page* _tmp0_ = NULL; +#line 238 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	g_return_if_fail (self != NULL); -#line 243 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 238 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	g_return_if_fail (page != NULL); -#line 245 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 240 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	_tmp0_ = page; -#line 245 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_insert_page (self, _tmp0_); -#line 247 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp1_ = page; -#line 247 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_connect (_tmp1_, "size-changed", (GCallback) _autosave_manager_on_page_changed_page_size_changed, self); -#line 248 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp2_ = page; -#line 248 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_connect (_tmp2_, "scan-direction-changed", (GCallback) _autosave_manager_on_page_changed_page_scan_direction_changed, self); -#line 249 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp3_ = page; +#line 240 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	autosave_manager_save_pixels (self, _tmp0_); +#line 241 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	autosave_manager_save (self, FALSE); +#line 1325 "autosave-manager.c" +} + + +void autosave_manager_on_changed (AutosaveManager* self) { +#line 244 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_return_if_fail (self != NULL); +#line 246 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	autosave_manager_save (self, TRUE); +#line 1334 "autosave-manager.c" +} + + +void autosave_manager_on_cleared (AutosaveManager* self) { +	GHashTable* _tmp0_ = NULL;  #line 249 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_connect (_tmp3_, "crop-changed", (GCallback) _autosave_manager_on_page_changed_page_crop_changed, self); -#line 250 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp4_ = page; -#line 250 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_connect (_tmp4_, "scan-finished", (GCallback) _autosave_manager_on_page_changed_page_scan_finished, self); -#line 1065 "autosave-manager.c" +	g_return_if_fail (self != NULL); +#line 251 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp0_ = self->priv->page_filenames; +#line 251 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_hash_table_remove_all (_tmp0_); +#line 252 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	autosave_manager_save (self, TRUE); +#line 1348 "autosave-manager.c"  } -static void _autosave_manager_on_page_changed_page_pixels_changed (Page* _sender, gpointer self) { -#line 255 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_on_page_changed (self, _sender); -#line 1072 "autosave-manager.c" +static gboolean ___lambda2_ (AutosaveManager* self) { +	gboolean result = FALSE; +#line 269 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	autosave_manager_real_save (self); +#line 270 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	self->priv->update_timeout = (guint) 0; +#line 271 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	result = FALSE; +#line 271 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	return result; +#line 1362 "autosave-manager.c"  } -void autosave_manager_on_page_removed (AutosaveManager* self, Page* page) { -	Page* _tmp0_; +static gboolean ____lambda2__gsource_func (gpointer self) { +	gboolean result; +	result = ___lambda2_ (self); +#line 267 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	return result; +#line 1371 "autosave-manager.c" +} + + +static void autosave_manager_save (AutosaveManager* self, gboolean do_timeout) { +	gboolean _tmp0_ = FALSE;  	guint _tmp1_ = 0U; -	Page* _tmp2_; -	guint _tmp3_ = 0U; -	Page* _tmp4_; -	guint _tmp5_ = 0U; -	Page* _tmp6_; -	guint _tmp7_ = 0U; -	Page* _tmp8_; -	const gchar* _tmp9_; -	const gchar* _tmp10_ = NULL; -	gchar* _tmp11_ = NULL; -	gchar* query; -	sqlite3_stmt* stmt = NULL; -	sqlite3* _tmp12_; -	const gchar* _tmp13_; -	sqlite3_stmt* _tmp14_ = NULL; -	gint _tmp15_ = 0; -	gint _result_; -	gint _tmp16_; -	sqlite3_stmt* _tmp22_; -	GHashFunc _tmp23_; -	Page* _tmp24_; -	guint _tmp25_ = 0U; -	sqlite3_stmt* _tmp26_; -	GHashFunc _tmp27_; -	Book* _tmp28_; -	Book* _tmp29_; -	guint _tmp30_ = 0U; -	sqlite3_stmt* _tmp31_; -	gint _tmp32_; -	sqlite3_stmt* _tmp33_; -	gint _tmp34_ = 0; -	gint _tmp35_; -#line 253 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_return_if_fail (self != NULL); -#line 253 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_return_if_fail (page != NULL); -#line 255 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp0_ = page; -#line 255 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_parse_name ("pixels-changed", TYPE_PAGE, &_tmp1_, NULL, FALSE); +	gboolean _tmp3_ = FALSE; +	guint _tmp4_ = 0U; +	gboolean _tmp6_ = FALSE;  #line 255 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _autosave_manager_on_page_changed_page_pixels_changed, self); -#line 256 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp2_ = page; -#line 256 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_parse_name ("size-changed", TYPE_PAGE, &_tmp3_, NULL, FALSE); -#line 256 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _autosave_manager_on_page_changed_page_size_changed, self); +	g_return_if_fail (self != NULL);  #line 257 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp4_ = page; +	_tmp1_ = self->priv->update_timeout;  #line 257 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_parse_name ("scan-direction-changed", TYPE_PAGE, &_tmp5_, NULL, FALSE); +	if (_tmp1_ == ((guint) 0)) { +#line 1387 "autosave-manager.c" +		gboolean _tmp2_ = FALSE;  #line 257 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _autosave_manager_on_page_changed_page_scan_direction_changed, self); -#line 258 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp6_ = page; -#line 258 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_parse_name ("crop-changed", TYPE_PAGE, &_tmp7_, NULL, FALSE); +		_tmp2_ = do_timeout; +#line 257 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp0_ = _tmp2_; +#line 1393 "autosave-manager.c" +	} else { +#line 257 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp0_ = FALSE; +#line 1397 "autosave-manager.c" +	} +#line 257 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp3_ = _tmp0_; +#line 257 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	if (_tmp3_) {  #line 258 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _autosave_manager_on_page_changed_page_crop_changed, self); -#line 259 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp8_ = page; -#line 259 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_connect (_tmp8_, "scan-finished", (GCallback) _autosave_manager_on_page_changed_page_scan_finished, self); -#line 261 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp9_ = autosave_manager_PID; -#line 261 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp10_ = string_to_string (_tmp9_); +		g_debug ("autosave-manager.vala:258: Waiting to autosave..."); +#line 1405 "autosave-manager.c" +	}  #line 261 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp11_ = g_strconcat ("\n        DELETE FROM pages\n            WHERE process_id = ", _tmp10_, "\n" \ -"              AND page_hash = ?2\n" \ -"              AND book_hash = ?3\n" \ -"              AND book_revision = ?4\n" \ -"        ", NULL); +	_tmp4_ = self->priv->update_timeout;  #line 261 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	query = _tmp11_; -#line 269 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp12_ = self->priv->database_connection; -#line 269 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp13_ = query; -#line 269 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp15_ = sqlite3_prepare_v2 (_tmp12_, _tmp13_, -1, &_tmp14_, NULL); -#line 269 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_sqlite3_finalize0 (stmt); -#line 269 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	stmt = _tmp14_; -#line 269 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_result_ = _tmp15_; -#line 270 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp16_ = _result_; -#line 270 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_tmp16_ != SQLITE_OK) { -#line 1167 "autosave-manager.c" -		gint _tmp17_; -		gchar* _tmp18_ = NULL; -		gchar* _tmp19_; -		gchar* _tmp20_ = NULL; -		gchar* _tmp21_; -#line 271 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp17_ = _result_; -#line 271 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp18_ = g_strdup_printf ("%i", _tmp17_); -#line 271 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp19_ = _tmp18_; -#line 271 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp20_ = g_strconcat ("Error ", _tmp19_, " while preparing query", NULL); -#line 271 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp21_ = _tmp20_; -#line 271 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_warning ("autosave-manager.vala:271: %s", _tmp21_); -#line 271 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (_tmp21_); -#line 271 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (_tmp19_); -#line 1189 "autosave-manager.c" +	if (_tmp4_ > ((guint) 0)) { +#line 1411 "autosave-manager.c" +		guint _tmp5_ = 0U; +#line 262 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp5_ = self->priv->update_timeout; +#line 262 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_source_remove (_tmp5_); +#line 1417 "autosave-manager.c"  	} -#line 272 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp22_ = stmt; -#line 272 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp23_ = g_direct_hash; -#line 272 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp24_ = page; -#line 272 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp25_ = _tmp23_ (_tmp24_); -#line 272 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	sqlite3_bind_int64 (_tmp22_, 2, (gint64) _tmp25_); -#line 273 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp26_ = stmt; -#line 273 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp27_ = g_direct_hash; -#line 273 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp28_ = autosave_manager_get_book (self); -#line 273 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp29_ = _tmp28_; -#line 273 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp30_ = _tmp27_ (_tmp29_); -#line 273 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	sqlite3_bind_int64 (_tmp26_, 3, (gint64) _tmp30_); -#line 274 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp31_ = stmt; -#line 274 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp32_ = self->priv->cur_book_revision; -#line 274 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	sqlite3_bind_int64 (_tmp31_, 4, (gint64) _tmp32_); -#line 276 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp33_ = stmt; -#line 276 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp34_ = sqlite3_step (_tmp33_); -#line 276 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_result_ = _tmp34_; -#line 277 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp35_ = _result_; -#line 277 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_tmp35_ != SQLITE_DONE) { -#line 1229 "autosave-manager.c" -		gint _tmp36_; -#line 278 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp36_ = _result_; -#line 278 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_warning ("autosave-manager.vala:278: Error %d while executing query", _tmp36_); -#line 1235 "autosave-manager.c" +#line 263 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	self->priv->update_timeout = (guint) 0; +#line 265 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp6_ = do_timeout; +#line 265 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	if (_tmp6_) { +#line 1425 "autosave-manager.c" +		guint _tmp7_ = 0U; +#line 267 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp7_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 100, ____lambda2__gsource_func, autosave_manager_ref (self), autosave_manager_unref); +#line 267 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		self->priv->update_timeout = _tmp7_; +#line 1431 "autosave-manager.c" +	} else { +#line 275 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		autosave_manager_real_save (self); +#line 1435 "autosave-manager.c"  	} -#line 253 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_sqlite3_finalize0 (stmt); -#line 253 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (query); -#line 1241 "autosave-manager.c"  } -void autosave_manager_on_reordered (AutosaveManager* self) { -#line 281 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +static void autosave_manager_real_save (AutosaveManager* self) { +	GKeyFile* file = NULL; +	GKeyFile* _tmp0_ = NULL; +	gchar* page_names = NULL; +	gchar* _tmp1_ = NULL; +	GKeyFile* _tmp122_ = NULL; +	const gchar* _tmp123_ = NULL; +	GError * _inner_error_ = NULL; +#line 278 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	g_return_if_fail (self != NULL); -#line 1248 "autosave-manager.c" -	{ -		gint i; +#line 280 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_debug ("autosave-manager.vala:280: Autosaving book information"); +#line 282 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp0_ = g_key_file_new (); +#line 282 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	file = _tmp0_;  #line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp1_ = g_strdup (""); +#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	page_names = _tmp1_; +#line 1460 "autosave-manager.c" +	{ +		gint i = 0; +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		i = 0; -#line 1253 "autosave-manager.c" +#line 1465 "autosave-manager.c"  		{ -			gboolean _tmp0_; -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp0_ = TRUE; -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +			gboolean _tmp2_ = FALSE; +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +			_tmp2_ = TRUE; +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  			while (TRUE) { -#line 1260 "autosave-manager.c" -				gboolean _tmp1_; -				gint _tmp3_; -				Book* _tmp4_; -				Book* _tmp5_; -				guint _tmp6_ = 0U; -				Book* _tmp7_; -				Book* _tmp8_; -				gint _tmp9_; -				Page* _tmp10_ = NULL; -				Page* page; -				const gchar* _tmp11_; -				const gchar* _tmp12_ = NULL; -				gchar* _tmp13_ = NULL; -				gchar* query; -				sqlite3_stmt* stmt = NULL; -				sqlite3* _tmp14_; -				const gchar* _tmp15_; -				sqlite3_stmt* _tmp16_ = NULL; +#line 1472 "autosave-manager.c" +				gboolean _tmp3_ = FALSE; +				gint _tmp5_ = 0; +				Book* _tmp6_ = NULL; +				Book* _tmp7_ = NULL; +				guint _tmp8_ = 0U; +				guint _tmp9_ = 0U; +				Page* page = NULL; +				Book* _tmp10_ = NULL; +				Book* _tmp11_ = NULL; +				gint _tmp12_ = 0; +				Page* _tmp13_ = NULL; +				Page* _tmp14_ = NULL; +				gboolean _tmp15_ = FALSE; +				gboolean _tmp16_ = FALSE; +				gchar* page_name = NULL;  				gint _tmp17_ = 0; -				gint _result_; -				gint _tmp18_; -				sqlite3_stmt* _tmp24_; -				gint _tmp25_; -				sqlite3_stmt* _tmp26_; -				GHashFunc _tmp27_; -				Page* _tmp28_; -				guint _tmp29_ = 0U; -				sqlite3_stmt* _tmp30_; -				GHashFunc _tmp31_; -				Book* _tmp32_; -				Book* _tmp33_; -				guint _tmp34_ = 0U; -				sqlite3_stmt* _tmp35_; -				gint _tmp36_; -				sqlite3_stmt* _tmp37_; -				gint _tmp38_ = 0; -				gint _tmp39_; -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp1_ = _tmp0_; -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				if (!_tmp1_) { -#line 1302 "autosave-manager.c" -					gint _tmp2_; -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp2_ = i; -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					i = _tmp2_ + 1; -#line 1308 "autosave-manager.c" +				gchar* _tmp18_ = NULL; +				const gchar* _tmp19_ = NULL; +				const gchar* _tmp22_ = NULL; +				const gchar* _tmp23_ = NULL; +				gchar* _tmp24_ = NULL; +				const gchar* _tmp25_ = NULL; +				GKeyFile* _tmp26_ = NULL; +				const gchar* _tmp27_ = NULL; +				Page* _tmp28_ = NULL; +				gint _tmp29_ = 0; +				gint _tmp30_ = 0; +				GKeyFile* _tmp31_ = NULL; +				const gchar* _tmp32_ = NULL; +				Page* _tmp33_ = NULL; +				gint _tmp34_ = 0; +				gint _tmp35_ = 0; +				GKeyFile* _tmp36_ = NULL; +				const gchar* _tmp37_ = NULL; +				Page* _tmp38_ = NULL; +				gint _tmp39_ = 0; +				gint _tmp40_ = 0; +				GKeyFile* _tmp41_ = NULL; +				const gchar* _tmp42_ = NULL; +				Page* _tmp43_ = NULL; +				gint _tmp44_ = 0; +				gint _tmp45_ = 0; +				GKeyFile* _tmp46_ = NULL; +				const gchar* _tmp47_ = NULL; +				Page* _tmp48_ = NULL; +				gint _tmp49_ = 0; +				gint _tmp50_ = 0; +				GKeyFile* _tmp51_ = NULL; +				const gchar* _tmp52_ = NULL; +				Page* _tmp53_ = NULL; +				gint _tmp54_ = 0; +				gint _tmp55_ = 0; +				Page* _tmp56_ = NULL; +				ScanDirection _tmp57_ = 0; +				ScanDirection _tmp58_ = 0; +				gchar* _tmp67_ = NULL; +				Page* _tmp68_ = NULL; +				const gchar* _tmp69_ = NULL; +				const gchar* _tmp70_ = NULL; +				gchar* _tmp71_ = NULL; +				const gchar* _tmp72_ = NULL; +				GKeyFile* _tmp74_ = NULL; +				const gchar* _tmp75_ = NULL; +				const gchar* _tmp76_ = NULL; +				gchar* _tmp77_ = NULL; +				GHashTable* _tmp78_ = NULL; +				Page* _tmp79_ = NULL; +				gconstpointer _tmp80_ = NULL; +				gchar* _tmp81_ = NULL; +				const gchar* _tmp82_ = NULL; +				GKeyFile* _tmp84_ = NULL; +				const gchar* _tmp85_ = NULL; +				const gchar* _tmp86_ = NULL; +				GKeyFile* _tmp87_ = NULL; +				const gchar* _tmp88_ = NULL; +				Page* _tmp89_ = NULL; +				gboolean _tmp90_ = FALSE; +				gboolean _tmp91_ = FALSE; +				gchar* _tmp92_ = NULL; +				Page* _tmp93_ = NULL; +				const gchar* _tmp94_ = NULL; +				const gchar* _tmp95_ = NULL; +				gchar* _tmp96_ = NULL; +				const gchar* _tmp97_ = NULL; +				GKeyFile* _tmp99_ = NULL; +				const gchar* _tmp100_ = NULL; +				const gchar* _tmp101_ = NULL; +				GKeyFile* _tmp102_ = NULL; +				const gchar* _tmp103_ = NULL; +				Page* _tmp104_ = NULL; +				gint _tmp105_ = 0; +				gint _tmp106_ = 0; +				GKeyFile* _tmp107_ = NULL; +				const gchar* _tmp108_ = NULL; +				Page* _tmp109_ = NULL; +				gint _tmp110_ = 0; +				gint _tmp111_ = 0; +				GKeyFile* _tmp112_ = NULL; +				const gchar* _tmp113_ = NULL; +				Page* _tmp114_ = NULL; +				gint _tmp115_ = 0; +				gint _tmp116_ = 0; +				GKeyFile* _tmp117_ = NULL; +				const gchar* _tmp118_ = NULL; +				Page* _tmp119_ = NULL; +				gint _tmp120_ = 0; +				gint _tmp121_ = 0; +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp3_ = _tmp2_; +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				if (!_tmp3_) { +#line 1584 "autosave-manager.c" +					gint _tmp4_ = 0; +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp4_ = i; +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					i = _tmp4_ + 1; +#line 1590 "autosave-manager.c"  				} -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp0_ = FALSE; -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp3_ = i; -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp4_ = autosave_manager_get_book (self); -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp5_ = _tmp4_; -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp6_ = book_get_n_pages (_tmp5_); -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				if (!(((guint) _tmp3_) < _tmp6_)) { -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp2_ = FALSE; +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp5_ = i; +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp6_ = autosave_manager_get_book (self); +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp7_ = _tmp6_; +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp8_ = book_get_n_pages (_tmp7_); +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp9_ = _tmp8_; +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				if (!(((guint) _tmp5_) < _tmp9_)) { +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  					break; -#line 1324 "autosave-manager.c" +#line 1608 "autosave-manager.c"  				} -#line 285 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp7_ = autosave_manager_get_book (self); -#line 285 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp8_ = _tmp7_; -#line 285 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp9_ = i; -#line 285 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp10_ = book_get_page (_tmp8_, _tmp9_); -#line 285 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				page = _tmp10_;  #line 286 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp11_ = autosave_manager_PID; +				_tmp10_ = autosave_manager_get_book (self);  #line 286 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp12_ = string_to_string (_tmp11_); +				_tmp11_ = _tmp10_;  #line 286 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp13_ = g_strconcat ("\n" \ -"            UPDATE pages SET page_number = ?5\n" \ -"            WHERE process_id = ", _tmp12_, "\n" \ -"              AND page_hash = ?2\n" \ -"              AND book_hash = ?3\n" \ -"              AND book_revision = ?4\n" \ -"            ", NULL); +				_tmp12_ = i;  #line 286 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				query = _tmp13_; -#line 294 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp14_ = self->priv->database_connection; -#line 294 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp15_ = query; +				_tmp13_ = book_get_page (_tmp11_, _tmp12_); +#line 286 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				page = _tmp13_; +#line 289 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp14_ = page; +#line 289 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp15_ = page_get_has_data (_tmp14_); +#line 289 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp16_ = _tmp15_; +#line 289 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				if (!_tmp16_) { +#line 290 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_page_unref0 (page); +#line 290 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					continue; +#line 1632 "autosave-manager.c" +				} +#line 292 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp17_ = i; +#line 292 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp18_ = g_strdup_printf ("page-%d", _tmp17_); +#line 292 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				page_name = _tmp18_; +#line 293 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp19_ = page_names; +#line 293 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				if (g_strcmp0 (_tmp19_, "") != 0) { +#line 1644 "autosave-manager.c" +					const gchar* _tmp20_ = NULL; +					gchar* _tmp21_ = NULL;  #line 294 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp17_ = sqlite3_prepare_v2 (_tmp14_, _tmp15_, -1, &_tmp16_, NULL); +					_tmp20_ = page_names;  #line 294 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_sqlite3_finalize0 (stmt); +					_tmp21_ = g_strconcat (_tmp20_, " ", NULL);  #line 294 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				stmt = _tmp16_; +					_g_free0 (page_names);  #line 294 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_result_ = _tmp17_; +					page_names = _tmp21_; +#line 1655 "autosave-manager.c" +				}  #line 295 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp18_ = _result_; +				_tmp22_ = page_names;  #line 295 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				if (_tmp18_ != SQLITE_OK) { -#line 1360 "autosave-manager.c" -					gint _tmp19_; -					gchar* _tmp20_ = NULL; -					gchar* _tmp21_; -					gchar* _tmp22_ = NULL; -					gchar* _tmp23_; -#line 296 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp19_ = _result_; -#line 296 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp20_ = g_strdup_printf ("%i", _tmp19_); -#line 296 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp21_ = _tmp20_; -#line 296 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp22_ = g_strconcat ("Error ", _tmp21_, " while preparing query", NULL); -#line 296 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp23_ = _tmp22_; -#line 296 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					g_warning ("autosave-manager.vala:296: %s", _tmp23_); -#line 296 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_g_free0 (_tmp23_); -#line 296 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_g_free0 (_tmp21_); -#line 1382 "autosave-manager.c" -				} -#line 298 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp24_ = stmt; -#line 298 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp25_ = i; -#line 298 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				sqlite3_bind_int64 (_tmp24_, 5, (gint64) _tmp25_); +				_tmp23_ = page_name; +#line 295 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp24_ = g_strconcat (_tmp22_, _tmp23_, NULL); +#line 295 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_g_free0 (page_names); +#line 295 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				page_names = _tmp24_; +#line 297 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp25_ = page_name; +#line 297 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_debug ("autosave-manager.vala:297: Autosaving page %s", _tmp25_);  #line 299 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp26_ = stmt; +				_tmp26_ = file;  #line 299 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp27_ = g_direct_hash; +				_tmp27_ = page_name;  #line 299 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  				_tmp28_ = page;  #line 299 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp29_ = _tmp27_ (_tmp28_); +				_tmp29_ = page_get_scan_width (_tmp28_);  #line 299 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				sqlite3_bind_int64 (_tmp26_, 2, (gint64) _tmp29_); +				_tmp30_ = _tmp29_; +#line 299 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_key_file_set_integer (_tmp26_, _tmp27_, "scan-width", _tmp30_);  #line 300 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp30_ = stmt; +				_tmp31_ = file;  #line 300 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp31_ = g_direct_hash; +				_tmp32_ = page_name;  #line 300 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp32_ = autosave_manager_get_book (self); +				_tmp33_ = page;  #line 300 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp33_ = _tmp32_; +				_tmp34_ = page_get_scan_height (_tmp33_);  #line 300 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp34_ = _tmp31_ (_tmp33_); +				_tmp35_ = _tmp34_;  #line 300 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				sqlite3_bind_int64 (_tmp30_, 3, (gint64) _tmp34_); +				g_key_file_set_integer (_tmp31_, _tmp32_, "scan-height", _tmp35_); +#line 301 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp36_ = file;  #line 301 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp35_ = stmt; +				_tmp37_ = page_name;  #line 301 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp36_ = self->priv->cur_book_revision; +				_tmp38_ = page;  #line 301 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				sqlite3_bind_int64 (_tmp35_, 4, (gint64) _tmp36_); +				_tmp39_ = page_get_rowstride (_tmp38_); +#line 301 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp40_ = _tmp39_; +#line 301 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_key_file_set_integer (_tmp36_, _tmp37_, "rowstride", _tmp40_); +#line 302 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp41_ = file; +#line 302 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp42_ = page_name; +#line 302 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp43_ = page; +#line 302 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp44_ = page_get_n_channels (_tmp43_); +#line 302 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp45_ = _tmp44_; +#line 302 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_key_file_set_integer (_tmp41_, _tmp42_, "n-channels", _tmp45_); +#line 303 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp46_ = file; +#line 303 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp47_ = page_name;  #line 303 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp37_ = stmt; +				_tmp48_ = page;  #line 303 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp38_ = sqlite3_step (_tmp37_); +				_tmp49_ = page_get_depth (_tmp48_);  #line 303 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_result_ = _tmp38_; +				_tmp50_ = _tmp49_; +#line 303 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_key_file_set_integer (_tmp46_, _tmp47_, "depth", _tmp50_); +#line 304 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp51_ = file; +#line 304 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp52_ = page_name; +#line 304 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp53_ = page;  #line 304 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp39_ = _result_; +				_tmp54_ = page_get_dpi (_tmp53_);  #line 304 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				if (_tmp39_ != SQLITE_DONE) { -#line 1428 "autosave-manager.c" -					gint _tmp40_; +				_tmp55_ = _tmp54_; +#line 304 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_key_file_set_integer (_tmp51_, _tmp52_, "dpi", _tmp55_);  #line 305 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp40_ = _result_; +				_tmp56_ = page;  #line 305 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					g_warning ("autosave-manager.vala:305: Error %d while executing query", _tmp40_); -#line 1434 "autosave-manager.c" -				} -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_sqlite3_finalize0 (stmt); -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_g_free0 (query); -#line 283 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_page_unref0 (page); -#line 1442 "autosave-manager.c" -			} -		} -	} -} - - -void autosave_manager_on_page_changed (AutosaveManager* self, Page* page) { -	Page* _tmp0_; -#line 309 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_return_if_fail (self != NULL); +				_tmp57_ = page_get_scan_direction (_tmp56_); +#line 305 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp58_ = _tmp57_; +#line 305 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				switch (_tmp58_) { +#line 305 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					case SCAN_DIRECTION_TOP_TO_BOTTOM: +#line 1753 "autosave-manager.c" +					{ +						GKeyFile* _tmp59_ = NULL; +						const gchar* _tmp60_ = NULL; +#line 308 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_tmp59_ = file; +#line 308 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_tmp60_ = page_name; +#line 308 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						g_key_file_set_value (_tmp59_, _tmp60_, "scan-direction", "TOP_TO_BOTTOM");  #line 309 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_return_if_fail (page != NULL); +						break; +#line 1765 "autosave-manager.c" +					} +#line 305 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					case SCAN_DIRECTION_LEFT_TO_RIGHT: +#line 1769 "autosave-manager.c" +					{ +						GKeyFile* _tmp61_ = NULL; +						const gchar* _tmp62_ = NULL;  #line 311 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp0_ = page; +						_tmp61_ = file;  #line 311 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_update_page (self, _tmp0_); -#line 1459 "autosave-manager.c" -} - - -void autosave_manager_on_needs_saving_changed (AutosaveManager* self, Book* book) { +						_tmp62_ = page_name; +#line 311 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						g_key_file_set_value (_tmp61_, _tmp62_, "scan-direction", "LEFT_TO_RIGHT"); +#line 312 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						break; +#line 1781 "autosave-manager.c" +					} +#line 305 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					case SCAN_DIRECTION_BOTTOM_TO_TOP: +#line 1785 "autosave-manager.c" +					{ +						GKeyFile* _tmp63_ = NULL; +						const gchar* _tmp64_ = NULL;  #line 314 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_return_if_fail (self != NULL); +						_tmp63_ = file;  #line 314 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_return_if_fail (book != NULL); -#line 1468 "autosave-manager.c" -	{ -		gint n; -#line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		n = 0; -#line 1473 "autosave-manager.c" -		{ -			gboolean _tmp0_; -#line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp0_ = TRUE; -#line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			while (TRUE) { -#line 1480 "autosave-manager.c" -				gboolean _tmp1_; -				gint _tmp3_; -				Book* _tmp4_; -				guint _tmp5_ = 0U; -				Book* _tmp6_; -				gint _tmp7_; -				Page* _tmp8_ = NULL; -				Page* page; -				Page* _tmp9_; -#line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp1_ = _tmp0_; -#line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				if (!_tmp1_) { -#line 1494 "autosave-manager.c" -					gint _tmp2_; -#line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp2_ = n; -#line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					n = _tmp2_ + 1; -#line 1500 "autosave-manager.c" -				} -#line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp0_ = FALSE; -#line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp3_ = n; -#line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp4_ = book; -#line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp5_ = book_get_n_pages (_tmp4_); -#line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				if (!(((guint) _tmp3_) < _tmp5_)) { -#line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_tmp64_ = page_name; +#line 314 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						g_key_file_set_value (_tmp63_, _tmp64_, "scan-direction", "BOTTOM_TO_TOP"); +#line 315 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						break; +#line 1797 "autosave-manager.c" +					} +#line 305 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					case SCAN_DIRECTION_RIGHT_TO_LEFT: +#line 1801 "autosave-manager.c" +					{ +						GKeyFile* _tmp65_ = NULL; +						const gchar* _tmp66_ = NULL; +#line 317 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_tmp65_ = file; +#line 317 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						_tmp66_ = page_name; +#line 317 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						g_key_file_set_value (_tmp65_, _tmp66_, "scan-direction", "RIGHT_TO_LEFT"); +#line 318 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +						break; +#line 1813 "autosave-manager.c" +					} +					default: +#line 305 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  					break; -#line 1514 "autosave-manager.c" +#line 1818 "autosave-manager.c"  				} -#line 318 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp6_ = book; -#line 318 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp7_ = n; -#line 318 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp8_ = book_get_page (_tmp6_, _tmp7_); -#line 318 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				page = _tmp8_; -#line 319 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp9_ = page; -#line 319 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				autosave_manager_update_page (self, _tmp9_); -#line 316 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 320 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp68_ = page; +#line 320 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp69_ = page_get_color_profile (_tmp68_); +#line 320 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp70_ = _tmp69_; +#line 320 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp71_ = g_strdup (_tmp70_); +#line 320 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp67_ = _tmp71_; +#line 320 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp72_ = _tmp67_; +#line 320 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				if (_tmp72_ == NULL) { +#line 1834 "autosave-manager.c" +					gchar* _tmp73_ = NULL; +#line 320 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp73_ = g_strdup (""); +#line 320 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_g_free0 (_tmp67_); +#line 320 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp67_ = _tmp73_; +#line 1842 "autosave-manager.c" +				} +#line 320 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp74_ = file; +#line 320 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp75_ = page_name; +#line 320 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp76_ = _tmp67_; +#line 320 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_key_file_set_value (_tmp74_, _tmp75_, "color-profile", _tmp76_); +#line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp78_ = self->priv->page_filenames; +#line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp79_ = page; +#line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp80_ = g_hash_table_lookup (_tmp78_, _tmp79_); +#line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp81_ = g_strdup ((const gchar*) _tmp80_); +#line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp77_ = _tmp81_; +#line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp82_ = _tmp77_; +#line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				if (_tmp82_ == NULL) { +#line 1866 "autosave-manager.c" +					gchar* _tmp83_ = NULL; +#line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp83_ = g_strdup (""); +#line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_g_free0 (_tmp77_); +#line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp77_ = _tmp83_; +#line 1874 "autosave-manager.c" +				} +#line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp84_ = file; +#line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp85_ = page_name; +#line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp86_ = _tmp77_; +#line 321 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_key_file_set_value (_tmp84_, _tmp85_, "pixels-filename", _tmp86_); +#line 322 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp87_ = file; +#line 322 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp88_ = page_name; +#line 322 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp89_ = page; +#line 322 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp90_ = page_get_has_crop (_tmp89_); +#line 322 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp91_ = _tmp90_; +#line 322 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_key_file_set_boolean (_tmp87_, _tmp88_, "has-crop", _tmp91_); +#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp93_ = page; +#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp94_ = page_get_crop_name (_tmp93_); +#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp95_ = _tmp94_; +#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp96_ = g_strdup (_tmp95_); +#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp92_ = _tmp96_; +#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp97_ = _tmp92_; +#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				if (_tmp97_ == NULL) { +#line 1910 "autosave-manager.c" +					gchar* _tmp98_ = NULL; +#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp98_ = g_strdup (""); +#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_g_free0 (_tmp92_); +#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp92_ = _tmp98_; +#line 1918 "autosave-manager.c" +				} +#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp99_ = file; +#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp100_ = page_name; +#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp101_ = _tmp92_; +#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_key_file_set_value (_tmp99_, _tmp100_, "crop-name", _tmp101_); +#line 324 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp102_ = file; +#line 324 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp103_ = page_name; +#line 324 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp104_ = page; +#line 324 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp105_ = page_get_crop_x (_tmp104_); +#line 324 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp106_ = _tmp105_; +#line 324 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_key_file_set_integer (_tmp102_, _tmp103_, "crop-x", _tmp106_); +#line 325 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp107_ = file; +#line 325 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp108_ = page_name; +#line 325 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp109_ = page; +#line 325 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp110_ = page_get_crop_y (_tmp109_); +#line 325 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp111_ = _tmp110_; +#line 325 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_key_file_set_integer (_tmp107_, _tmp108_, "crop-y", _tmp111_); +#line 326 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp112_ = file; +#line 326 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp113_ = page_name; +#line 326 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp114_ = page; +#line 326 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp115_ = page_get_crop_width (_tmp114_); +#line 326 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp116_ = _tmp115_; +#line 326 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_key_file_set_integer (_tmp112_, _tmp113_, "crop-width", _tmp116_); +#line 327 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp117_ = file; +#line 327 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp118_ = page_name; +#line 327 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp119_ = page; +#line 327 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp120_ = page_get_crop_height (_tmp119_); +#line 327 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp121_ = _tmp120_; +#line 327 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				g_key_file_set_integer (_tmp117_, _tmp118_, "crop-height", _tmp121_); +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_g_free0 (_tmp92_); +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_g_free0 (_tmp77_); +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_g_free0 (_tmp67_); +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_g_free0 (page_name); +#line 284 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  				_page_unref0 (page); -#line 1530 "autosave-manager.c" +#line 1986 "autosave-manager.c"  			}  		}  	} +#line 329 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp122_ = file; +#line 329 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp123_ = page_names; +#line 329 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_key_file_set_value (_tmp122_, "simple-scan", "pages", _tmp123_); +#line 1996 "autosave-manager.c" +	{ +		const gchar* _tmp124_ = NULL; +		const gchar* _tmp125_ = NULL; +		GKeyFile* _tmp126_ = NULL; +		gchar* _tmp127_ = NULL; +		gchar* _tmp128_ = NULL; +#line 333 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp124_ = autosave_manager_AUTOSAVE_DIR; +#line 333 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_mkdir_with_parents (_tmp124_, 0777); +#line 334 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp125_ = autosave_manager_AUTOSAVE_PATH; +#line 334 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp126_ = file; +#line 334 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp127_ = g_key_file_to_data (_tmp126_, NULL, NULL); +#line 334 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp128_ = _tmp127_; +#line 334 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_file_set_contents (_tmp125_, _tmp128_, (gssize) (-1), &_inner_error_); +#line 334 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_free0 (_tmp128_); +#line 334 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		if (_inner_error_ != NULL) { +#line 2021 "autosave-manager.c" +			goto __catch34_g_error; +		} +	} +	goto __finally34; +	__catch34_g_error: +	{ +		GError* e = NULL; +		GError* _tmp129_ = NULL; +		const gchar* _tmp130_ = NULL; +#line 331 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		e = _inner_error_; +#line 331 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_inner_error_ = NULL; +#line 338 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp129_ = e; +#line 338 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp130_ = _tmp129_->message; +#line 338 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_warning ("autosave-manager.vala:338: Failed to write autosave: %s", _tmp130_); +#line 331 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_error_free0 (e); +#line 2043 "autosave-manager.c" +	} +	__finally34: +#line 331 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	if (_inner_error_ != NULL) { +#line 331 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_free0 (page_names); +#line 331 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_key_file_unref0 (file); +#line 331 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		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); +#line 331 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_clear_error (&_inner_error_); +#line 331 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		return; +#line 2058 "autosave-manager.c" +	} +#line 278 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_g_free0 (page_names); +#line 278 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_g_key_file_unref0 (file); +#line 2064 "autosave-manager.c"  } -void autosave_manager_on_cleared (AutosaveManager* self) { -	gint _tmp0_; -#line 325 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_return_if_fail (self != NULL); -#line 327 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp0_ = self->priv->cur_book_revision; -#line 327 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	self->priv->cur_book_revision = _tmp0_ + 1; -#line 1545 "autosave-manager.c" -} - - -static void autosave_manager_insert_page (AutosaveManager* self, Page* page) { -	const gchar* _tmp0_; -	const gchar* _tmp1_ = NULL; -	gchar* _tmp2_ = NULL; -	gchar* query; -	sqlite3_stmt* stmt = NULL; -	sqlite3* _tmp3_; -	const gchar* _tmp4_; -	sqlite3_stmt* _tmp5_ = NULL; -	gint _tmp6_ = 0; -	gint _result_; -	gint _tmp7_; -	sqlite3_stmt* _tmp13_; -	GHashFunc _tmp14_; -	Page* _tmp15_; -	guint _tmp16_ = 0U; -	sqlite3_stmt* _tmp17_; -	GHashFunc _tmp18_; -	Book* _tmp19_; -	Book* _tmp20_; -	guint _tmp21_ = 0U; -	sqlite3_stmt* _tmp22_; -	gint _tmp23_; -	sqlite3_stmt* _tmp24_; -	gint _tmp25_ = 0; -	gint _tmp26_; -	Page* _tmp28_; -#line 330 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +static void autosave_manager_save_pixels (AutosaveManager* self, Page* page) { +	gchar* filename = NULL; +	GHashFunc _tmp0_ = NULL; +	Page* _tmp1_ = NULL; +	guint _tmp2_ = 0U; +	gchar* _tmp3_ = NULL; +	gchar* path = NULL; +	const gchar* _tmp4_ = NULL; +	gchar* _tmp5_ = NULL; +	GHashTable* _tmp6_ = NULL; +	Page* _tmp7_ = NULL; +	Page* _tmp8_ = NULL; +	gchar* _tmp9_ = NULL; +	GFile* file = NULL; +	GFile* _tmp10_ = NULL; +	GError * _inner_error_ = NULL; +#line 342 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	g_return_if_fail (self != NULL); -#line 330 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 342 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	g_return_if_fail (page != NULL); -#line 332 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_debug ("autosave-manager.vala:332: Adding an autosave for a new page"); -#line 333 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp0_ = autosave_manager_PID; -#line 333 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp1_ = string_to_string (_tmp0_); -#line 333 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp2_ = g_strconcat ("\n" \ -"            INSERT INTO pages\n" \ -"                (process_id,\n" \ -"                page_hash,\n" \ -"                book_hash,\n" \ -"                book_revision)\n" \ -"                VALUES\n" \ -"                (", _tmp1_, ",\n" \ -"                ?2,\n" \ -"                ?3,\n" \ -"                ?4)\n" \ -"        ", NULL); -#line 333 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	query = _tmp2_; -#line 346 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp3_ = self->priv->database_connection; +#line 344 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp0_ = g_direct_hash; +#line 344 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp1_ = page; +#line 344 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp2_ = _tmp0_ (_tmp1_); +#line 344 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp3_ = g_strdup_printf ("%u.pixels", _tmp2_); +#line 344 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	filename = _tmp3_; +#line 345 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp4_ = autosave_manager_AUTOSAVE_DIR; +#line 345 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp5_ = g_build_filename (_tmp4_, filename, NULL); +#line 345 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	path = _tmp5_;  #line 346 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp4_ = query; +	_tmp6_ = self->priv->page_filenames;  #line 346 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp6_ = sqlite3_prepare_v2 (_tmp3_, _tmp4_, -1, &_tmp5_, NULL); +	_tmp7_ = page;  #line 346 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_sqlite3_finalize0 (stmt); +	_tmp8_ = _page_ref0 (_tmp7_);  #line 346 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	stmt = _tmp5_; +	_tmp9_ = g_strdup (filename);  #line 346 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_result_ = _tmp6_; -#line 347 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp7_ = _result_; -#line 347 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_tmp7_ != SQLITE_OK) { -#line 1606 "autosave-manager.c" -		gint _tmp8_; -		gchar* _tmp9_ = NULL; -		gchar* _tmp10_; -		gchar* _tmp11_ = NULL; -		gchar* _tmp12_; -#line 348 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp8_ = _result_; -#line 348 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp9_ = g_strdup_printf ("%i", _tmp8_); -#line 348 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp10_ = _tmp9_; -#line 348 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp11_ = g_strconcat ("Error ", _tmp10_, " while preparing query", NULL); -#line 348 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp12_ = _tmp11_; +	g_hash_table_insert (_tmp6_, _tmp8_, _tmp9_);  #line 348 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_warning ("autosave-manager.vala:348: %s", _tmp12_); -#line 348 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (_tmp12_); -#line 348 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (_tmp10_); -#line 1628 "autosave-manager.c" -	} -#line 350 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp13_ = stmt; +	g_debug ("autosave-manager.vala:348: Autosaving page pixels to %s", path);  #line 350 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp14_ = g_direct_hash; +	_tmp10_ = g_file_new_for_path (path);  #line 350 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp15_ = page; -#line 350 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp16_ = _tmp14_ (_tmp15_); -#line 350 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	sqlite3_bind_int64 (_tmp13_, 2, (gint64) _tmp16_); +	file = _tmp10_; +#line 2120 "autosave-manager.c" +	{ +		Page* _tmp11_ = NULL; +		gint _tmp12_ = 0; +		guchar* _tmp13_ = NULL; +#line 353 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp11_ = page; +#line 353 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp13_ = page_get_pixels (_tmp11_, &_tmp12_); +#line 353 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_file_replace_contents (file, _tmp13_, (gsize) _tmp12_, NULL, FALSE, G_FILE_CREATE_NONE, NULL, NULL, &_inner_error_); +#line 353 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		if (_inner_error_ != NULL) { +#line 2133 "autosave-manager.c" +			goto __catch35_g_error; +		} +	} +	goto __finally35; +	__catch35_g_error: +	{ +		GError* e = NULL; +		GError* _tmp14_ = NULL; +		const gchar* _tmp15_ = NULL;  #line 351 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp17_ = stmt; +		e = _inner_error_;  #line 351 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp18_ = g_direct_hash; +		_inner_error_ = NULL; +#line 357 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp14_ = e; +#line 357 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp15_ = _tmp14_->message; +#line 357 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_warning ("autosave-manager.vala:357: Failed to autosave page contents: %s", _tmp15_);  #line 351 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp19_ = autosave_manager_get_book (self); +		_g_error_free0 (e); +#line 2155 "autosave-manager.c" +	} +	__finally35:  #line 351 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp20_ = _tmp19_; +	if (_inner_error_ != NULL) {  #line 351 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp21_ = _tmp18_ (_tmp20_); +		_g_object_unref0 (file); +#line 351 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_free0 (path); +#line 351 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_g_free0 (filename); +#line 351 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		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); +#line 351 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_clear_error (&_inner_error_);  #line 351 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	sqlite3_bind_int64 (_tmp17_, 3, (gint64) _tmp21_); -#line 352 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp22_ = stmt; -#line 352 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp23_ = self->priv->cur_book_revision; -#line 352 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	sqlite3_bind_int64 (_tmp22_, 4, (gint64) _tmp23_); -#line 354 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp24_ = stmt; -#line 354 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp25_ = sqlite3_step (_tmp24_); -#line 354 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_result_ = _tmp25_; -#line 355 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp26_ = _result_; -#line 355 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_tmp26_ != SQLITE_DONE) { -#line 1668 "autosave-manager.c" -		gint _tmp27_; -#line 356 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp27_ = _result_; -#line 356 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_warning ("autosave-manager.vala:356: Error %d while executing query", _tmp27_); -#line 1674 "autosave-manager.c" -	} -#line 358 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp28_ = page; -#line 358 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_update_page (self, _tmp28_); -#line 330 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_sqlite3_finalize0 (stmt); -#line 330 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (query); -#line 1684 "autosave-manager.c" -} - - -static gpointer _page_ref0 (gpointer self) { -#line 363 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	return self ? page_ref (self) : NULL; -#line 1691 "autosave-manager.c" -} - - -static gboolean __lambda2_ (AutosaveManager* self) { -	gboolean result = FALSE; -	GHashTable* _tmp0_; -	GHashTableIter iter = {0}; -	Page* p = NULL; -	gboolean is_dirty = FALSE; -	GHashTable* _tmp6_; -#line 368 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp0_ = self->priv->dirty_pages; -#line 368 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_hash_table_iter_init (&iter, _tmp0_); -#line 371 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	while (TRUE) { -#line 1708 "autosave-manager.c" -		gconstpointer _tmp1_ = NULL; -		gconstpointer _tmp2_ = NULL; -		gboolean _tmp3_ = FALSE; -		Page* _tmp4_; -		Page* _tmp5_; -#line 371 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp3_ = g_hash_table_iter_next (&iter, &_tmp1_, &_tmp2_); -#line 371 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_page_unref0 (p); -#line 371 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp4_ = _page_ref0 (_tmp1_); -#line 371 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		p = _tmp4_; -#line 371 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		is_dirty = _tmp2_; -#line 371 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		if (!_tmp3_) { -#line 371 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			break; -#line 1728 "autosave-manager.c" -		} -#line 372 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp5_ = p; -#line 372 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		autosave_manager_real_update_page (self, _tmp5_); -#line 1734 "autosave-manager.c" -	} -#line 374 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp6_ = self->priv->dirty_pages; -#line 374 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_hash_table_remove_all (_tmp6_); -#line 375 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	self->priv->update_timeout = (guint) 0; -#line 377 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	result = FALSE; -#line 377 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_page_unref0 (p); -#line 377 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	return result; -#line 1748 "autosave-manager.c" -} - - -static gboolean ___lambda2__gsource_func (gpointer self) { -	gboolean result; -	result = __lambda2_ (self); -#line 366 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	return result; -#line 1757 "autosave-manager.c" -} - - -static void autosave_manager_update_page (AutosaveManager* self, Page* page) { -	GHashTable* _tmp0_; -	Page* _tmp1_; -	Page* _tmp2_; -	guint _tmp3_; -	guint _tmp5_ = 0U; -#line 361 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_return_if_fail (self != NULL); -#line 361 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_return_if_fail (page != NULL); -#line 363 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp0_ = self->priv->dirty_pages; -#line 363 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp1_ = page; -#line 363 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp2_ = _page_ref0 (_tmp1_); -#line 363 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_hash_table_insert (_tmp0_, _tmp2_, (gpointer) ((gintptr) TRUE)); -#line 364 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp3_ = self->priv->update_timeout; -#line 364 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_tmp3_ > ((guint) 0)) { -#line 1783 "autosave-manager.c" -		guint _tmp4_; -#line 365 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp4_ = self->priv->update_timeout; -#line 365 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_source_remove (_tmp4_); -#line 1789 "autosave-manager.c" -	} -#line 366 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp5_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 100, ___lambda2__gsource_func, autosave_manager_ref (self), autosave_manager_unref); -#line 366 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	self->priv->update_timeout = _tmp5_; -#line 1795 "autosave-manager.c" -} - - -static void autosave_manager_real_update_page (AutosaveManager* self, Page* page) { -	gint crop_x = 0; -	gint crop_y = 0; -	gint crop_width = 0; -	gint crop_height = 0; -	Page* _tmp0_; -	gint _tmp1_ = 0; -	gint _tmp2_ = 0; -	gint _tmp3_ = 0; -	gint _tmp4_ = 0; -	sqlite3_stmt* stmt = NULL; -	Book* _tmp5_; -	Book* _tmp6_; -	Page* _tmp7_; -	guint _tmp8_ = 0U; -	gchar* _tmp9_ = NULL; -	gchar* _tmp10_; -	Page* _tmp11_; -	gint _tmp12_ = 0; -	gchar* _tmp13_ = NULL; -	gchar* _tmp14_; -	Page* _tmp15_; -	gint _tmp16_ = 0; -	gchar* _tmp17_ = NULL; -	gchar* _tmp18_; -	Page* _tmp19_; -	gint _tmp20_ = 0; -	gchar* _tmp21_ = NULL; -	gchar* _tmp22_; -	Page* _tmp23_; -	gint _tmp24_ = 0; -	gchar* _tmp25_ = NULL; -	gchar* _tmp26_; -	Page* _tmp27_; -	gint _tmp28_ = 0; -	gchar* _tmp29_ = NULL; -	gchar* _tmp30_; -	Page* _tmp31_; -	gint _tmp32_ = 0; -	gchar* _tmp33_ = NULL; -	gchar* _tmp34_; -	gint _tmp35_; -	gchar* _tmp36_ = NULL; -	gchar* _tmp37_; -	gint _tmp38_; -	gchar* _tmp39_ = NULL; -	gchar* _tmp40_; -	gint _tmp41_; -	gchar* _tmp42_ = NULL; -	gchar* _tmp43_; -	gint _tmp44_; -	gchar* _tmp45_ = NULL; -	gchar* _tmp46_; -	Page* _tmp47_; -	ScanDirection _tmp48_ = 0; -	gchar* _tmp49_ = NULL; -	gchar* _tmp50_; -	const gchar* _tmp51_; -	const gchar* _tmp52_ = NULL; -	gchar* _tmp53_ = NULL; -	gchar* _tmp54_; -	gchar* query; -	sqlite3* _tmp55_; -	const gchar* _tmp56_; -	sqlite3_stmt* _tmp57_ = NULL; -	gint _tmp58_ = 0; -	gint _result_; -	gint _tmp59_; -	sqlite3_stmt* _tmp61_; -	GHashFunc _tmp62_; -	Page* _tmp63_; -	guint _tmp64_ = 0U; -	sqlite3_stmt* _tmp65_; -	GHashFunc _tmp66_; -	Book* _tmp67_; -	Book* _tmp68_; -	guint _tmp69_ = 0U; -	sqlite3_stmt* _tmp70_; -	gint _tmp71_; -	Page* _tmp72_; -	gchar* _tmp73_ = NULL; -	gchar* _tmp74_; -	const gchar* _tmp75_; -	sqlite3_stmt* _tmp77_; -	const gchar* _tmp78_; -	gchar* _tmp79_; -	GDestroyNotify _tmp80_; -	gint _tmp81_ = 0; -	gint _tmp82_; -	Page* _tmp84_; -	gint _tmp85_ = 0; -	guchar* _tmp86_ = NULL; -	sqlite3_stmt* _tmp99_; -	gint _tmp100_ = 0; -#line 381 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_return_if_fail (self != NULL); -#line 381 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_return_if_fail (page != NULL); -#line 383 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_debug ("autosave-manager.vala:383: Updating the autosave for a page"); -#line 389 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp0_ = page; -#line 389 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	page_get_crop (_tmp0_, &_tmp1_, &_tmp2_, &_tmp3_, &_tmp4_); -#line 389 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	crop_x = _tmp1_; -#line 389 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	crop_y = _tmp2_; -#line 389 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	crop_width = _tmp3_; -#line 389 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	crop_height = _tmp4_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp5_ = autosave_manager_get_book (self); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp6_ = _tmp5_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp7_ = page; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp8_ = book_get_page_index (_tmp6_, _tmp7_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp9_ = g_strdup_printf ("%u", _tmp8_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp10_ = _tmp9_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp11_ = page; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp12_ = page_get_dpi (_tmp11_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp13_ = g_strdup_printf ("%i", _tmp12_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp14_ = _tmp13_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp15_ = page; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp16_ = page_get_width (_tmp15_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp17_ = g_strdup_printf ("%i", _tmp16_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp18_ = _tmp17_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp19_ = page; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp20_ = page_get_height (_tmp19_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp21_ = g_strdup_printf ("%i", _tmp20_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp22_ = _tmp21_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp23_ = page; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp24_ = page_get_depth (_tmp23_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp25_ = g_strdup_printf ("%i", _tmp24_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp26_ = _tmp25_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp27_ = page; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp28_ = page_get_n_channels (_tmp27_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp29_ = g_strdup_printf ("%i", _tmp28_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp30_ = _tmp29_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp31_ = page; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp32_ = page_get_rowstride (_tmp31_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp33_ = g_strdup_printf ("%i", _tmp32_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp34_ = _tmp33_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp35_ = crop_x; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp36_ = g_strdup_printf ("%i", _tmp35_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp37_ = _tmp36_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp38_ = crop_y; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp39_ = g_strdup_printf ("%i", _tmp38_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp40_ = _tmp39_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp41_ = crop_width; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp42_ = g_strdup_printf ("%i", _tmp41_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp43_ = _tmp42_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp44_ = crop_height; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp45_ = g_strdup_printf ("%i", _tmp44_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp46_ = _tmp45_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp47_ = page; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp48_ = page_get_scan_direction (_tmp47_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp49_ = g_strdup_printf ("%i", (gint) _tmp48_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp50_ = _tmp49_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp51_ = autosave_manager_PID; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp52_ = string_to_string (_tmp51_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp53_ = g_strconcat ("\n" \ -"            UPDATE pages\n" \ -"                SET\n" \ -"                page_number=", _tmp10_, ",\n                dpi=", _tmp14_, ",\n                width=", _tmp18_, ",\n                height=", _tmp22_, ",\n                depth=", _tmp26_, ",\n                n_channels=", _tmp30_, ",\n                rowstride=", _tmp34_, ",\n                crop_x=", _tmp37_, ",\n                crop_y=", _tmp40_, ",\n                crop_width=", _tmp43_, ",\n                crop_height=", _tmp46_, ",\n                scan_direction=", _tmp50_, ",\n" \ -"                color_profile=?1,\n" \ -"                pixels=?2\n" \ -"                WHERE process_id = ", _tmp52_, "\n" \ -"                  AND page_hash = ?4\n" \ -"                  AND book_hash = ?5\n" \ -"                  AND book_revision = ?6\n" \ -"            ", NULL); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp54_ = _tmp53_; -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (_tmp50_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (_tmp46_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (_tmp43_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (_tmp40_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (_tmp37_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (_tmp34_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (_tmp30_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (_tmp26_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (_tmp22_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (_tmp18_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (_tmp14_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (_tmp10_); -#line 392 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	query = _tmp54_; -#line 415 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp55_ = self->priv->database_connection; -#line 415 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp56_ = query; -#line 415 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp58_ = sqlite3_prepare_v2 (_tmp55_, _tmp56_, -1, &_tmp57_, NULL); -#line 415 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_sqlite3_finalize0 (stmt); -#line 415 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	stmt = _tmp57_; -#line 415 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_result_ = _tmp58_; -#line 416 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp59_ = _result_; -#line 416 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_tmp59_ != SQLITE_OK) { -#line 2053 "autosave-manager.c" -		gint _tmp60_; -#line 418 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp60_ = _result_; -#line 418 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_warning ("autosave-manager.vala:418: Error %d while preparing statement", _tmp60_); -#line 419 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (query); -#line 419 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_sqlite3_finalize0 (stmt); -#line 419 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		return; -#line 2065 "autosave-manager.c" -	} -#line 422 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp61_ = stmt; -#line 422 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp62_ = g_direct_hash; -#line 422 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp63_ = page; -#line 422 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp64_ = _tmp62_ (_tmp63_); -#line 422 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	sqlite3_bind_int64 (_tmp61_, 4, (gint64) _tmp64_); -#line 423 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp65_ = stmt; -#line 423 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp66_ = g_direct_hash; -#line 423 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp67_ = autosave_manager_get_book (self); -#line 423 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp68_ = _tmp67_; -#line 423 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp69_ = _tmp66_ (_tmp68_); -#line 423 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	sqlite3_bind_int64 (_tmp65_, 5, (gint64) _tmp69_); -#line 424 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp70_ = stmt; -#line 424 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp71_ = self->priv->cur_book_revision; -#line 424 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	sqlite3_bind_int64 (_tmp70_, 6, (gint64) _tmp71_); -#line 425 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp72_ = page; -#line 425 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp73_ = page_get_color_profile (_tmp72_); -#line 425 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp74_ = _tmp73_; -#line 425 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp75_ = _tmp74_; -#line 425 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_tmp75_ == NULL) { -#line 2105 "autosave-manager.c" -		gchar* _tmp76_; -#line 425 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp76_ = g_strdup (""); -#line 425 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (_tmp74_); -#line 425 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp74_ = _tmp76_; -#line 2113 "autosave-manager.c" -	} -#line 425 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp77_ = stmt; -#line 425 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp78_ = _tmp74_; -#line 425 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp79_ = g_strdup (_tmp78_); -#line 425 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp80_ = g_free; -#line 425 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp81_ = sqlite3_bind_text (_tmp77_, 1, _tmp79_, -1, _tmp80_); -#line 425 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_result_ = _tmp81_; -#line 427 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp82_ = _result_; -#line 427 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_tmp82_ != SQLITE_OK) { -#line 2131 "autosave-manager.c" -		gint _tmp83_; -#line 428 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp83_ = _result_; -#line 428 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_warning ("autosave-manager.vala:428: Error %d while binding text", _tmp83_); -#line 2137 "autosave-manager.c" -	} -#line 430 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp84_ = page; -#line 430 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp86_ = page_get_pixels (_tmp84_, &_tmp85_); -#line 430 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_tmp86_ != NULL) { -#line 2145 "autosave-manager.c" -		sqlite3_stmt* _tmp87_; -		Page* _tmp88_; -		gint _tmp89_ = 0; -		guchar* _tmp90_ = NULL; -		Page* _tmp91_; -		gint _tmp92_ = 0; -		guchar* _tmp93_ = NULL; -		gint _tmp94_ = 0; -		gint _tmp95_; -#line 433 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp87_ = stmt; -#line 433 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp88_ = page; -#line 433 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp90_ = page_get_pixels (_tmp88_, &_tmp89_); -#line 433 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp91_ = page; -#line 433 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp93_ = page_get_pixels (_tmp91_, &_tmp92_); -#line 433 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp94_ = sqlite3_bind_blob (_tmp87_, 2, _tmp90_, _tmp92_, (GDestroyNotify) (-1)); -#line 433 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_result_ = _tmp94_; -#line 434 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp95_ = _result_; -#line 434 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		if (_tmp95_ != SQLITE_OK) { -#line 2173 "autosave-manager.c" -			gint _tmp96_; -#line 435 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp96_ = _result_; -#line 435 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			g_warning ("autosave-manager.vala:435: Error %d while binding blob", _tmp96_); -#line 2179 "autosave-manager.c" -		} -	} else { -		sqlite3_stmt* _tmp97_; -		gint _tmp98_ = 0; -#line 438 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp97_ = stmt; -#line 438 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp98_ = sqlite3_bind_null (_tmp97_, 2); -#line 438 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_warn_if_fail (_tmp98_ == SQLITE_OK); -#line 2190 "autosave-manager.c" -	} -#line 440 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp99_ = stmt; -#line 440 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp100_ = sqlite3_step (_tmp99_); -#line 440 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_warn_if_fail (_tmp100_ == SQLITE_DONE); -#line 381 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (_tmp74_); -#line 381 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (query); -#line 381 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_sqlite3_finalize0 (stmt); -#line 2204 "autosave-manager.c" -} - - -static void autosave_manager_recover_book (AutosaveManager* self, Book** book) { -	sqlite3_stmt* stmt = NULL; -	const gchar* _tmp0_; -	const gchar* _tmp1_ = NULL; -	const gchar* _tmp2_; -	const gchar* _tmp3_ = NULL; -	gchar* _tmp4_ = NULL; -	gchar* query; -	sqlite3* _tmp5_; -	const gchar* _tmp6_; -	sqlite3_stmt* _tmp7_ = NULL; -	gint _tmp8_ = 0; -	gint _result_; -	gint _tmp9_; -	gboolean first; -	gboolean _tmp125_; -#line 443 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_return_if_fail (self != NULL); -#line 443 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_return_if_fail (*book != NULL); -#line 446 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp0_ = autosave_manager_PID; -#line 446 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp1_ = string_to_string (_tmp0_); -#line 446 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp2_ = autosave_manager_PID; -#line 446 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp3_ = string_to_string (_tmp2_); -#line 446 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp4_ = g_strconcat ("\n" \ -"            SELECT process_id,\n" \ -"                page_hash,\n" \ -"                book_hash,\n" \ -"                book_revision,\n" \ -"                page_number,\n" \ -"                dpi,\n" \ -"                width,\n" \ -"                height,\n" \ -"                depth,\n" \ -"                n_channels,\n" \ -"                rowstride,\n" \ -"                color_profile,\n" \ -"                crop_x,\n" \ -"                crop_y,\n" \ -"                crop_width,\n" \ -"                crop_height,\n" \ -"                scan_direction,\n" \ -"                pixels,\n" \ -"                id\n" \ -"            FROM pages\n" \ -"            WHERE process_id = ", _tmp1_, "\n" \ -"              AND book_revision = (\n" \ -"                  SELECT MAX(book_revision) FROM pages WHERE process_i" \ -"d = ", _tmp3_, "\n              )\n            ORDER BY page_number\n        ", NULL); -#line 446 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	query = _tmp4_; -#line 474 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp5_ = self->priv->database_connection; -#line 474 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp6_ = query; -#line 474 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp8_ = sqlite3_prepare_v2 (_tmp5_, _tmp6_, -1, &_tmp7_, NULL); -#line 474 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_sqlite3_finalize0 (stmt); -#line 474 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	stmt = _tmp7_; -#line 474 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_result_ = _tmp8_; -#line 475 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp9_ = _result_; -#line 475 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_tmp9_ != SQLITE_OK) { -#line 2256 "autosave-manager.c" -		gint _tmp10_; -#line 476 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp10_ = _result_; -#line 476 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_warning ("autosave-manager.vala:476: Error %d while preparing statement", _tmp10_); -#line 2262 "autosave-manager.c" -	} -#line 478 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	first = TRUE; -#line 479 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	while (TRUE) { -#line 2268 "autosave-manager.c" -		sqlite3_stmt* _tmp11_; -		gint _tmp12_ = 0; -		gboolean _tmp13_; -		sqlite3_stmt* _tmp15_; -		gint _tmp16_ = 0; -		gint dpi; -		sqlite3_stmt* _tmp17_; -		gint _tmp18_ = 0; -		gint width; -		sqlite3_stmt* _tmp19_; -		gint _tmp20_ = 0; -		gint height; -		sqlite3_stmt* _tmp21_; -		gint _tmp22_ = 0; -		gint depth; -		sqlite3_stmt* _tmp23_; -		gint _tmp24_ = 0; -		gint n_channels; -		sqlite3_stmt* _tmp25_; -		gint _tmp26_ = 0; -		ScanDirection scan_direction; -		gboolean _tmp27_ = FALSE; -		gint _tmp28_; -		gboolean _tmp30_; -		gint _tmp31_; -		gchar* _tmp32_ = NULL; -		gchar* _tmp33_; -		gint _tmp34_; -		gchar* _tmp35_ = NULL; -		gchar* _tmp36_; -		gchar* _tmp37_ = NULL; -		gchar* _tmp38_; -		Book* _tmp39_; -		gint _tmp40_; -		gint _tmp41_; -		gint _tmp42_; -		ScanDirection _tmp43_; -		Page* _tmp44_ = NULL; -		Page* new_page; -		gboolean _tmp45_ = FALSE; -		gint _tmp46_; -		gboolean _tmp48_; -		Page* _tmp64_; -		sqlite3_stmt* _tmp65_; -		const gchar* _tmp66_ = NULL; -		sqlite3_stmt* _tmp67_; -		gint _tmp68_ = 0; -		gint crop_x; -		sqlite3_stmt* _tmp69_; -		gint _tmp70_ = 0; -		gint crop_y; -		sqlite3_stmt* _tmp71_; -		gint _tmp72_ = 0; -		gint crop_width; -		sqlite3_stmt* _tmp73_; -		gint _tmp74_ = 0; -		gint crop_height; -		gboolean _tmp75_ = FALSE; -		gint _tmp76_; -		gboolean _tmp78_; -		sqlite3_stmt* _tmp85_; -		gint _tmp86_ = 0; -		guchar* _tmp87_ = NULL; -		guchar* new_pixels; -		gint new_pixels_length1; -		gint _new_pixels_size_; -		guchar* _tmp88_; -		gint _tmp88__length1; -		sqlite3_stmt* _tmp89_; -		void* _tmp90_ = NULL; -		sqlite3_stmt* _tmp91_; -		gint _tmp92_ = 0; -		Page* _tmp93_; -		guchar* _tmp94_; -		gint _tmp94__length1; -		sqlite3_stmt* _tmp95_; -		gint _tmp96_ = 0; -		gint id; -		gint _tmp97_; -		gchar* _tmp98_ = NULL; -		gchar* _tmp99_; -		gchar* _tmp100_ = NULL; -		sqlite3_stmt* stmt2 = NULL; -		sqlite3* _tmp101_; -		const gchar* _tmp102_; -		sqlite3_stmt* _tmp103_ = NULL; -		gint _tmp104_ = 0; -		gint result2; -		gint _tmp105_; -		sqlite3_stmt* _tmp111_; -		GHashFunc _tmp112_; -		Page* _tmp113_; -		guint _tmp114_ = 0U; -		sqlite3_stmt* _tmp115_; -		GHashFunc _tmp116_; -		Book* _tmp117_; -		guint _tmp118_ = 0U; -		sqlite3_stmt* _tmp119_; -		gint _tmp120_; -		sqlite3_stmt* _tmp121_; -		gint _tmp122_ = 0; -		gint _tmp123_; -#line 479 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp11_ = stmt; -#line 479 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp12_ = sqlite3_step (_tmp11_); -#line 479 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		if (!(SQLITE_ROW == _tmp12_)) { -#line 479 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			break; -#line 2379 "autosave-manager.c" -		} -#line 481 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_debug ("autosave-manager.vala:481: Found a page that needs to be recovered"); -#line 482 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp13_ = first; -#line 482 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		if (_tmp13_) { -#line 2387 "autosave-manager.c" -			Book* _tmp14_; -#line 484 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp14_ = *book; -#line 484 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			book_clear (_tmp14_); -#line 485 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			first = FALSE; -#line 2395 "autosave-manager.c" -		} -#line 487 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp15_ = stmt; -#line 487 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp16_ = sqlite3_column_int (_tmp15_, 5); -#line 487 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		dpi = _tmp16_; -#line 488 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp17_ = stmt; -#line 488 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp18_ = sqlite3_column_int (_tmp17_, 6); -#line 488 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		width = _tmp18_; -#line 489 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp19_ = stmt; -#line 489 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp20_ = sqlite3_column_int (_tmp19_, 7); -#line 489 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		height = _tmp20_; -#line 490 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp21_ = stmt; -#line 490 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp22_ = sqlite3_column_int (_tmp21_, 8); -#line 490 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		depth = _tmp22_; -#line 491 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp23_ = stmt; -#line 491 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp24_ = sqlite3_column_int (_tmp23_, 9); -#line 491 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		n_channels = _tmp24_; -#line 492 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp25_ = stmt; -#line 492 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp26_ = sqlite3_column_int (_tmp25_, 16); -#line 492 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		scan_direction = (ScanDirection) _tmp26_; -#line 494 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp28_ = width; -#line 494 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		if (_tmp28_ <= 0) { -#line 494 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp27_ = TRUE; -#line 2439 "autosave-manager.c" -		} else { -			gint _tmp29_; -#line 494 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp29_ = height; -#line 494 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp27_ = _tmp29_ <= 0; -#line 2446 "autosave-manager.c" -		} -#line 494 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp30_ = _tmp27_; -#line 494 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		if (_tmp30_) { -#line 495 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			continue; -#line 2454 "autosave-manager.c" -		} -#line 497 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp31_ = width; -#line 497 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp32_ = g_strdup_printf ("%i", _tmp31_); -#line 497 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp33_ = _tmp32_; -#line 497 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp34_ = height; -#line 497 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp35_ = g_strdup_printf ("%i", _tmp34_); -#line 497 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp36_ = _tmp35_; -#line 497 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp37_ = g_strconcat ("Restoring a page of size ", _tmp33_, " x ", _tmp36_, NULL); -#line 497 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp38_ = _tmp37_; -#line 497 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_debug ("autosave-manager.vala:497: %s", _tmp38_); -#line 497 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (_tmp38_); -#line 497 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (_tmp36_); -#line 497 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (_tmp33_); -#line 498 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp39_ = *book; -#line 498 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp40_ = width; -#line 498 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp41_ = height; -#line 498 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp42_ = dpi; -#line 498 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp43_ = scan_direction; -#line 498 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp44_ = book_append_page (_tmp39_, _tmp40_, _tmp41_, _tmp42_, _tmp43_); -#line 498 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		new_page = _tmp44_; -#line 500 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp46_ = depth; -#line 500 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		if (_tmp46_ > 0) { -#line 2498 "autosave-manager.c" -			gint _tmp47_; -#line 500 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp47_ = n_channels; -#line 500 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp45_ = _tmp47_ > 0; -#line 2504 "autosave-manager.c" -		} else { -#line 500 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp45_ = FALSE; -#line 2508 "autosave-manager.c" -		} -#line 500 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp48_ = _tmp45_; -#line 500 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		if (_tmp48_) { -#line 2514 "autosave-manager.c" -			ScanPageInfo* _tmp49_; -			ScanPageInfo* info; -			ScanPageInfo* _tmp50_; -			gint _tmp51_; -			ScanPageInfo* _tmp52_; -			gint _tmp53_; -			ScanPageInfo* _tmp54_; -			gint _tmp55_; -			ScanPageInfo* _tmp56_; -			gint _tmp57_; -			ScanPageInfo* _tmp58_; -			gint _tmp59_; -			ScanPageInfo* _tmp60_; -			gchar* _tmp61_; -			Page* _tmp62_; -			ScanPageInfo* _tmp63_; -#line 502 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp49_ = scan_page_info_new (); -#line 502 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			info = _tmp49_; -#line 503 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp50_ = info; -#line 503 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp51_ = width; -#line 503 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp50_->width = _tmp51_; -#line 504 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp52_ = info; -#line 504 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp53_ = height; -#line 504 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp52_->height = _tmp53_; -#line 505 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp54_ = info; -#line 505 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp55_ = depth; -#line 505 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp54_->depth = _tmp55_; -#line 506 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp56_ = info; -#line 506 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp57_ = n_channels; -#line 506 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp56_->n_channels = _tmp57_; -#line 507 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp58_ = info; -#line 507 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp59_ = dpi; -#line 507 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp58_->dpi = (gdouble) _tmp59_; -#line 508 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp60_ = info; -#line 508 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp61_ = g_strdup (""); -#line 508 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_g_free0 (_tmp60_->device); -#line 508 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp60_->device = _tmp61_; -#line 509 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp62_ = new_page; -#line 509 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp63_ = info; -#line 509 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			page_set_page_info (_tmp62_, _tmp63_); -#line 500 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_scan_page_info_unref0 (info); -#line 2581 "autosave-manager.c" -		} -#line 512 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp64_ = new_page; -#line 512 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp65_ = stmt; -#line 512 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp66_ = sqlite3_column_text (_tmp65_, 11); -#line 512 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		page_set_color_profile (_tmp64_, _tmp66_); -#line 513 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp67_ = stmt; -#line 513 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp68_ = sqlite3_column_int (_tmp67_, 12); -#line 513 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		crop_x = _tmp68_; -#line 514 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp69_ = stmt; -#line 514 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp70_ = sqlite3_column_int (_tmp69_, 13); -#line 514 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		crop_y = _tmp70_; -#line 515 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp71_ = stmt; -#line 515 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp72_ = sqlite3_column_int (_tmp71_, 14); -#line 515 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		crop_width = _tmp72_; -#line 516 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp73_ = stmt; -#line 516 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp74_ = sqlite3_column_int (_tmp73_, 15); -#line 516 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		crop_height = _tmp74_; -#line 517 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp76_ = crop_width; -#line 517 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		if (_tmp76_ > 0) { -#line 2619 "autosave-manager.c" -			gint _tmp77_; -#line 517 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp77_ = crop_height; -#line 517 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp75_ = _tmp77_ > 0; -#line 2625 "autosave-manager.c" -		} else { -#line 517 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp75_ = FALSE; -#line 2629 "autosave-manager.c" -		} -#line 517 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp78_ = _tmp75_; -#line 517 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		if (_tmp78_) { -#line 2635 "autosave-manager.c" -			Page* _tmp79_; -			gint _tmp80_; -			gint _tmp81_; -			Page* _tmp82_; -			gint _tmp83_; -			gint _tmp84_; -#line 519 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp79_ = new_page; -#line 519 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp80_ = crop_width; -#line 519 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp81_ = crop_height; -#line 519 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			page_set_custom_crop (_tmp79_, _tmp80_, _tmp81_); -#line 520 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp82_ = new_page; -#line 520 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp83_ = crop_x; -#line 520 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp84_ = crop_y; -#line 520 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			page_move_crop (_tmp82_, _tmp83_, _tmp84_); -#line 2658 "autosave-manager.c" -		} -#line 523 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp85_ = stmt; -#line 523 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp86_ = sqlite3_column_bytes (_tmp85_, 17); -#line 523 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp87_ = g_new0 (guchar, _tmp86_); -#line 523 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		new_pixels = _tmp87_; -#line 523 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		new_pixels_length1 = _tmp86_; -#line 523 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_new_pixels_size_ = new_pixels_length1; -#line 524 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp88_ = new_pixels; -#line 524 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp88__length1 = new_pixels_length1; -#line 524 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp89_ = stmt; -#line 524 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp90_ = sqlite3_column_blob (_tmp89_, 17); -#line 524 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp91_ = stmt; -#line 524 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp92_ = sqlite3_column_bytes (_tmp91_, 17); -#line 524 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		memcpy (_tmp88_, _tmp90_, (gsize) _tmp92_); -#line 525 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp93_ = new_page; -#line 525 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp94_ = new_pixels; -#line 525 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp94__length1 = new_pixels_length1; -#line 525 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		page_set_pixels (_tmp93_, _tmp94_, _tmp94__length1); -#line 527 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp95_ = stmt; -#line 527 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp96_ = sqlite3_column_int (_tmp95_, 18); -#line 527 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		id = _tmp96_; -#line 528 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_debug ("autosave-manager.vala:528: Updating autosave to point to our new copy " \ -"of the page"); -#line 529 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp97_ = id; -#line 529 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp98_ = g_strdup_printf ("%i", _tmp97_); -#line 529 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp99_ = _tmp98_; -#line 529 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp100_ = g_strconcat ("\n" \ -"                UPDATE pages\n" \ -"                   SET page_hash=?1,\n" \ -"                       book_hash=?2,\n" \ -"                       book_revision=?3\n" \ -"                WHERE id = ", _tmp99_, "\n            ", NULL); -#line 529 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (query); -#line 529 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		query = _tmp100_; -#line 529 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_g_free0 (_tmp99_); -#line 538 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp101_ = self->priv->database_connection; -#line 538 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp102_ = query; -#line 538 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp104_ = sqlite3_prepare_v2 (_tmp101_, _tmp102_, -1, &_tmp103_, NULL); -#line 538 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_sqlite3_finalize0 (stmt2); -#line 538 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		stmt2 = _tmp103_; -#line 538 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		result2 = _tmp104_; -#line 539 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp105_ = result2; -#line 539 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		if (_tmp105_ != SQLITE_OK) { -#line 2732 "autosave-manager.c" -			gint _tmp106_; -			gchar* _tmp107_ = NULL; -			gchar* _tmp108_; -			gchar* _tmp109_ = NULL; -			gchar* _tmp110_; -#line 540 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp106_ = result2; -#line 540 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp107_ = g_strdup_printf ("%i", _tmp106_); -#line 540 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp108_ = _tmp107_; -#line 540 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp109_ = g_strconcat ("Error ", _tmp108_, " while preparing query", NULL); -#line 540 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp110_ = _tmp109_; -#line 540 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			g_warning ("autosave-manager.vala:540: %s", _tmp110_); -#line 540 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_g_free0 (_tmp110_); -#line 540 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_g_free0 (_tmp108_); -#line 2754 "autosave-manager.c" -		} -#line 541 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp111_ = stmt2; -#line 541 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp112_ = g_direct_hash; -#line 541 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp113_ = new_page; -#line 541 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp114_ = _tmp112_ (_tmp113_); -#line 541 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		sqlite3_bind_int64 (_tmp111_, 1, (gint64) _tmp114_); -#line 542 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp115_ = stmt2; -#line 542 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp116_ = g_direct_hash; -#line 542 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp117_ = *book; -#line 542 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp118_ = _tmp116_ (_tmp117_); -#line 542 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		sqlite3_bind_int64 (_tmp115_, 2, (gint64) _tmp118_); -#line 543 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp119_ = stmt2; -#line 543 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp120_ = self->priv->cur_book_revision; -#line 543 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		sqlite3_bind_int64 (_tmp119_, 3, (gint64) _tmp120_); -#line 545 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp121_ = stmt2; -#line 545 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp122_ = sqlite3_step (_tmp121_); -#line 545 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		result2 = _tmp122_; -#line 546 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp123_ = result2; -#line 546 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		if (_tmp123_ != SQLITE_DONE) { -#line 2792 "autosave-manager.c" -			gint _tmp124_; -#line 547 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp124_ = _result_; -#line 547 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			g_warning ("autosave-manager.vala:547: Error %d while executing query", _tmp124_); -#line 2798 "autosave-manager.c" -		} -#line 479 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_sqlite3_finalize0 (stmt2); -#line 479 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		new_pixels = (g_free (new_pixels), NULL); -#line 479 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_page_unref0 (new_page); -#line 2806 "autosave-manager.c" -	} -#line 550 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp125_ = first; -#line 550 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	if (_tmp125_) { -#line 551 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_debug ("autosave-manager.vala:551: No pages found to recover"); -#line 2814 "autosave-manager.c" +#line 2172 "autosave-manager.c"  	} -#line 443 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_free0 (query); -#line 443 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_sqlite3_finalize0 (stmt); -#line 2820 "autosave-manager.c" +#line 342 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_g_object_unref0 (file); +#line 342 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_g_free0 (path); +#line 342 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_g_free0 (filename); +#line 2180 "autosave-manager.c"  }  Book* autosave_manager_get_book (AutosaveManager* self) {  	Book* result; -	Book* _tmp0_; -#line 54 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	Book* _tmp0_ = NULL; +#line 26 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	g_return_val_if_fail (self != NULL, NULL); -#line 56 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp0_ = self->priv->_book; -#line 56 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 28 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp0_ = self->priv->book_; +#line 28 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	result = _tmp0_; -#line 56 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 28 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	return result; -#line 2835 "autosave-manager.c" +#line 2195 "autosave-manager.c"  }  static void _autosave_manager_on_page_added_book_page_added (Book* _sender, Page* page, gpointer self) { -#line 67 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 39 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	autosave_manager_on_page_added (self, page); -#line 2842 "autosave-manager.c" +#line 2202 "autosave-manager.c"  }  static void _autosave_manager_on_page_removed_book_page_removed (Book* _sender, Page* page, gpointer self) { -#line 68 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 40 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	autosave_manager_on_page_removed (self, page); -#line 2849 "autosave-manager.c" +#line 2209 "autosave-manager.c"  } -static void _autosave_manager_on_reordered_book_reordered (Book* _sender, gpointer self) { -#line 69 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_on_reordered (self); -#line 2856 "autosave-manager.c" +static void _autosave_manager_on_changed_book_reordered (Book* _sender, gpointer self) { +#line 41 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	autosave_manager_on_changed (self); +#line 2216 "autosave-manager.c"  }  static void _autosave_manager_on_cleared_book_cleared (Book* _sender, gpointer self) { -#line 70 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 42 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	autosave_manager_on_cleared (self); -#line 2863 "autosave-manager.c" +#line 2223 "autosave-manager.c"  }  static gpointer _book_ref0 (gpointer self) { -#line 72 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 44 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	return self ? book_ref (self) : NULL; -#line 2870 "autosave-manager.c" +#line 2230 "autosave-manager.c"  }  void autosave_manager_set_book (AutosaveManager* self, Book* value) { -	Book* _tmp0_; -	Book* _tmp19_; -	Book* _tmp20_; -	Book* _tmp21_; -	Book* _tmp22_; -	Book* _tmp23_; -	Book* _tmp24_; -#line 58 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	Book* _tmp0_ = NULL; +	Book* _tmp20_ = NULL; +	Book* _tmp21_ = NULL; +	Book* _tmp22_ = NULL; +	Book* _tmp23_ = NULL; +	Book* _tmp24_ = NULL; +	Book* _tmp25_ = NULL; +#line 30 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	g_return_if_fail (self != NULL); -#line 60 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp0_ = self->priv->_book; -#line 60 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 32 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp0_ = self->priv->book_; +#line 32 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	if (_tmp0_ != NULL) { -#line 2888 "autosave-manager.c" -		Book* _tmp11_; -		guint _tmp12_ = 0U; -		Book* _tmp13_; -		guint _tmp14_ = 0U; -		Book* _tmp15_; -		guint _tmp16_ = 0U; -		Book* _tmp17_; -		guint _tmp18_ = 0U; +#line 2248 "autosave-manager.c" +		Book* _tmp12_ = NULL; +		guint _tmp13_ = 0U; +		Book* _tmp14_ = NULL; +		guint _tmp15_ = 0U; +		Book* _tmp16_ = NULL; +		guint _tmp17_ = 0U; +		Book* _tmp18_ = NULL; +		guint _tmp19_ = 0U;  		{ -			gint i; -#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +			gint i = 0; +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  			i = 0; -#line 2901 "autosave-manager.c" +#line 2261 "autosave-manager.c"  			{ -				gboolean _tmp1_; -#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				gboolean _tmp1_ = FALSE; +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  				_tmp1_ = TRUE; -#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  				while (TRUE) { -#line 2908 "autosave-manager.c" -					gboolean _tmp2_; -					gint _tmp4_; -					Book* _tmp5_; +#line 2268 "autosave-manager.c" +					gboolean _tmp2_ = FALSE; +					gint _tmp4_ = 0; +					Book* _tmp5_ = NULL;  					guint _tmp6_ = 0U; -					Book* _tmp7_; -					gint _tmp8_; -					Page* _tmp9_ = NULL; -					Page* page; -					Page* _tmp10_; -#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					guint _tmp7_ = 0U; +					Page* page = NULL; +					Book* _tmp8_ = NULL; +					gint _tmp9_ = 0; +					Page* _tmp10_ = NULL; +					Page* _tmp11_ = NULL; +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  					_tmp2_ = _tmp1_; -#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  					if (!_tmp2_) { -#line 2922 "autosave-manager.c" -						gint _tmp3_; -#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 2283 "autosave-manager.c" +						gint _tmp3_ = 0; +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  						_tmp3_ = i; -#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  						i = _tmp3_ + 1; -#line 2928 "autosave-manager.c" +#line 2289 "autosave-manager.c"  					} -#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  					_tmp1_ = FALSE; -#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  					_tmp4_ = i; -#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp5_ = self->priv->_book; -#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp5_ = self->priv->book_; +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  					_tmp6_ = book_get_n_pages (_tmp5_); -#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					if (!(((guint) _tmp4_) < _tmp6_)) { -#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp7_ = _tmp6_; +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					if (!(((guint) _tmp4_) < _tmp7_)) { +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  						break; -#line 2942 "autosave-manager.c" +#line 2305 "autosave-manager.c"  					} -#line 64 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp7_ = self->priv->_book; -#line 64 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp8_ = i; -#line 64 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp9_ = book_get_page (_tmp7_, _tmp8_); -#line 64 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					page = _tmp9_; -#line 65 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp10_ = page; -#line 65 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					autosave_manager_on_page_removed (self, _tmp10_); -#line 62 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp8_ = self->priv->book_; +#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp9_ = i; +#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp10_ = book_get_page (_tmp8_, _tmp9_); +#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					page = _tmp10_; +#line 37 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp11_ = page; +#line 37 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					autosave_manager_on_page_removed (self, _tmp11_); +#line 34 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  					_page_unref0 (page); -#line 2958 "autosave-manager.c" +#line 2321 "autosave-manager.c"  				}  			}  		} -#line 67 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp11_ = self->priv->_book; -#line 67 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_signal_parse_name ("page-added", TYPE_BOOK, &_tmp12_, NULL, FALSE); -#line 67 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_signal_handlers_disconnect_matched (_tmp11_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp12_, 0, NULL, (GCallback) _autosave_manager_on_page_added_book_page_added, self); -#line 68 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp13_ = self->priv->_book; -#line 68 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_signal_parse_name ("page-removed", TYPE_BOOK, &_tmp14_, NULL, FALSE); -#line 68 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_signal_handlers_disconnect_matched (_tmp13_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp14_, 0, NULL, (GCallback) _autosave_manager_on_page_removed_book_page_removed, self); -#line 69 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp15_ = self->priv->_book; -#line 69 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_signal_parse_name ("reordered", TYPE_BOOK, &_tmp16_, NULL, FALSE); -#line 69 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_signal_handlers_disconnect_matched (_tmp15_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp16_, 0, NULL, (GCallback) _autosave_manager_on_reordered_book_reordered, self); -#line 70 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		_tmp17_ = self->priv->_book; -#line 70 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_signal_parse_name ("cleared", TYPE_BOOK, &_tmp18_, NULL, FALSE); -#line 70 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -		g_signal_handlers_disconnect_matched (_tmp17_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp18_, 0, NULL, (GCallback) _autosave_manager_on_cleared_book_cleared, self); -#line 2986 "autosave-manager.c" +#line 39 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp12_ = self->priv->book_; +#line 39 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_signal_parse_name ("page-added", TYPE_BOOK, &_tmp13_, NULL, FALSE); +#line 39 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_signal_handlers_disconnect_matched (_tmp12_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _autosave_manager_on_page_added_book_page_added, self); +#line 40 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp14_ = self->priv->book_; +#line 40 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_signal_parse_name ("page-removed", TYPE_BOOK, &_tmp15_, NULL, FALSE); +#line 40 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_signal_handlers_disconnect_matched (_tmp14_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp15_, 0, NULL, (GCallback) _autosave_manager_on_page_removed_book_page_removed, self); +#line 41 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp16_ = self->priv->book_; +#line 41 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_signal_parse_name ("reordered", TYPE_BOOK, &_tmp17_, NULL, FALSE); +#line 41 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_signal_handlers_disconnect_matched (_tmp16_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp17_, 0, NULL, (GCallback) _autosave_manager_on_changed_book_reordered, self); +#line 42 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		_tmp18_ = self->priv->book_; +#line 42 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_signal_parse_name ("cleared", TYPE_BOOK, &_tmp19_, NULL, FALSE); +#line 42 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		g_signal_handlers_disconnect_matched (_tmp18_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp19_, 0, NULL, (GCallback) _autosave_manager_on_cleared_book_cleared, self); +#line 2349 "autosave-manager.c"  	} -#line 72 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp19_ = value; -#line 72 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp20_ = _book_ref0 (_tmp19_); -#line 72 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_book_unref0 (self->priv->_book); -#line 72 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	self->priv->_book = _tmp20_; -#line 73 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp21_ = self->priv->_book; -#line 73 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_connect (_tmp21_, "page-added", (GCallback) _autosave_manager_on_page_added_book_page_added, self); -#line 74 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp22_ = self->priv->_book; -#line 74 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_connect (_tmp22_, "page-removed", (GCallback) _autosave_manager_on_page_removed_book_page_removed, self); -#line 75 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp23_ = self->priv->_book; -#line 75 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_connect (_tmp23_, "reordered", (GCallback) _autosave_manager_on_reordered_book_reordered, self); -#line 76 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp24_ = self->priv->_book; -#line 76 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	g_signal_connect (_tmp24_, "cleared", (GCallback) _autosave_manager_on_cleared_book_cleared, self); -#line 3012 "autosave-manager.c" +#line 44 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp20_ = value; +#line 44 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp21_ = _book_ref0 (_tmp20_); +#line 44 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_book_unref0 (self->priv->book_); +#line 44 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	self->priv->book_ = _tmp21_; +#line 45 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp22_ = self->priv->book_; +#line 45 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_signal_connect (_tmp22_, "page-added", (GCallback) _autosave_manager_on_page_added_book_page_added, self); +#line 46 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp23_ = self->priv->book_; +#line 46 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_signal_connect (_tmp23_, "page-removed", (GCallback) _autosave_manager_on_page_removed_book_page_removed, self); +#line 47 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp24_ = self->priv->book_; +#line 47 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_signal_connect (_tmp24_, "reordered", (GCallback) _autosave_manager_on_changed_book_reordered, self); +#line 48 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp25_ = self->priv->book_; +#line 48 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	g_signal_connect (_tmp25_, "cleared", (GCallback) _autosave_manager_on_cleared_book_cleared, self); +#line 2375 "autosave-manager.c"  	{ -		gint i; -#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +		gint i = 0; +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		i = 0; -#line 3017 "autosave-manager.c" +#line 2380 "autosave-manager.c"  		{ -			gboolean _tmp25_; -#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -			_tmp25_ = TRUE; -#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +			gboolean _tmp26_ = FALSE; +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +			_tmp26_ = TRUE; +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  			while (TRUE) { -#line 3024 "autosave-manager.c" -				gboolean _tmp26_; -				gint _tmp28_; -				Book* _tmp29_; -				guint _tmp30_ = 0U; -				Book* _tmp31_; -				Book* _tmp32_; -				gint _tmp33_; -				Page* _tmp34_ = NULL; -				Page* page; -				Page* _tmp35_; -#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp26_ = _tmp25_; -#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				if (!_tmp26_) { -#line 3039 "autosave-manager.c" -					gint _tmp27_; -#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					_tmp27_ = i; -#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -					i = _tmp27_ + 1; -#line 3045 "autosave-manager.c" +#line 2387 "autosave-manager.c" +				gboolean _tmp27_ = FALSE; +				gint _tmp29_ = 0; +				Book* _tmp30_ = NULL; +				guint _tmp31_ = 0U; +				guint _tmp32_ = 0U; +				Page* page = NULL; +				Book* _tmp33_ = NULL; +				gint _tmp34_ = 0; +				Page* _tmp35_ = NULL; +				Page* _tmp36_ = NULL; +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp27_ = _tmp26_; +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				if (!_tmp27_) { +#line 2402 "autosave-manager.c" +					gint _tmp28_ = 0; +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					_tmp28_ = i; +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +					i = _tmp28_ + 1; +#line 2408 "autosave-manager.c"  				} -#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp25_ = FALSE; -#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp28_ = i; -#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp29_ = self->priv->_book; -#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp30_ = book_get_n_pages (_tmp29_); -#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				if (!(((guint) _tmp28_) < _tmp30_)) { -#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp26_ = FALSE; +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp29_ = i; +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp30_ = self->priv->book_; +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp31_ = book_get_n_pages (_tmp30_); +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp32_ = _tmp31_; +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				if (!(((guint) _tmp29_) < _tmp32_)) { +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  					break; -#line 3059 "autosave-manager.c" +#line 2424 "autosave-manager.c"  				} -#line 79 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp31_ = autosave_manager_get_book (self); -#line 79 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp32_ = _tmp31_; -#line 79 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp33_ = i; -#line 79 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp34_ = book_get_page (_tmp32_, _tmp33_); -#line 79 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				page = _tmp34_; -#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				_tmp35_ = page; -#line 80 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -				autosave_manager_on_page_added (self, _tmp35_); -#line 77 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 51 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp33_ = self->priv->book_; +#line 51 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp34_ = i; +#line 51 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp35_ = book_get_page (_tmp33_, _tmp34_); +#line 51 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				page = _tmp35_; +#line 52 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				_tmp36_ = page; +#line 52 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +				autosave_manager_on_page_added (self, _tmp36_); +#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  				_page_unref0 (page); -#line 3077 "autosave-manager.c" +#line 2440 "autosave-manager.c"  			}  		}  	} @@ -3174,181 +2445,181 @@ void autosave_manager_set_book (AutosaveManager* self, Book* value) {  static void value_autosave_manager_init (GValue* value) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	value->data[0].v_pointer = NULL; -#line 3087 "autosave-manager.c" +#line 2450 "autosave-manager.c"  }  static void value_autosave_manager_free_value (GValue* value) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	if (value->data[0].v_pointer) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		autosave_manager_unref (value->data[0].v_pointer); -#line 3096 "autosave-manager.c" +#line 2459 "autosave-manager.c"  	}  }  static void value_autosave_manager_copy_value (const GValue* src_value, GValue* dest_value) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	if (src_value->data[0].v_pointer) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		dest_value->data[0].v_pointer = autosave_manager_ref (src_value->data[0].v_pointer); -#line 3106 "autosave-manager.c" +#line 2469 "autosave-manager.c"  	} else { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		dest_value->data[0].v_pointer = NULL; -#line 3110 "autosave-manager.c" +#line 2473 "autosave-manager.c"  	}  }  static gpointer value_autosave_manager_peek_pointer (const GValue* value) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	return value->data[0].v_pointer; -#line 3118 "autosave-manager.c" +#line 2481 "autosave-manager.c"  }  static gchar* value_autosave_manager_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	if (collect_values[0].v_pointer) { -#line 3125 "autosave-manager.c" +#line 2488 "autosave-manager.c"  		AutosaveManager* object;  		object = collect_values[0].v_pointer; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		if (object->parent_instance.g_class == NULL) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); -#line 3132 "autosave-manager.c" +#line 2495 "autosave-manager.c"  		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); -#line 3136 "autosave-manager.c" +#line 2499 "autosave-manager.c"  		} -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		value->data[0].v_pointer = autosave_manager_ref (object); -#line 3140 "autosave-manager.c" +#line 2503 "autosave-manager.c"  	} else { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		value->data[0].v_pointer = NULL; -#line 3144 "autosave-manager.c" +#line 2507 "autosave-manager.c"  	} -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	return NULL; -#line 3148 "autosave-manager.c" +#line 2511 "autosave-manager.c"  }  static gchar* value_autosave_manager_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {  	AutosaveManager** object_p;  	object_p = collect_values[0].v_pointer; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	if (!object_p) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); -#line 3159 "autosave-manager.c" +#line 2522 "autosave-manager.c"  	} -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	if (!value->data[0].v_pointer) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		*object_p = NULL; -#line 3165 "autosave-manager.c" +#line 2528 "autosave-manager.c"  	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		*object_p = value->data[0].v_pointer; -#line 3169 "autosave-manager.c" +#line 2532 "autosave-manager.c"  	} else { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		*object_p = autosave_manager_ref (value->data[0].v_pointer); -#line 3173 "autosave-manager.c" +#line 2536 "autosave-manager.c"  	} -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	return NULL; -#line 3177 "autosave-manager.c" +#line 2540 "autosave-manager.c"  }  GParamSpec* param_spec_autosave_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {  	ParamSpecAutosaveManager* spec; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	g_return_val_if_fail (g_type_is_a (object_type, TYPE_AUTOSAVE_MANAGER), NULL); -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	G_PARAM_SPEC (spec)->value_type = object_type; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	return G_PARAM_SPEC (spec); -#line 3191 "autosave-manager.c" +#line 2554 "autosave-manager.c"  }  gpointer value_get_autosave_manager (const GValue* value) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_AUTOSAVE_MANAGER), NULL); -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	return value->data[0].v_pointer; -#line 3200 "autosave-manager.c" +#line 2563 "autosave-manager.c"  }  void value_set_autosave_manager (GValue* value, gpointer v_object) {  	AutosaveManager* old; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_AUTOSAVE_MANAGER)); -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	old = value->data[0].v_pointer; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	if (v_object) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_AUTOSAVE_MANAGER)); -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		value->data[0].v_pointer = v_object; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		autosave_manager_ref (value->data[0].v_pointer); -#line 3220 "autosave-manager.c" +#line 2583 "autosave-manager.c"  	} else { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		value->data[0].v_pointer = NULL; -#line 3224 "autosave-manager.c" +#line 2587 "autosave-manager.c"  	} -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	if (old) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		autosave_manager_unref (old); -#line 3230 "autosave-manager.c" +#line 2593 "autosave-manager.c"  	}  }  void value_take_autosave_manager (GValue* value, gpointer v_object) {  	AutosaveManager* old; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_AUTOSAVE_MANAGER)); -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	old = value->data[0].v_pointer; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	if (v_object) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_AUTOSAVE_MANAGER)); -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		value->data[0].v_pointer = v_object; -#line 3249 "autosave-manager.c" +#line 2612 "autosave-manager.c"  	} else { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		value->data[0].v_pointer = NULL; -#line 3253 "autosave-manager.c" +#line 2616 "autosave-manager.c"  	} -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	if (old) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		autosave_manager_unref (old); -#line 3259 "autosave-manager.c" +#line 2622 "autosave-manager.c"  	}  } @@ -3356,86 +2627,60 @@ void value_take_autosave_manager (GValue* value, gpointer v_object) {  static void autosave_manager_class_init (AutosaveManagerClass * klass) {  	const gchar* _tmp0_ = NULL;  	gchar* _tmp1_ = NULL; -	gchar* _tmp2_; -	gchar* _tmp3_; -	const gchar* _tmp4_; -	const gchar* _tmp5_; -	const gchar* _tmp6_; -	gchar* _tmp7_; -	gchar* _tmp8_; -	gchar* _tmp9_ = NULL; -	pid_t _tmp10_ = 0; -	gchar* _tmp11_ = NULL; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	gchar* _tmp2_ = NULL; +	const gchar* _tmp3_ = NULL; +	const gchar* _tmp4_ = NULL; +	gchar* _tmp5_ = NULL; +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	autosave_manager_parent_class = g_type_class_peek_parent (klass); -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	AUTOSAVE_MANAGER_CLASS (klass)->finalize = autosave_manager_finalize; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	g_type_class_add_private (klass, sizeof (AutosaveManagerPrivate)); -#line 38 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 15 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	_tmp0_ = g_get_user_cache_dir (); -#line 38 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 15 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	_tmp1_ = g_build_filename (_tmp0_, "simple-scan", "autosaves", NULL); -#line 38 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 15 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	autosave_manager_AUTOSAVE_DIR = _tmp1_; -#line 39 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp2_ = g_strdup ("autosaves"); -#line 39 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_AUTOSAVE_NAME = _tmp2_; -#line 40 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp3_ = g_strdup (".db"); -#line 40 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_AUTOSAVE_EXT = _tmp3_; -#line 41 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp4_ = autosave_manager_AUTOSAVE_DIR; -#line 41 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp5_ = autosave_manager_AUTOSAVE_NAME; -#line 41 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp6_ = autosave_manager_AUTOSAVE_EXT; -#line 41 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp7_ = g_strconcat (_tmp5_, _tmp6_, NULL); -#line 41 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp8_ = _tmp7_; -#line 41 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp9_ = g_build_filename (_tmp4_, _tmp8_, NULL); -#line 41 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_AUTOSAVE_FILENAME = _tmp9_; -#line 43 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp10_ = getpid (); -#line 43 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_tmp11_ = g_strdup_printf ("%i", (gint) _tmp10_); -#line 43 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	autosave_manager_PID = _tmp11_; -#line 3317 "autosave-manager.c" +#line 16 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp2_ = g_strdup ("autosave.book"); +#line 16 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	autosave_manager_AUTOSAVE_FILENAME = _tmp2_; +#line 17 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp3_ = autosave_manager_AUTOSAVE_DIR; +#line 17 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp4_ = autosave_manager_AUTOSAVE_FILENAME; +#line 17 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_tmp5_ = g_build_filename (_tmp3_, _tmp4_, NULL); +#line 17 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	autosave_manager_AUTOSAVE_PATH = _tmp5_; +#line 2658 "autosave-manager.c"  }  static void autosave_manager_instance_init (AutosaveManager * self) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	self->priv = AUTOSAVE_MANAGER_GET_PRIVATE (self); -#line 47 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	self->priv->_book = NULL; -#line 49 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 19 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	self->priv->update_timeout = (guint) 0; -#line 323 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	self->priv->cur_book_revision = 0; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 23 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	self->priv->book_ = NULL; +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	self->ref_count = 1; -#line 3332 "autosave-manager.c" +#line 2671 "autosave-manager.c"  }  static void autosave_manager_finalize (AutosaveManager* obj) {  	AutosaveManager * self; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_AUTOSAVE_MANAGER, AutosaveManager); -#line 46 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_sqlite3_close0 (self->priv->database_connection); -#line 47 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_book_unref0 (self->priv->_book); -#line 50 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" -	_g_hash_table_unref0 (self->priv->dirty_pages); -#line 3346 "autosave-manager.c" +#line 21 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_g_hash_table_unref0 (self->priv->page_filenames); +#line 23 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +	_book_unref0 (self->priv->book_); +#line 2683 "autosave-manager.c"  } @@ -3456,25 +2701,55 @@ GType autosave_manager_get_type (void) {  gpointer autosave_manager_ref (gpointer instance) {  	AutosaveManager* self;  	self = instance; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	g_atomic_int_inc (&self->ref_count); -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	return instance; -#line 3371 "autosave-manager.c" +#line 2708 "autosave-manager.c"  }  void autosave_manager_unref (gpointer instance) {  	AutosaveManager* self;  	self = instance; -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  	if (g_atomic_int_dec_and_test (&self->ref_count)) { -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		AUTOSAVE_MANAGER_GET_CLASS (self)->finalize (self); -#line 36 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala" +#line 13 "/home/bob/bzr/simple-scan/trunk/src/autosave-manager.vala"  		g_type_free_instance ((GTypeInstance *) self); -#line 3384 "autosave-manager.c" +#line 2721 "autosave-manager.c" +	} +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { +	if ((array != NULL) && (destroy_func != NULL)) { +		int i; +		for (i = 0; i < array_length; i = i + 1) { +			if (((gpointer*) array)[i] != NULL) { +				destroy_func (((gpointer*) array)[i]); +			} +		} +	} +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { +	_vala_array_destroy (array, array_length, destroy_func); +	g_free (array); +} + + +static gint _vala_array_length (gpointer array) { +	int length; +	length = 0; +	if (array) { +		while (((gpointer*) array)[length]) { +			length++; +		}  	} +	return length;  }  | 
