diff options
Diffstat (limited to 'src/scanner.c')
-rw-r--r-- | src/scanner.c | 13352 |
1 files changed, 13352 insertions, 0 deletions
diff --git a/src/scanner.c b/src/scanner.c new file mode 100644 index 0000000..57323b2 --- /dev/null +++ b/src/scanner.c @@ -0,0 +1,13352 @@ +/* scanner.c generated by valac 0.24.0, the Vala compiler + * generated from scanner.vala, do not modify */ + +/* + * Copyright (C) 2009-2011 Canonical Ltd. + * Author: 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 + * Foundation, either version 3 of the License, or (at your option) any later + * version. See http://www.gnu.org/copyleft/gpl.html the full text of the + * license. + */ +/* TODO: Could indicate the start of the next page immediately after the last page is received (i.e. before the sane_cancel()) */ + +#include <glib.h> +#include <glib-object.h> +#include <stdlib.h> +#include <string.h> +#include <float.h> +#include <math.h> +#include "sane/sane.h" +#include <glib/gi18n-lib.h> +#include "sane/saneopts.h" +#include <gobject/gvaluecollector.h> + + +#define TYPE_SCAN_DEVICE (scan_device_get_type ()) +#define SCAN_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SCAN_DEVICE, ScanDevice)) +#define SCAN_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SCAN_DEVICE, ScanDeviceClass)) +#define IS_SCAN_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SCAN_DEVICE)) +#define IS_SCAN_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SCAN_DEVICE)) +#define SCAN_DEVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SCAN_DEVICE, ScanDeviceClass)) + +typedef struct _ScanDevice ScanDevice; +typedef struct _ScanDeviceClass ScanDeviceClass; +typedef struct _ScanDevicePrivate ScanDevicePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _ParamSpecScanDevice ParamSpecScanDevice; + +#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; +typedef struct _ParamSpecScanPageInfo ParamSpecScanPageInfo; + +#define TYPE_SCAN_LINE (scan_line_get_type ()) +#define SCAN_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SCAN_LINE, ScanLine)) +#define SCAN_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SCAN_LINE, ScanLineClass)) +#define IS_SCAN_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SCAN_LINE)) +#define IS_SCAN_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SCAN_LINE)) +#define SCAN_LINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SCAN_LINE, ScanLineClass)) + +typedef struct _ScanLine ScanLine; +typedef struct _ScanLineClass ScanLineClass; +typedef struct _ScanLinePrivate ScanLinePrivate; +typedef struct _ParamSpecScanLine ParamSpecScanLine; + +#define TYPE_SCAN_MODE (scan_mode_get_type ()) + +#define TYPE_SCAN_TYPE (scan_type_get_type ()) + +#define TYPE_SCAN_OPTIONS (scan_options_get_type ()) +#define SCAN_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SCAN_OPTIONS, ScanOptions)) +#define SCAN_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SCAN_OPTIONS, ScanOptionsClass)) +#define IS_SCAN_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SCAN_OPTIONS)) +#define IS_SCAN_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SCAN_OPTIONS)) +#define SCAN_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SCAN_OPTIONS, ScanOptionsClass)) + +typedef struct _ScanOptions ScanOptions; +typedef struct _ScanOptionsClass ScanOptionsClass; +typedef struct _ScanOptionsPrivate ScanOptionsPrivate; +typedef struct _ParamSpecScanOptions ParamSpecScanOptions; + +#define TYPE_SCAN_JOB (scan_job_get_type ()) +#define SCAN_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SCAN_JOB, ScanJob)) +#define SCAN_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SCAN_JOB, ScanJobClass)) +#define IS_SCAN_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SCAN_JOB)) +#define IS_SCAN_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SCAN_JOB)) +#define SCAN_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SCAN_JOB, ScanJobClass)) + +typedef struct _ScanJob ScanJob; +typedef struct _ScanJobClass ScanJobClass; +typedef struct _ScanJobPrivate ScanJobPrivate; +typedef struct _ParamSpecScanJob ParamSpecScanJob; + +#define TYPE_REQUEST (request_get_type ()) +#define REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REQUEST, Request)) +#define REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REQUEST, RequestClass)) +#define IS_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REQUEST)) +#define IS_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REQUEST)) +#define REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REQUEST, RequestClass)) + +typedef struct _Request Request; +typedef struct _RequestClass RequestClass; +typedef struct _RequestPrivate RequestPrivate; +typedef struct _ParamSpecRequest ParamSpecRequest; + +#define TYPE_REQUEST_REDETECT (request_redetect_get_type ()) +#define REQUEST_REDETECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REQUEST_REDETECT, RequestRedetect)) +#define REQUEST_REDETECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REQUEST_REDETECT, RequestRedetectClass)) +#define IS_REQUEST_REDETECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REQUEST_REDETECT)) +#define IS_REQUEST_REDETECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REQUEST_REDETECT)) +#define REQUEST_REDETECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REQUEST_REDETECT, RequestRedetectClass)) + +typedef struct _RequestRedetect RequestRedetect; +typedef struct _RequestRedetectClass RequestRedetectClass; +typedef struct _RequestRedetectPrivate RequestRedetectPrivate; + +#define TYPE_REQUEST_CANCEL (request_cancel_get_type ()) +#define REQUEST_CANCEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REQUEST_CANCEL, RequestCancel)) +#define REQUEST_CANCEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REQUEST_CANCEL, RequestCancelClass)) +#define IS_REQUEST_CANCEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REQUEST_CANCEL)) +#define IS_REQUEST_CANCEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REQUEST_CANCEL)) +#define REQUEST_CANCEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REQUEST_CANCEL, RequestCancelClass)) + +typedef struct _RequestCancel RequestCancel; +typedef struct _RequestCancelClass RequestCancelClass; +typedef struct _RequestCancelPrivate RequestCancelPrivate; + +#define TYPE_REQUEST_START_SCAN (request_start_scan_get_type ()) +#define REQUEST_START_SCAN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REQUEST_START_SCAN, RequestStartScan)) +#define REQUEST_START_SCAN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REQUEST_START_SCAN, RequestStartScanClass)) +#define IS_REQUEST_START_SCAN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REQUEST_START_SCAN)) +#define IS_REQUEST_START_SCAN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REQUEST_START_SCAN)) +#define REQUEST_START_SCAN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REQUEST_START_SCAN, RequestStartScanClass)) + +typedef struct _RequestStartScan RequestStartScan; +typedef struct _RequestStartScanClass RequestStartScanClass; +typedef struct _RequestStartScanPrivate RequestStartScanPrivate; +#define _scan_job_unref0(var) ((var == NULL) ? NULL : (var = (scan_job_unref (var), NULL))) + +#define TYPE_REQUEST_QUIT (request_quit_get_type ()) +#define REQUEST_QUIT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REQUEST_QUIT, RequestQuit)) +#define REQUEST_QUIT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REQUEST_QUIT, RequestQuitClass)) +#define IS_REQUEST_QUIT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REQUEST_QUIT)) +#define IS_REQUEST_QUIT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REQUEST_QUIT)) +#define REQUEST_QUIT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REQUEST_QUIT, RequestQuitClass)) + +typedef struct _RequestQuit RequestQuit; +typedef struct _RequestQuitClass RequestQuitClass; +typedef struct _RequestQuitPrivate RequestQuitPrivate; + +#define TYPE_CREDENTIALS (credentials_get_type ()) +#define CREDENTIALS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CREDENTIALS, Credentials)) +#define CREDENTIALS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CREDENTIALS, CredentialsClass)) +#define IS_CREDENTIALS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CREDENTIALS)) +#define IS_CREDENTIALS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CREDENTIALS)) +#define CREDENTIALS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CREDENTIALS, CredentialsClass)) + +typedef struct _Credentials Credentials; +typedef struct _CredentialsClass CredentialsClass; +typedef struct _CredentialsPrivate CredentialsPrivate; +typedef struct _ParamSpecCredentials ParamSpecCredentials; + +#define TYPE_SCAN_STATE (scan_state_get_type ()) + +#define TYPE_NOTIFY (notify_get_type ()) +#define NOTIFY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFY, Notify)) +#define NOTIFY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFY, NotifyClass)) +#define IS_NOTIFY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFY)) +#define IS_NOTIFY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFY)) +#define NOTIFY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFY, NotifyClass)) + +typedef struct _Notify Notify; +typedef struct _NotifyClass NotifyClass; +typedef struct _NotifyPrivate NotifyPrivate; + +#define TYPE_SCANNER (scanner_get_type ()) +#define SCANNER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SCANNER, Scanner)) +#define SCANNER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SCANNER, ScannerClass)) +#define IS_SCANNER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SCANNER)) +#define IS_SCANNER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SCANNER)) +#define SCANNER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SCANNER, ScannerClass)) + +typedef struct _Scanner Scanner; +typedef struct _ScannerClass ScannerClass; +typedef struct _ParamSpecNotify ParamSpecNotify; + +#define TYPE_NOTIFY_SCANNING_CHANGED (notify_scanning_changed_get_type ()) +#define NOTIFY_SCANNING_CHANGED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFY_SCANNING_CHANGED, NotifyScanningChanged)) +#define NOTIFY_SCANNING_CHANGED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFY_SCANNING_CHANGED, NotifyScanningChangedClass)) +#define IS_NOTIFY_SCANNING_CHANGED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFY_SCANNING_CHANGED)) +#define IS_NOTIFY_SCANNING_CHANGED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFY_SCANNING_CHANGED)) +#define NOTIFY_SCANNING_CHANGED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFY_SCANNING_CHANGED, NotifyScanningChangedClass)) + +typedef struct _NotifyScanningChanged NotifyScanningChanged; +typedef struct _NotifyScanningChangedClass NotifyScanningChangedClass; +typedef struct _NotifyScanningChangedPrivate NotifyScanningChangedPrivate; + +#define TYPE_NOTIFY_UPDATE_DEVICES (notify_update_devices_get_type ()) +#define NOTIFY_UPDATE_DEVICES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFY_UPDATE_DEVICES, NotifyUpdateDevices)) +#define NOTIFY_UPDATE_DEVICES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFY_UPDATE_DEVICES, NotifyUpdateDevicesClass)) +#define IS_NOTIFY_UPDATE_DEVICES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFY_UPDATE_DEVICES)) +#define IS_NOTIFY_UPDATE_DEVICES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFY_UPDATE_DEVICES)) +#define NOTIFY_UPDATE_DEVICES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFY_UPDATE_DEVICES, NotifyUpdateDevicesClass)) + +typedef struct _NotifyUpdateDevices NotifyUpdateDevices; +typedef struct _NotifyUpdateDevicesClass NotifyUpdateDevicesClass; +typedef struct _NotifyUpdateDevicesPrivate NotifyUpdateDevicesPrivate; +#define __g_list_free__scan_device_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__scan_device_unref0_ (var), NULL))) + +#define TYPE_NOTIFY_REQUEST_AUTHORIZATION (notify_request_authorization_get_type ()) +#define NOTIFY_REQUEST_AUTHORIZATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFY_REQUEST_AUTHORIZATION, NotifyRequestAuthorization)) +#define NOTIFY_REQUEST_AUTHORIZATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFY_REQUEST_AUTHORIZATION, NotifyRequestAuthorizationClass)) +#define IS_NOTIFY_REQUEST_AUTHORIZATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFY_REQUEST_AUTHORIZATION)) +#define IS_NOTIFY_REQUEST_AUTHORIZATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFY_REQUEST_AUTHORIZATION)) +#define NOTIFY_REQUEST_AUTHORIZATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFY_REQUEST_AUTHORIZATION, NotifyRequestAuthorizationClass)) + +typedef struct _NotifyRequestAuthorization NotifyRequestAuthorization; +typedef struct _NotifyRequestAuthorizationClass NotifyRequestAuthorizationClass; +typedef struct _NotifyRequestAuthorizationPrivate NotifyRequestAuthorizationPrivate; + +#define TYPE_NOTIFY_SCAN_FAILED (notify_scan_failed_get_type ()) +#define NOTIFY_SCAN_FAILED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFY_SCAN_FAILED, NotifyScanFailed)) +#define NOTIFY_SCAN_FAILED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFY_SCAN_FAILED, NotifyScanFailedClass)) +#define IS_NOTIFY_SCAN_FAILED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFY_SCAN_FAILED)) +#define IS_NOTIFY_SCAN_FAILED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFY_SCAN_FAILED)) +#define NOTIFY_SCAN_FAILED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFY_SCAN_FAILED, NotifyScanFailedClass)) + +typedef struct _NotifyScanFailed NotifyScanFailed; +typedef struct _NotifyScanFailedClass NotifyScanFailedClass; +typedef struct _NotifyScanFailedPrivate NotifyScanFailedPrivate; + +#define TYPE_NOTIFY_DOCUMENT_DONE (notify_document_done_get_type ()) +#define NOTIFY_DOCUMENT_DONE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFY_DOCUMENT_DONE, NotifyDocumentDone)) +#define NOTIFY_DOCUMENT_DONE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFY_DOCUMENT_DONE, NotifyDocumentDoneClass)) +#define IS_NOTIFY_DOCUMENT_DONE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFY_DOCUMENT_DONE)) +#define IS_NOTIFY_DOCUMENT_DONE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFY_DOCUMENT_DONE)) +#define NOTIFY_DOCUMENT_DONE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFY_DOCUMENT_DONE, NotifyDocumentDoneClass)) + +typedef struct _NotifyDocumentDone NotifyDocumentDone; +typedef struct _NotifyDocumentDoneClass NotifyDocumentDoneClass; +typedef struct _NotifyDocumentDonePrivate NotifyDocumentDonePrivate; + +#define TYPE_NOTIFY_EXPECT_PAGE (notify_expect_page_get_type ()) +#define NOTIFY_EXPECT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFY_EXPECT_PAGE, NotifyExpectPage)) +#define NOTIFY_EXPECT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFY_EXPECT_PAGE, NotifyExpectPageClass)) +#define IS_NOTIFY_EXPECT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFY_EXPECT_PAGE)) +#define IS_NOTIFY_EXPECT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFY_EXPECT_PAGE)) +#define NOTIFY_EXPECT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFY_EXPECT_PAGE, NotifyExpectPageClass)) + +typedef struct _NotifyExpectPage NotifyExpectPage; +typedef struct _NotifyExpectPageClass NotifyExpectPageClass; +typedef struct _NotifyExpectPagePrivate NotifyExpectPagePrivate; + +#define TYPE_NOTIFY_GOT_PAGE_INFO (notify_got_page_info_get_type ()) +#define NOTIFY_GOT_PAGE_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFY_GOT_PAGE_INFO, NotifyGotPageInfo)) +#define NOTIFY_GOT_PAGE_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFY_GOT_PAGE_INFO, NotifyGotPageInfoClass)) +#define IS_NOTIFY_GOT_PAGE_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFY_GOT_PAGE_INFO)) +#define IS_NOTIFY_GOT_PAGE_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFY_GOT_PAGE_INFO)) +#define NOTIFY_GOT_PAGE_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFY_GOT_PAGE_INFO, NotifyGotPageInfoClass)) + +typedef struct _NotifyGotPageInfo NotifyGotPageInfo; +typedef struct _NotifyGotPageInfoClass NotifyGotPageInfoClass; +typedef struct _NotifyGotPageInfoPrivate NotifyGotPageInfoPrivate; +#define _scan_page_info_unref0(var) ((var == NULL) ? NULL : (var = (scan_page_info_unref (var), NULL))) +typedef struct _ScannerPrivate ScannerPrivate; + +#define TYPE_NOTIFY_PAGE_DONE (notify_page_done_get_type ()) +#define NOTIFY_PAGE_DONE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFY_PAGE_DONE, NotifyPageDone)) +#define NOTIFY_PAGE_DONE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFY_PAGE_DONE, NotifyPageDoneClass)) +#define IS_NOTIFY_PAGE_DONE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFY_PAGE_DONE)) +#define IS_NOTIFY_PAGE_DONE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFY_PAGE_DONE)) +#define NOTIFY_PAGE_DONE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFY_PAGE_DONE, NotifyPageDoneClass)) + +typedef struct _NotifyPageDone NotifyPageDone; +typedef struct _NotifyPageDoneClass NotifyPageDoneClass; +typedef struct _NotifyPageDonePrivate NotifyPageDonePrivate; + +#define TYPE_NOTIFY_GOT_LINE (notify_got_line_get_type ()) +#define NOTIFY_GOT_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFY_GOT_LINE, NotifyGotLine)) +#define NOTIFY_GOT_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFY_GOT_LINE, NotifyGotLineClass)) +#define IS_NOTIFY_GOT_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFY_GOT_LINE)) +#define IS_NOTIFY_GOT_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFY_GOT_LINE)) +#define NOTIFY_GOT_LINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFY_GOT_LINE, NotifyGotLineClass)) + +typedef struct _NotifyGotLine NotifyGotLine; +typedef struct _NotifyGotLineClass NotifyGotLineClass; +typedef struct _NotifyGotLinePrivate NotifyGotLinePrivate; +#define _scan_line_unref0(var) ((var == NULL) ? NULL : (var = (scan_line_unref (var), NULL))) +#define _g_thread_unref0(var) ((var == NULL) ? NULL : (var = (g_thread_unref (var), NULL))) +#define _g_async_queue_unref0(var) ((var == NULL) ? NULL : (var = (g_async_queue_unref (var), NULL))) +#define __g_list_free__scan_job_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__scan_job_unref0_ (var), NULL))) +#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL))) +#define _scanner_unref0(var) ((var == NULL) ? NULL : (var = (scanner_unref (var), NULL))) +#define _notify_unref0(var) ((var == NULL) ? NULL : (var = (notify_unref (var), NULL))) +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _scan_device_unref0(var) ((var == NULL) ? NULL : (var = (scan_device_unref (var), NULL))) +#define _credentials_unref0(var) ((var == NULL) ? NULL : (var = (credentials_unref (var), NULL))) +#define _request_unref0(var) ((var == NULL) ? NULL : (var = (request_unref (var), NULL))) +typedef struct _ParamSpecScanner ParamSpecScanner; + +struct _ScanDevice { + GTypeInstance parent_instance; + volatile int ref_count; + ScanDevicePrivate * priv; + gchar* name; + gchar* label; +}; + +struct _ScanDeviceClass { + GTypeClass parent_class; + void (*finalize) (ScanDevice *self); +}; + +struct _ParamSpecScanDevice { + GParamSpec parent_instance; +}; + +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 _ParamSpecScanPageInfo { + GParamSpec parent_instance; +}; + +struct _ScanLine { + GTypeInstance parent_instance; + volatile int ref_count; + ScanLinePrivate * priv; + gint number; + gint n_lines; + gint width; + gint depth; + gint channel; + guchar* data; + gint data_length1; + gint data_length; +}; + +struct _ScanLineClass { + GTypeClass parent_class; + void (*finalize) (ScanLine *self); +}; + +struct _ParamSpecScanLine { + GParamSpec parent_instance; +}; + +typedef enum { + SCAN_MODE_DEFAULT, + SCAN_MODE_COLOR, + SCAN_MODE_GRAY, + SCAN_MODE_LINEART +} ScanMode; + +typedef enum { + SCAN_TYPE_SINGLE, + SCAN_TYPE_ADF_FRONT, + SCAN_TYPE_ADF_BACK, + SCAN_TYPE_ADF_BOTH +} ScanType; + +struct _ScanOptions { + GTypeInstance parent_instance; + volatile int ref_count; + ScanOptionsPrivate * priv; + gint dpi; + ScanMode scan_mode; + gint depth; + ScanType type; + gint paper_width; + gint paper_height; + gint brightness; + gint contrast; +}; + +struct _ScanOptionsClass { + GTypeClass parent_class; + void (*finalize) (ScanOptions *self); +}; + +struct _ParamSpecScanOptions { + GParamSpec parent_instance; +}; + +struct _ScanJob { + GTypeInstance parent_instance; + volatile int ref_count; + ScanJobPrivate * priv; + gint id; + gchar* device; + gdouble dpi; + ScanMode scan_mode; + gint depth; + ScanType type; + gint page_width; + gint page_height; + gint brightness; + gint contrast; +}; + +struct _ScanJobClass { + GTypeClass parent_class; + void (*finalize) (ScanJob *self); +}; + +struct _ParamSpecScanJob { + GParamSpec parent_instance; +}; + +struct _Request { + GTypeInstance parent_instance; + volatile int ref_count; + RequestPrivate * priv; +}; + +struct _RequestClass { + GTypeClass parent_class; + void (*finalize) (Request *self); +}; + +struct _ParamSpecRequest { + GParamSpec parent_instance; +}; + +struct _RequestRedetect { + Request parent_instance; + RequestRedetectPrivate * priv; +}; + +struct _RequestRedetectClass { + RequestClass parent_class; +}; + +struct _RequestCancel { + Request parent_instance; + RequestCancelPrivate * priv; +}; + +struct _RequestCancelClass { + RequestClass parent_class; +}; + +struct _RequestStartScan { + Request parent_instance; + RequestStartScanPrivate * priv; + ScanJob* job; +}; + +struct _RequestStartScanClass { + RequestClass parent_class; +}; + +struct _RequestQuit { + Request parent_instance; + RequestQuitPrivate * priv; +}; + +struct _RequestQuitClass { + RequestClass parent_class; +}; + +struct _Credentials { + GTypeInstance parent_instance; + volatile int ref_count; + CredentialsPrivate * priv; + gchar* username; + gchar* password; +}; + +struct _CredentialsClass { + GTypeClass parent_class; + void (*finalize) (Credentials *self); +}; + +struct _ParamSpecCredentials { + GParamSpec parent_instance; +}; + +typedef enum { + SCAN_STATE_IDLE = 0, + SCAN_STATE_REDETECT, + SCAN_STATE_OPEN, + SCAN_STATE_GET_OPTION, + SCAN_STATE_START, + SCAN_STATE_GET_PARAMETERS, + SCAN_STATE_READ +} ScanState; + +struct _Notify { + GTypeInstance parent_instance; + volatile int ref_count; + NotifyPrivate * priv; +}; + +struct _NotifyClass { + GTypeClass parent_class; + void (*finalize) (Notify *self); + void (*run) (Notify* self, Scanner* scanner); +}; + +struct _ParamSpecNotify { + GParamSpec parent_instance; +}; + +struct _NotifyScanningChanged { + Notify parent_instance; + NotifyScanningChangedPrivate * priv; +}; + +struct _NotifyScanningChangedClass { + NotifyClass parent_class; +}; + +struct _NotifyUpdateDevices { + Notify parent_instance; + NotifyUpdateDevicesPrivate * priv; +}; + +struct _NotifyUpdateDevicesClass { + NotifyClass parent_class; +}; + +struct _NotifyUpdateDevicesPrivate { + GList* devices; +}; + +struct _NotifyRequestAuthorization { + Notify parent_instance; + NotifyRequestAuthorizationPrivate * priv; +}; + +struct _NotifyRequestAuthorizationClass { + NotifyClass parent_class; +}; + +struct _NotifyRequestAuthorizationPrivate { + gchar* resource; +}; + +struct _NotifyScanFailed { + Notify parent_instance; + NotifyScanFailedPrivate * priv; +}; + +struct _NotifyScanFailedClass { + NotifyClass parent_class; +}; + +struct _NotifyScanFailedPrivate { + gint error_code; + gchar* error_string; +}; + +struct _NotifyDocumentDone { + Notify parent_instance; + NotifyDocumentDonePrivate * priv; +}; + +struct _NotifyDocumentDoneClass { + NotifyClass parent_class; +}; + +struct _NotifyExpectPage { + Notify parent_instance; + NotifyExpectPagePrivate * priv; +}; + +struct _NotifyExpectPageClass { + NotifyClass parent_class; +}; + +struct _NotifyGotPageInfo { + Notify parent_instance; + NotifyGotPageInfoPrivate * priv; +}; + +struct _NotifyGotPageInfoClass { + NotifyClass parent_class; +}; + +struct _NotifyGotPageInfoPrivate { + gint job_id; + ScanPageInfo* info; +}; + +struct _Scanner { + GTypeInstance parent_instance; + volatile int ref_count; + ScannerPrivate * priv; + gint first_job_id; + gint job_id; +}; + +struct _ScannerClass { + GTypeClass parent_class; + void (*finalize) (Scanner *self); +}; + +struct _NotifyPageDone { + Notify parent_instance; + NotifyPageDonePrivate * priv; +}; + +struct _NotifyPageDoneClass { + NotifyClass parent_class; +}; + +struct _NotifyPageDonePrivate { + gint job_id; +}; + +struct _NotifyGotLine { + Notify parent_instance; + NotifyGotLinePrivate * priv; +}; + +struct _NotifyGotLineClass { + NotifyClass parent_class; +}; + +struct _NotifyGotLinePrivate { + gint job_id; + ScanLine* line; +}; + +struct _ScannerPrivate { + GThread* thread; + GAsyncQueue* request_queue; + GAsyncQueue* notify_queue; + GAsyncQueue* authorize_queue; + gchar* default_device; + ScanState state; + gboolean need_redetect; + GList* job_queue; + SANE_Handle handle; + gboolean have_handle; + gchar* current_device; + SANE_Parameters parameters; + SANE_Int option_index; + GHashTable* options; + guchar* buffer; + gint buffer_length1; + gint _buffer_size_; + gint n_used; + gint line_count; + gint pass_number; + gint page_number; + gint notified_page; + gboolean scanning; +}; + +struct _ParamSpecScanner { + GParamSpec parent_instance; +}; + + +static gpointer scan_device_parent_class = NULL; +static gpointer scan_page_info_parent_class = NULL; +static gpointer scan_line_parent_class = NULL; +static gpointer scan_options_parent_class = NULL; +static gpointer scan_job_parent_class = NULL; +static gpointer request_parent_class = NULL; +static gpointer request_redetect_parent_class = NULL; +static gpointer request_cancel_parent_class = NULL; +static gpointer request_start_scan_parent_class = NULL; +static gpointer request_quit_parent_class = NULL; +static gpointer credentials_parent_class = NULL; +static gpointer notify_parent_class = NULL; +static gpointer notify_scanning_changed_parent_class = NULL; +static gpointer notify_update_devices_parent_class = NULL; +static gpointer notify_request_authorization_parent_class = NULL; +static gpointer notify_scan_failed_parent_class = NULL; +static gpointer notify_document_done_parent_class = NULL; +static gpointer notify_expect_page_parent_class = NULL; +static gpointer notify_got_page_info_parent_class = NULL; +static gpointer notify_page_done_parent_class = NULL; +static gpointer notify_got_line_parent_class = NULL; +static gpointer scanner_parent_class = NULL; +static Scanner* scanner_scanner_object; +static Scanner* scanner_scanner_object = NULL; + +gpointer scan_device_ref (gpointer instance); +void scan_device_unref (gpointer instance); +GParamSpec* param_spec_scan_device (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_scan_device (GValue* value, gpointer v_object); +void value_take_scan_device (GValue* value, gpointer v_object); +gpointer value_get_scan_device (const GValue* value); +GType scan_device_get_type (void) G_GNUC_CONST; +enum { + SCAN_DEVICE_DUMMY_PROPERTY +}; +ScanDevice* scan_device_new (void); +ScanDevice* scan_device_construct (GType object_type); +static void scan_device_finalize (ScanDevice* obj); +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; +enum { + SCAN_PAGE_INFO_DUMMY_PROPERTY +}; +ScanPageInfo* scan_page_info_new (void); +ScanPageInfo* scan_page_info_construct (GType object_type); +static void scan_page_info_finalize (ScanPageInfo* obj); +gpointer scan_line_ref (gpointer instance); +void scan_line_unref (gpointer instance); +GParamSpec* param_spec_scan_line (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_scan_line (GValue* value, gpointer v_object); +void value_take_scan_line (GValue* value, gpointer v_object); +gpointer value_get_scan_line (const GValue* value); +GType scan_line_get_type (void) G_GNUC_CONST; +enum { + SCAN_LINE_DUMMY_PROPERTY +}; +ScanLine* scan_line_new (void); +ScanLine* scan_line_construct (GType object_type); +static void scan_line_finalize (ScanLine* obj); +GType scan_mode_get_type (void) G_GNUC_CONST; +GType scan_type_get_type (void) G_GNUC_CONST; +gpointer scan_options_ref (gpointer instance); +void scan_options_unref (gpointer instance); +GParamSpec* param_spec_scan_options (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_scan_options (GValue* value, gpointer v_object); +void value_take_scan_options (GValue* value, gpointer v_object); +gpointer value_get_scan_options (const GValue* value); +GType scan_options_get_type (void) G_GNUC_CONST; +enum { + SCAN_OPTIONS_DUMMY_PROPERTY +}; +ScanOptions* scan_options_new (void); +ScanOptions* scan_options_construct (GType object_type); +static void scan_options_finalize (ScanOptions* obj); +gpointer scan_job_ref (gpointer instance); +void scan_job_unref (gpointer instance); +GParamSpec* param_spec_scan_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_scan_job (GValue* value, gpointer v_object); +void value_take_scan_job (GValue* value, gpointer v_object); +gpointer value_get_scan_job (const GValue* value); +GType scan_job_get_type (void) G_GNUC_CONST; +enum { + SCAN_JOB_DUMMY_PROPERTY +}; +ScanJob* scan_job_new (void); +ScanJob* scan_job_construct (GType object_type); +static void scan_job_finalize (ScanJob* obj); +gpointer request_ref (gpointer instance); +void request_unref (gpointer instance); +GParamSpec* param_spec_request (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_request (GValue* value, gpointer v_object); +void value_take_request (GValue* value, gpointer v_object); +gpointer value_get_request (const GValue* value); +GType request_get_type (void) G_GNUC_CONST; +enum { + REQUEST_DUMMY_PROPERTY +}; +Request* request_new (void); +Request* request_construct (GType object_type); +static void request_finalize (Request* obj); +GType request_redetect_get_type (void) G_GNUC_CONST; +enum { + REQUEST_REDETECT_DUMMY_PROPERTY +}; +RequestRedetect* request_redetect_new (void); +RequestRedetect* request_redetect_construct (GType object_type); +GType request_cancel_get_type (void) G_GNUC_CONST; +enum { + REQUEST_CANCEL_DUMMY_PROPERTY +}; +RequestCancel* request_cancel_new (void); +RequestCancel* request_cancel_construct (GType object_type); +GType request_start_scan_get_type (void) G_GNUC_CONST; +enum { + REQUEST_START_SCAN_DUMMY_PROPERTY +}; +RequestStartScan* request_start_scan_new (void); +RequestStartScan* request_start_scan_construct (GType object_type); +static void request_start_scan_finalize (Request* obj); +GType request_quit_get_type (void) G_GNUC_CONST; +enum { + REQUEST_QUIT_DUMMY_PROPERTY +}; +RequestQuit* request_quit_new (void); +RequestQuit* request_quit_construct (GType object_type); +gpointer credentials_ref (gpointer instance); +void credentials_unref (gpointer instance); +GParamSpec* param_spec_credentials (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_credentials (GValue* value, gpointer v_object); +void value_take_credentials (GValue* value, gpointer v_object); +gpointer value_get_credentials (const GValue* value); +GType credentials_get_type (void) G_GNUC_CONST; +enum { + CREDENTIALS_DUMMY_PROPERTY +}; +Credentials* credentials_new (void); +Credentials* credentials_construct (GType object_type); +static void credentials_finalize (Credentials* obj); +GType scan_state_get_type (void) G_GNUC_CONST; +gpointer notify_ref (gpointer instance); +void notify_unref (gpointer instance); +GParamSpec* param_spec_notify (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_notify (GValue* value, gpointer v_object); +void value_take_notify (GValue* value, gpointer v_object); +gpointer value_get_notify (const GValue* value); +GType notify_get_type (void) G_GNUC_CONST; +gpointer scanner_ref (gpointer instance); +void scanner_unref (gpointer instance); +GParamSpec* param_spec_scanner (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_scanner (GValue* value, gpointer v_object); +void value_take_scanner (GValue* value, gpointer v_object); +gpointer value_get_scanner (const GValue* value); +GType scanner_get_type (void) G_GNUC_CONST; +enum { + NOTIFY_DUMMY_PROPERTY +}; +void notify_run (Notify* self, Scanner* scanner); +static void notify_real_run (Notify* self, Scanner* scanner); +Notify* notify_new (void); +Notify* notify_construct (GType object_type); +static void notify_finalize (Notify* obj); +GType notify_scanning_changed_get_type (void) G_GNUC_CONST; +enum { + NOTIFY_SCANNING_CHANGED_DUMMY_PROPERTY +}; +static void notify_scanning_changed_real_run (Notify* base, Scanner* scanner); +NotifyScanningChanged* notify_scanning_changed_new (void); +NotifyScanningChanged* notify_scanning_changed_construct (GType object_type); +GType notify_update_devices_get_type (void) G_GNUC_CONST; +#define NOTIFY_UPDATE_DEVICES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_NOTIFY_UPDATE_DEVICES, NotifyUpdateDevicesPrivate)) +enum { + NOTIFY_UPDATE_DEVICES_DUMMY_PROPERTY +}; +static void _scan_device_unref0_ (gpointer var); +static void _g_list_free__scan_device_unref0_ (GList* self); +NotifyUpdateDevices* notify_update_devices_new (GList* devices); +NotifyUpdateDevices* notify_update_devices_construct (GType object_type, GList* devices); +static void notify_update_devices_real_run (Notify* base, Scanner* scanner); +static void notify_update_devices_finalize (Notify* obj); +GType notify_request_authorization_get_type (void) G_GNUC_CONST; +#define NOTIFY_REQUEST_AUTHORIZATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_NOTIFY_REQUEST_AUTHORIZATION, NotifyRequestAuthorizationPrivate)) +enum { + NOTIFY_REQUEST_AUTHORIZATION_DUMMY_PROPERTY +}; +NotifyRequestAuthorization* notify_request_authorization_new (const gchar* resource); +NotifyRequestAuthorization* notify_request_authorization_construct (GType object_type, const gchar* resource); +static void notify_request_authorization_real_run (Notify* base, Scanner* scanner); +static void notify_request_authorization_finalize (Notify* obj); +GType notify_scan_failed_get_type (void) G_GNUC_CONST; +#define NOTIFY_SCAN_FAILED_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_NOTIFY_SCAN_FAILED, NotifyScanFailedPrivate)) +enum { + NOTIFY_SCAN_FAILED_DUMMY_PROPERTY +}; +NotifyScanFailed* notify_scan_failed_new (gint error_code, const gchar* error_string); +NotifyScanFailed* notify_scan_failed_construct (GType object_type, gint error_code, const gchar* error_string); +static void notify_scan_failed_real_run (Notify* base, Scanner* scanner); +static void notify_scan_failed_finalize (Notify* obj); +GType notify_document_done_get_type (void) G_GNUC_CONST; +enum { + NOTIFY_DOCUMENT_DONE_DUMMY_PROPERTY +}; +static void notify_document_done_real_run (Notify* base, Scanner* scanner); +NotifyDocumentDone* notify_document_done_new (void); +NotifyDocumentDone* notify_document_done_construct (GType object_type); +GType notify_expect_page_get_type (void) G_GNUC_CONST; +enum { + NOTIFY_EXPECT_PAGE_DUMMY_PROPERTY +}; +static void notify_expect_page_real_run (Notify* base, Scanner* scanner); +NotifyExpectPage* notify_expect_page_new (void); +NotifyExpectPage* notify_expect_page_construct (GType object_type); +GType notify_got_page_info_get_type (void) G_GNUC_CONST; +#define NOTIFY_GOT_PAGE_INFO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_NOTIFY_GOT_PAGE_INFO, NotifyGotPageInfoPrivate)) +enum { + NOTIFY_GOT_PAGE_INFO_DUMMY_PROPERTY +}; +NotifyGotPageInfo* notify_got_page_info_new (gint job_id, ScanPageInfo* info); +NotifyGotPageInfo* notify_got_page_info_construct (GType object_type, gint job_id, ScanPageInfo* info); +static void notify_got_page_info_real_run (Notify* base, Scanner* scanner); +static void notify_got_page_info_finalize (Notify* obj); +GType notify_page_done_get_type (void) G_GNUC_CONST; +#define NOTIFY_PAGE_DONE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_NOTIFY_PAGE_DONE, NotifyPageDonePrivate)) +enum { + NOTIFY_PAGE_DONE_DUMMY_PROPERTY +}; +NotifyPageDone* notify_page_done_new (gint job_id); +NotifyPageDone* notify_page_done_construct (GType object_type, gint job_id); +static void notify_page_done_real_run (Notify* base, Scanner* scanner); +static void notify_page_done_finalize (Notify* obj); +GType notify_got_line_get_type (void) G_GNUC_CONST; +#define NOTIFY_GOT_LINE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_NOTIFY_GOT_LINE, NotifyGotLinePrivate)) +enum { + NOTIFY_GOT_LINE_DUMMY_PROPERTY +}; +NotifyGotLine* notify_got_line_new (gint job_id, ScanLine* line); +NotifyGotLine* notify_got_line_construct (GType object_type, gint job_id, ScanLine* line); +static void notify_got_line_real_run (Notify* base, Scanner* scanner); +static void notify_got_line_finalize (Notify* obj); +#define SCANNER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SCANNER, ScannerPrivate)) +enum { + SCANNER_DUMMY_PROPERTY +}; +static void _scan_job_unref0_ (gpointer var); +static void _g_list_free__scan_job_unref0_ (GList* self); +static Scanner* scanner_new (void); +static Scanner* scanner_construct (GType object_type); +static void _request_unref0_ (gpointer var); +static void _notify_unref0_ (gpointer var); +static void _credentials_unref0_ (gpointer var); +Scanner* scanner_get_instance (void); +static gboolean scanner_notify_idle_cb (Scanner* self); +static void scanner_notify (Scanner* self, Notify* notification); +static gboolean _scanner_notify_idle_cb_gsource_func (gpointer self); +static void scanner_set_scanning (Scanner* self, gboolean is_scanning); +static gint scanner_get_device_weight (const gchar* device); +static gint scanner_compare_devices (ScanDevice* device1, ScanDevice* device2); +static void scanner_do_redetect (Scanner* self); +static gint _scanner_compare_devices_gcompare_func (gconstpointer a, gconstpointer b); +static gint scanner_scale_int (Scanner* self, gint source_min, gint source_max, SANE_Option_Descriptor* option, gint value); +static gboolean scanner_set_default_option (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index); +static void scanner_set_bool_option (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index, gboolean value, gboolean* _result_); +static void scanner_set_int_option (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index, gint value, gint* _result_); +static void scanner_set_fixed_option (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index, gdouble value, gdouble* _result_); +static void scanner_set_fixed_or_int_option (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index, gdouble value, gdouble* _result_); +static void scanner_set_option_to_max (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index); +static gboolean scanner_set_string_option (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index, const gchar* value, gchar** _result_); +static gboolean scanner_set_constrained_string_option (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index, gchar** values, int values_length1, gchar** _result_); +static void scanner_log_option (Scanner* self, SANE_Int index, SANE_Option_Descriptor* option); +static void scanner_authorization_cb (const gchar* resource, gchar* username, int username_length1, gchar* password, int password_length1); +void scanner_authorize (Scanner* self, const gchar* username, const gchar* password); +static void scanner_close_device (Scanner* self); +static void scanner_fail_scan (Scanner* self, gint error_code, const gchar* error_string); +static gboolean scanner_handle_requests (Scanner* self); +static void scanner_do_open (Scanner* self); +static void _g_free0_ (gpointer var); +static void scanner_do_get_option (Scanner* self); +static SANE_Option_Descriptor* scanner_get_option_by_name (Scanner* self, SANE_Handle handle, const gchar* name, gint* index); +static gdouble scanner_convert_page_size (Scanner* self, SANE_Option_Descriptor* option, gdouble size, gdouble dpi); +static void scanner_do_complete_document (Scanner* self); +static void scanner_do_start (Scanner* self); +static void scanner_do_get_parameters (Scanner* self); +static void scanner_do_complete_page (Scanner* self); +static void scanner_do_read (Scanner* self); +static void* scanner_scan_thread (Scanner* self); +static void _scanner_authorization_cb_sane_authcallback (const gchar* resource, gchar* username, gchar* password); +void scanner_redetect (Scanner* self); +void scanner_start (Scanner* self); +static gpointer _scanner_scan_thread_gthread_func (gpointer self); +gboolean scanner_is_scanning (Scanner* self); +static gchar* scanner_get_scan_mode_string (Scanner* self, ScanMode mode); +static gchar* scanner_get_scan_type_string (Scanner* self, ScanType type); +void scanner_scan (Scanner* self, const gchar* device, ScanOptions* options); +void scanner_cancel (Scanner* self); +void scanner_free (Scanner* self); +static void g_cclosure_user_marshal_VOID__SCAN_PAGE_INFO (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void g_cclosure_user_marshal_VOID__SCAN_LINE (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void g_cclosure_user_marshal_VOID__INT_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void scanner_finalize (Scanner* 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); + + +ScanDevice* scan_device_construct (GType object_type) { + ScanDevice* self = NULL; +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (ScanDevice*) g_type_create_instance (object_type); +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 985 "scanner.c" +} + + +ScanDevice* scan_device_new (void) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return scan_device_construct (TYPE_SCAN_DEVICE); +#line 992 "scanner.c" +} + + +static void value_scan_device_init (GValue* value) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 999 "scanner.c" +} + + +static void value_scan_device_free_value (GValue* value) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (value->data[0].v_pointer) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_device_unref (value->data[0].v_pointer); +#line 1008 "scanner.c" + } +} + + +static void value_scan_device_copy_value (const GValue* src_value, GValue* dest_value) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (src_value->data[0].v_pointer) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = scan_device_ref (src_value->data[0].v_pointer); +#line 1018 "scanner.c" + } else { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = NULL; +#line 1022 "scanner.c" + } +} + + +static gpointer value_scan_device_peek_pointer (const GValue* value) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 1030 "scanner.c" +} + + +static gchar* value_scan_device_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (collect_values[0].v_pointer) { +#line 1037 "scanner.c" + ScanDevice* object; + object = collect_values[0].v_pointer; +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (object->parent_instance.g_class == NULL) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1044 "scanner.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.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 1048 "scanner.c" + } +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = scan_device_ref (object); +#line 1052 "scanner.c" + } else { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1056 "scanner.c" + } +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 1060 "scanner.c" +} + + +static gchar* value_scan_device_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ScanDevice** object_p; + object_p = collect_values[0].v_pointer; +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!object_p) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1071 "scanner.c" + } +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!value->data[0].v_pointer) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = NULL; +#line 1077 "scanner.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = value->data[0].v_pointer; +#line 1081 "scanner.c" + } else { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = scan_device_ref (value->data[0].v_pointer); +#line 1085 "scanner.c" + } +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 1089 "scanner.c" +} + + +GParamSpec* param_spec_scan_device (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecScanDevice* spec; +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SCAN_DEVICE), NULL); +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return G_PARAM_SPEC (spec); +#line 1103 "scanner.c" +} + + +gpointer value_get_scan_device (const GValue* value) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_DEVICE), NULL); +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 1112 "scanner.c" +} + + +void value_set_scan_device (GValue* value, gpointer v_object) { + ScanDevice* old; +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_DEVICE)); +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SCAN_DEVICE)); +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_device_ref (value->data[0].v_pointer); +#line 1132 "scanner.c" + } else { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1136 "scanner.c" + } +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_device_unref (old); +#line 1142 "scanner.c" + } +} + + +void value_take_scan_device (GValue* value, gpointer v_object) { + ScanDevice* old; +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_DEVICE)); +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SCAN_DEVICE)); +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 1161 "scanner.c" + } else { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1165 "scanner.c" + } +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_device_unref (old); +#line 1171 "scanner.c" + } +} + + +static void scan_device_class_init (ScanDeviceClass * klass) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_device_parent_class = g_type_class_peek_parent (klass); +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + SCAN_DEVICE_CLASS (klass)->finalize = scan_device_finalize; +#line 1181 "scanner.c" +} + + +static void scan_device_instance_init (ScanDevice * self) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->ref_count = 1; +#line 1188 "scanner.c" +} + + +static void scan_device_finalize (ScanDevice* obj) { + ScanDevice * self; +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SCAN_DEVICE, ScanDevice); +#line 16 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->name); +#line 17 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->label); +#line 1200 "scanner.c" +} + + +GType scan_device_get_type (void) { + static volatile gsize scan_device_type_id__volatile = 0; + if (g_once_init_enter (&scan_device_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_scan_device_init, value_scan_device_free_value, value_scan_device_copy_value, value_scan_device_peek_pointer, "p", value_scan_device_collect_value, "p", value_scan_device_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ScanDeviceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) scan_device_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ScanDevice), 0, (GInstanceInitFunc) scan_device_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType scan_device_type_id; + scan_device_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ScanDevice", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&scan_device_type_id__volatile, scan_device_type_id); + } + return scan_device_type_id__volatile; +} + + +gpointer scan_device_ref (gpointer instance) { + ScanDevice* self; + self = instance; +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_atomic_int_inc (&self->ref_count); +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return instance; +#line 1225 "scanner.c" +} + + +void scan_device_unref (gpointer instance) { + ScanDevice* self; + self = instance; +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + SCAN_DEVICE_GET_CLASS (self)->finalize (self); +#line 14 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1238 "scanner.c" + } +} + + +ScanPageInfo* scan_page_info_construct (GType object_type) { + ScanPageInfo* self = NULL; +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (ScanPageInfo*) g_type_create_instance (object_type); +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 1249 "scanner.c" +} + + +ScanPageInfo* scan_page_info_new (void) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return scan_page_info_construct (TYPE_SCAN_PAGE_INFO); +#line 1256 "scanner.c" +} + + +static void value_scan_page_info_init (GValue* value) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1263 "scanner.c" +} + + +static void value_scan_page_info_free_value (GValue* value) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (value->data[0].v_pointer) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_page_info_unref (value->data[0].v_pointer); +#line 1272 "scanner.c" + } +} + + +static void value_scan_page_info_copy_value (const GValue* src_value, GValue* dest_value) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (src_value->data[0].v_pointer) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = scan_page_info_ref (src_value->data[0].v_pointer); +#line 1282 "scanner.c" + } else { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = NULL; +#line 1286 "scanner.c" + } +} + + +static gpointer value_scan_page_info_peek_pointer (const GValue* value) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 1294 "scanner.c" +} + + +static gchar* value_scan_page_info_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (collect_values[0].v_pointer) { +#line 1301 "scanner.c" + ScanPageInfo* object; + object = collect_values[0].v_pointer; +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (object->parent_instance.g_class == NULL) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1308 "scanner.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.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 1312 "scanner.c" + } +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = scan_page_info_ref (object); +#line 1316 "scanner.c" + } else { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1320 "scanner.c" + } +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 1324 "scanner.c" +} + + +static gchar* value_scan_page_info_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ScanPageInfo** object_p; + object_p = collect_values[0].v_pointer; +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!object_p) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1335 "scanner.c" + } +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!value->data[0].v_pointer) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = NULL; +#line 1341 "scanner.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = value->data[0].v_pointer; +#line 1345 "scanner.c" + } else { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = scan_page_info_ref (value->data[0].v_pointer); +#line 1349 "scanner.c" + } +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 1353 "scanner.c" +} + + +GParamSpec* param_spec_scan_page_info (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecScanPageInfo* spec; +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SCAN_PAGE_INFO), NULL); +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return G_PARAM_SPEC (spec); +#line 1367 "scanner.c" +} + + +gpointer value_get_scan_page_info (const GValue* value) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_PAGE_INFO), NULL); +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 1376 "scanner.c" +} + + +void value_set_scan_page_info (GValue* value, gpointer v_object) { + ScanPageInfo* old; +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_PAGE_INFO)); +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SCAN_PAGE_INFO)); +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_page_info_ref (value->data[0].v_pointer); +#line 1396 "scanner.c" + } else { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1400 "scanner.c" + } +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_page_info_unref (old); +#line 1406 "scanner.c" + } +} + + +void value_take_scan_page_info (GValue* value, gpointer v_object) { + ScanPageInfo* old; +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_PAGE_INFO)); +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SCAN_PAGE_INFO)); +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 1425 "scanner.c" + } else { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1429 "scanner.c" + } +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_page_info_unref (old); +#line 1435 "scanner.c" + } +} + + +static void scan_page_info_class_init (ScanPageInfoClass * klass) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_page_info_parent_class = g_type_class_peek_parent (klass); +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + SCAN_PAGE_INFO_CLASS (klass)->finalize = scan_page_info_finalize; +#line 1445 "scanner.c" +} + + +static void scan_page_info_instance_init (ScanPageInfo * self) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->ref_count = 1; +#line 1452 "scanner.c" +} + + +static void scan_page_info_finalize (ScanPageInfo* obj) { + ScanPageInfo * self; +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SCAN_PAGE_INFO, ScanPageInfo); +#line 36 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->device); +#line 1462 "scanner.c" +} + + +GType scan_page_info_get_type (void) { + static volatile gsize scan_page_info_type_id__volatile = 0; + if (g_once_init_enter (&scan_page_info_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_scan_page_info_init, value_scan_page_info_free_value, value_scan_page_info_copy_value, value_scan_page_info_peek_pointer, "p", value_scan_page_info_collect_value, "p", value_scan_page_info_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ScanPageInfoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) scan_page_info_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ScanPageInfo), 0, (GInstanceInitFunc) scan_page_info_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType scan_page_info_type_id; + scan_page_info_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ScanPageInfo", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&scan_page_info_type_id__volatile, scan_page_info_type_id); + } + return scan_page_info_type_id__volatile; +} + + +gpointer scan_page_info_ref (gpointer instance) { + ScanPageInfo* self; + self = instance; +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_atomic_int_inc (&self->ref_count); +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return instance; +#line 1487 "scanner.c" +} + + +void scan_page_info_unref (gpointer instance) { + ScanPageInfo* self; + self = instance; +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + SCAN_PAGE_INFO_GET_CLASS (self)->finalize (self); +#line 20 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1500 "scanner.c" + } +} + + +ScanLine* scan_line_construct (GType object_type) { + ScanLine* self = NULL; +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (ScanLine*) g_type_create_instance (object_type); +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 1511 "scanner.c" +} + + +ScanLine* scan_line_new (void) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return scan_line_construct (TYPE_SCAN_LINE); +#line 1518 "scanner.c" +} + + +static void value_scan_line_init (GValue* value) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1525 "scanner.c" +} + + +static void value_scan_line_free_value (GValue* value) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (value->data[0].v_pointer) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_line_unref (value->data[0].v_pointer); +#line 1534 "scanner.c" + } +} + + +static void value_scan_line_copy_value (const GValue* src_value, GValue* dest_value) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (src_value->data[0].v_pointer) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = scan_line_ref (src_value->data[0].v_pointer); +#line 1544 "scanner.c" + } else { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = NULL; +#line 1548 "scanner.c" + } +} + + +static gpointer value_scan_line_peek_pointer (const GValue* value) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 1556 "scanner.c" +} + + +static gchar* value_scan_line_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (collect_values[0].v_pointer) { +#line 1563 "scanner.c" + ScanLine* object; + object = collect_values[0].v_pointer; +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (object->parent_instance.g_class == NULL) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1570 "scanner.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.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 1574 "scanner.c" + } +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = scan_line_ref (object); +#line 1578 "scanner.c" + } else { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1582 "scanner.c" + } +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 1586 "scanner.c" +} + + +static gchar* value_scan_line_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ScanLine** object_p; + object_p = collect_values[0].v_pointer; +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!object_p) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1597 "scanner.c" + } +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!value->data[0].v_pointer) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = NULL; +#line 1603 "scanner.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = value->data[0].v_pointer; +#line 1607 "scanner.c" + } else { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = scan_line_ref (value->data[0].v_pointer); +#line 1611 "scanner.c" + } +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 1615 "scanner.c" +} + + +GParamSpec* param_spec_scan_line (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecScanLine* spec; +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SCAN_LINE), NULL); +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return G_PARAM_SPEC (spec); +#line 1629 "scanner.c" +} + + +gpointer value_get_scan_line (const GValue* value) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_LINE), NULL); +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 1638 "scanner.c" +} + + +void value_set_scan_line (GValue* value, gpointer v_object) { + ScanLine* old; +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_LINE)); +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SCAN_LINE)); +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_line_ref (value->data[0].v_pointer); +#line 1658 "scanner.c" + } else { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1662 "scanner.c" + } +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_line_unref (old); +#line 1668 "scanner.c" + } +} + + +void value_take_scan_line (GValue* value, gpointer v_object) { + ScanLine* old; +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_LINE)); +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SCAN_LINE)); +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 1687 "scanner.c" + } else { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1691 "scanner.c" + } +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_line_unref (old); +#line 1697 "scanner.c" + } +} + + +static void scan_line_class_init (ScanLineClass * klass) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_line_parent_class = g_type_class_peek_parent (klass); +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + SCAN_LINE_CLASS (klass)->finalize = scan_line_finalize; +#line 1707 "scanner.c" +} + + +static void scan_line_instance_init (ScanLine * self) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->ref_count = 1; +#line 1714 "scanner.c" +} + + +static void scan_line_finalize (ScanLine* obj) { + ScanLine * self; +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SCAN_LINE, ScanLine); +#line 55 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->data = (g_free (self->data), NULL); +#line 1724 "scanner.c" +} + + +GType scan_line_get_type (void) { + static volatile gsize scan_line_type_id__volatile = 0; + if (g_once_init_enter (&scan_line_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_scan_line_init, value_scan_line_free_value, value_scan_line_copy_value, value_scan_line_peek_pointer, "p", value_scan_line_collect_value, "p", value_scan_line_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ScanLineClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) scan_line_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ScanLine), 0, (GInstanceInitFunc) scan_line_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType scan_line_type_id; + scan_line_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ScanLine", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&scan_line_type_id__volatile, scan_line_type_id); + } + return scan_line_type_id__volatile; +} + + +gpointer scan_line_ref (gpointer instance) { + ScanLine* self; + self = instance; +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_atomic_int_inc (&self->ref_count); +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return instance; +#line 1749 "scanner.c" +} + + +void scan_line_unref (gpointer instance) { + ScanLine* self; + self = instance; +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + SCAN_LINE_GET_CLASS (self)->finalize (self); +#line 39 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1762 "scanner.c" + } +} + + +GType scan_mode_get_type (void) { + static volatile gsize scan_mode_type_id__volatile = 0; + if (g_once_init_enter (&scan_mode_type_id__volatile)) { + static const GEnumValue values[] = {{SCAN_MODE_DEFAULT, "SCAN_MODE_DEFAULT", "default"}, {SCAN_MODE_COLOR, "SCAN_MODE_COLOR", "color"}, {SCAN_MODE_GRAY, "SCAN_MODE_GRAY", "gray"}, {SCAN_MODE_LINEART, "SCAN_MODE_LINEART", "lineart"}, {0, NULL, NULL}}; + GType scan_mode_type_id; + scan_mode_type_id = g_enum_register_static ("ScanMode", values); + g_once_init_leave (&scan_mode_type_id__volatile, scan_mode_type_id); + } + return scan_mode_type_id__volatile; +} + + +GType scan_type_get_type (void) { + static volatile gsize scan_type_type_id__volatile = 0; + if (g_once_init_enter (&scan_type_type_id__volatile)) { + static const GEnumValue values[] = {{SCAN_TYPE_SINGLE, "SCAN_TYPE_SINGLE", "single"}, {SCAN_TYPE_ADF_FRONT, "SCAN_TYPE_ADF_FRONT", "adf-front"}, {SCAN_TYPE_ADF_BACK, "SCAN_TYPE_ADF_BACK", "adf-back"}, {SCAN_TYPE_ADF_BOTH, "SCAN_TYPE_ADF_BOTH", "adf-both"}, {0, NULL, NULL}}; + GType scan_type_type_id; + scan_type_type_id = g_enum_register_static ("ScanType", values); + g_once_init_leave (&scan_type_type_id__volatile, scan_type_type_id); + } + return scan_type_type_id__volatile; +} + + +ScanOptions* scan_options_construct (GType object_type) { + ScanOptions* self = NULL; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (ScanOptions*) g_type_create_instance (object_type); +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 1797 "scanner.c" +} + + +ScanOptions* scan_options_new (void) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return scan_options_construct (TYPE_SCAN_OPTIONS); +#line 1804 "scanner.c" +} + + +static void value_scan_options_init (GValue* value) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1811 "scanner.c" +} + + +static void value_scan_options_free_value (GValue* value) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (value->data[0].v_pointer) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_options_unref (value->data[0].v_pointer); +#line 1820 "scanner.c" + } +} + + +static void value_scan_options_copy_value (const GValue* src_value, GValue* dest_value) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (src_value->data[0].v_pointer) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = scan_options_ref (src_value->data[0].v_pointer); +#line 1830 "scanner.c" + } else { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = NULL; +#line 1834 "scanner.c" + } +} + + +static gpointer value_scan_options_peek_pointer (const GValue* value) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 1842 "scanner.c" +} + + +static gchar* value_scan_options_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (collect_values[0].v_pointer) { +#line 1849 "scanner.c" + ScanOptions* object; + object = collect_values[0].v_pointer; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (object->parent_instance.g_class == NULL) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1856 "scanner.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.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 1860 "scanner.c" + } +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = scan_options_ref (object); +#line 1864 "scanner.c" + } else { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1868 "scanner.c" + } +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 1872 "scanner.c" +} + + +static gchar* value_scan_options_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ScanOptions** object_p; + object_p = collect_values[0].v_pointer; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!object_p) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1883 "scanner.c" + } +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!value->data[0].v_pointer) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = NULL; +#line 1889 "scanner.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = value->data[0].v_pointer; +#line 1893 "scanner.c" + } else { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = scan_options_ref (value->data[0].v_pointer); +#line 1897 "scanner.c" + } +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 1901 "scanner.c" +} + + +GParamSpec* param_spec_scan_options (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecScanOptions* spec; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SCAN_OPTIONS), NULL); +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return G_PARAM_SPEC (spec); +#line 1915 "scanner.c" +} + + +gpointer value_get_scan_options (const GValue* value) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_OPTIONS), NULL); +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 1924 "scanner.c" +} + + +void value_set_scan_options (GValue* value, gpointer v_object) { + ScanOptions* old; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_OPTIONS)); +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SCAN_OPTIONS)); +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_options_ref (value->data[0].v_pointer); +#line 1944 "scanner.c" + } else { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1948 "scanner.c" + } +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_options_unref (old); +#line 1954 "scanner.c" + } +} + + +void value_take_scan_options (GValue* value, gpointer v_object) { + ScanOptions* old; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_OPTIONS)); +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SCAN_OPTIONS)); +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 1973 "scanner.c" + } else { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 1977 "scanner.c" + } +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_options_unref (old); +#line 1983 "scanner.c" + } +} + + +static void scan_options_class_init (ScanOptionsClass * klass) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_options_parent_class = g_type_class_peek_parent (klass); +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + SCAN_OPTIONS_CLASS (klass)->finalize = scan_options_finalize; +#line 1993 "scanner.c" +} + + +static void scan_options_instance_init (ScanOptions * self) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->ref_count = 1; +#line 2000 "scanner.c" +} + + +static void scan_options_finalize (ScanOptions* obj) { + ScanOptions * self; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SCAN_OPTIONS, ScanOptions); +#line 2008 "scanner.c" +} + + +GType scan_options_get_type (void) { + static volatile gsize scan_options_type_id__volatile = 0; + if (g_once_init_enter (&scan_options_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_scan_options_init, value_scan_options_free_value, value_scan_options_copy_value, value_scan_options_peek_pointer, "p", value_scan_options_collect_value, "p", value_scan_options_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ScanOptionsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) scan_options_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ScanOptions), 0, (GInstanceInitFunc) scan_options_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType scan_options_type_id; + scan_options_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ScanOptions", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&scan_options_type_id__volatile, scan_options_type_id); + } + return scan_options_type_id__volatile; +} + + +gpointer scan_options_ref (gpointer instance) { + ScanOptions* self; + self = instance; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_atomic_int_inc (&self->ref_count); +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return instance; +#line 2033 "scanner.c" +} + + +void scan_options_unref (gpointer instance) { + ScanOptions* self; + self = instance; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + SCAN_OPTIONS_GET_CLASS (self)->finalize (self); +#line 75 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2046 "scanner.c" + } +} + + +ScanJob* scan_job_construct (GType object_type) { + ScanJob* self = NULL; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (ScanJob*) g_type_create_instance (object_type); +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 2057 "scanner.c" +} + + +ScanJob* scan_job_new (void) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return scan_job_construct (TYPE_SCAN_JOB); +#line 2064 "scanner.c" +} + + +static void value_scan_job_init (GValue* value) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 2071 "scanner.c" +} + + +static void value_scan_job_free_value (GValue* value) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (value->data[0].v_pointer) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_job_unref (value->data[0].v_pointer); +#line 2080 "scanner.c" + } +} + + +static void value_scan_job_copy_value (const GValue* src_value, GValue* dest_value) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (src_value->data[0].v_pointer) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = scan_job_ref (src_value->data[0].v_pointer); +#line 2090 "scanner.c" + } else { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = NULL; +#line 2094 "scanner.c" + } +} + + +static gpointer value_scan_job_peek_pointer (const GValue* value) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 2102 "scanner.c" +} + + +static gchar* value_scan_job_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (collect_values[0].v_pointer) { +#line 2109 "scanner.c" + ScanJob* object; + object = collect_values[0].v_pointer; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (object->parent_instance.g_class == NULL) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2116 "scanner.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.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 2120 "scanner.c" + } +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = scan_job_ref (object); +#line 2124 "scanner.c" + } else { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 2128 "scanner.c" + } +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 2132 "scanner.c" +} + + +static gchar* value_scan_job_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ScanJob** object_p; + object_p = collect_values[0].v_pointer; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!object_p) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2143 "scanner.c" + } +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!value->data[0].v_pointer) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = NULL; +#line 2149 "scanner.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = value->data[0].v_pointer; +#line 2153 "scanner.c" + } else { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = scan_job_ref (value->data[0].v_pointer); +#line 2157 "scanner.c" + } +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 2161 "scanner.c" +} + + +GParamSpec* param_spec_scan_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecScanJob* spec; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SCAN_JOB), NULL); +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return G_PARAM_SPEC (spec); +#line 2175 "scanner.c" +} + + +gpointer value_get_scan_job (const GValue* value) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_JOB), NULL); +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 2184 "scanner.c" +} + + +void value_set_scan_job (GValue* value, gpointer v_object) { + ScanJob* old; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_JOB)); +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SCAN_JOB)); +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_job_ref (value->data[0].v_pointer); +#line 2204 "scanner.c" + } else { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 2208 "scanner.c" + } +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_job_unref (old); +#line 2214 "scanner.c" + } +} + + +void value_take_scan_job (GValue* value, gpointer v_object) { + ScanJob* old; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCAN_JOB)); +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SCAN_JOB)); +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 2233 "scanner.c" + } else { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 2237 "scanner.c" + } +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_job_unref (old); +#line 2243 "scanner.c" + } +} + + +static void scan_job_class_init (ScanJobClass * klass) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_job_parent_class = g_type_class_peek_parent (klass); +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + SCAN_JOB_CLASS (klass)->finalize = scan_job_finalize; +#line 2253 "scanner.c" +} + + +static void scan_job_instance_init (ScanJob * self) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->ref_count = 1; +#line 2260 "scanner.c" +} + + +static void scan_job_finalize (ScanJob* obj) { + ScanJob * self; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SCAN_JOB, ScanJob); +#line 90 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->device); +#line 2270 "scanner.c" +} + + +GType scan_job_get_type (void) { + static volatile gsize scan_job_type_id__volatile = 0; + if (g_once_init_enter (&scan_job_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_scan_job_init, value_scan_job_free_value, value_scan_job_copy_value, value_scan_job_peek_pointer, "p", value_scan_job_collect_value, "p", value_scan_job_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ScanJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) scan_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ScanJob), 0, (GInstanceInitFunc) scan_job_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType scan_job_type_id; + scan_job_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ScanJob", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&scan_job_type_id__volatile, scan_job_type_id); + } + return scan_job_type_id__volatile; +} + + +gpointer scan_job_ref (gpointer instance) { + ScanJob* self; + self = instance; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_atomic_int_inc (&self->ref_count); +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return instance; +#line 2295 "scanner.c" +} + + +void scan_job_unref (gpointer instance) { + ScanJob* self; + self = instance; +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + SCAN_JOB_GET_CLASS (self)->finalize (self); +#line 87 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2308 "scanner.c" + } +} + + +Request* request_construct (GType object_type) { + Request* self = NULL; +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (Request*) g_type_create_instance (object_type); +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 2319 "scanner.c" +} + + +Request* request_new (void) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return request_construct (TYPE_REQUEST); +#line 2326 "scanner.c" +} + + +static void value_request_init (GValue* value) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 2333 "scanner.c" +} + + +static void value_request_free_value (GValue* value) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (value->data[0].v_pointer) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + request_unref (value->data[0].v_pointer); +#line 2342 "scanner.c" + } +} + + +static void value_request_copy_value (const GValue* src_value, GValue* dest_value) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (src_value->data[0].v_pointer) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = request_ref (src_value->data[0].v_pointer); +#line 2352 "scanner.c" + } else { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = NULL; +#line 2356 "scanner.c" + } +} + + +static gpointer value_request_peek_pointer (const GValue* value) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 2364 "scanner.c" +} + + +static gchar* value_request_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (collect_values[0].v_pointer) { +#line 2371 "scanner.c" + Request* object; + object = collect_values[0].v_pointer; +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (object->parent_instance.g_class == NULL) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2378 "scanner.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.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 2382 "scanner.c" + } +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = request_ref (object); +#line 2386 "scanner.c" + } else { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 2390 "scanner.c" + } +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 2394 "scanner.c" +} + + +static gchar* value_request_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + Request** object_p; + object_p = collect_values[0].v_pointer; +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!object_p) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2405 "scanner.c" + } +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!value->data[0].v_pointer) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = NULL; +#line 2411 "scanner.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = value->data[0].v_pointer; +#line 2415 "scanner.c" + } else { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = request_ref (value->data[0].v_pointer); +#line 2419 "scanner.c" + } +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 2423 "scanner.c" +} + + +GParamSpec* param_spec_request (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecRequest* spec; +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_REQUEST), NULL); +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return G_PARAM_SPEC (spec); +#line 2437 "scanner.c" +} + + +gpointer value_get_request (const GValue* value) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_REQUEST), NULL); +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 2446 "scanner.c" +} + + +void value_set_request (GValue* value, gpointer v_object) { + Request* old; +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_REQUEST)); +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_REQUEST)); +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + request_ref (value->data[0].v_pointer); +#line 2466 "scanner.c" + } else { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 2470 "scanner.c" + } +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + request_unref (old); +#line 2476 "scanner.c" + } +} + + +void value_take_request (GValue* value, gpointer v_object) { + Request* old; +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_REQUEST)); +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_REQUEST)); +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 2495 "scanner.c" + } else { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 2499 "scanner.c" + } +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + request_unref (old); +#line 2505 "scanner.c" + } +} + + +static void request_class_init (RequestClass * klass) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + request_parent_class = g_type_class_peek_parent (klass); +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + REQUEST_CLASS (klass)->finalize = request_finalize; +#line 2515 "scanner.c" +} + + +static void request_instance_init (Request * self) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->ref_count = 1; +#line 2522 "scanner.c" +} + + +static void request_finalize (Request* obj) { + Request * self; +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_REQUEST, Request); +#line 2530 "scanner.c" +} + + +GType request_get_type (void) { + static volatile gsize request_type_id__volatile = 0; + if (g_once_init_enter (&request_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_request_init, value_request_free_value, value_request_copy_value, value_request_peek_pointer, "p", value_request_collect_value, "p", value_request_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (RequestClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) request_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Request), 0, (GInstanceInitFunc) request_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType request_type_id; + request_type_id = g_type_register_fundamental (g_type_fundamental_next (), "Request", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&request_type_id__volatile, request_type_id); + } + return request_type_id__volatile; +} + + +gpointer request_ref (gpointer instance) { + Request* self; + self = instance; +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_atomic_int_inc (&self->ref_count); +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return instance; +#line 2555 "scanner.c" +} + + +void request_unref (gpointer instance) { + Request* self; + self = instance; +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + REQUEST_GET_CLASS (self)->finalize (self); +#line 101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2568 "scanner.c" + } +} + + +RequestRedetect* request_redetect_construct (GType object_type) { + RequestRedetect* self = NULL; +#line 103 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (RequestRedetect*) request_construct (object_type); +#line 103 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 2579 "scanner.c" +} + + +RequestRedetect* request_redetect_new (void) { +#line 103 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return request_redetect_construct (TYPE_REQUEST_REDETECT); +#line 2586 "scanner.c" +} + + +static void request_redetect_class_init (RequestRedetectClass * klass) { +#line 103 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + request_redetect_parent_class = g_type_class_peek_parent (klass); +#line 2593 "scanner.c" +} + + +static void request_redetect_instance_init (RequestRedetect * self) { +} + + +GType request_redetect_get_type (void) { + static volatile gsize request_redetect_type_id__volatile = 0; + if (g_once_init_enter (&request_redetect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (RequestRedetectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) request_redetect_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RequestRedetect), 0, (GInstanceInitFunc) request_redetect_instance_init, NULL }; + GType request_redetect_type_id; + request_redetect_type_id = g_type_register_static (TYPE_REQUEST, "RequestRedetect", &g_define_type_info, 0); + g_once_init_leave (&request_redetect_type_id__volatile, request_redetect_type_id); + } + return request_redetect_type_id__volatile; +} + + +RequestCancel* request_cancel_construct (GType object_type) { + RequestCancel* self = NULL; +#line 105 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (RequestCancel*) request_construct (object_type); +#line 105 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 2619 "scanner.c" +} + + +RequestCancel* request_cancel_new (void) { +#line 105 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return request_cancel_construct (TYPE_REQUEST_CANCEL); +#line 2626 "scanner.c" +} + + +static void request_cancel_class_init (RequestCancelClass * klass) { +#line 105 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + request_cancel_parent_class = g_type_class_peek_parent (klass); +#line 2633 "scanner.c" +} + + +static void request_cancel_instance_init (RequestCancel * self) { +} + + +GType request_cancel_get_type (void) { + static volatile gsize request_cancel_type_id__volatile = 0; + if (g_once_init_enter (&request_cancel_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (RequestCancelClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) request_cancel_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RequestCancel), 0, (GInstanceInitFunc) request_cancel_instance_init, NULL }; + GType request_cancel_type_id; + request_cancel_type_id = g_type_register_static (TYPE_REQUEST, "RequestCancel", &g_define_type_info, 0); + g_once_init_leave (&request_cancel_type_id__volatile, request_cancel_type_id); + } + return request_cancel_type_id__volatile; +} + + +RequestStartScan* request_start_scan_construct (GType object_type) { + RequestStartScan* self = NULL; +#line 107 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (RequestStartScan*) request_construct (object_type); +#line 107 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 2659 "scanner.c" +} + + +RequestStartScan* request_start_scan_new (void) { +#line 107 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return request_start_scan_construct (TYPE_REQUEST_START_SCAN); +#line 2666 "scanner.c" +} + + +static void request_start_scan_class_init (RequestStartScanClass * klass) { +#line 107 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + request_start_scan_parent_class = g_type_class_peek_parent (klass); +#line 107 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + REQUEST_CLASS (klass)->finalize = request_start_scan_finalize; +#line 2675 "scanner.c" +} + + +static void request_start_scan_instance_init (RequestStartScan * self) { +} + + +static void request_start_scan_finalize (Request* obj) { + RequestStartScan * self; +#line 107 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_REQUEST_START_SCAN, RequestStartScan); +#line 109 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (self->job); +#line 107 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + REQUEST_CLASS (request_start_scan_parent_class)->finalize (obj); +#line 2691 "scanner.c" +} + + +GType request_start_scan_get_type (void) { + static volatile gsize request_start_scan_type_id__volatile = 0; + if (g_once_init_enter (&request_start_scan_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (RequestStartScanClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) request_start_scan_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RequestStartScan), 0, (GInstanceInitFunc) request_start_scan_instance_init, NULL }; + GType request_start_scan_type_id; + request_start_scan_type_id = g_type_register_static (TYPE_REQUEST, "RequestStartScan", &g_define_type_info, 0); + g_once_init_leave (&request_start_scan_type_id__volatile, request_start_scan_type_id); + } + return request_start_scan_type_id__volatile; +} + + +RequestQuit* request_quit_construct (GType object_type) { + RequestQuit* self = NULL; +#line 112 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (RequestQuit*) request_construct (object_type); +#line 112 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 2713 "scanner.c" +} + + +RequestQuit* request_quit_new (void) { +#line 112 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return request_quit_construct (TYPE_REQUEST_QUIT); +#line 2720 "scanner.c" +} + + +static void request_quit_class_init (RequestQuitClass * klass) { +#line 112 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + request_quit_parent_class = g_type_class_peek_parent (klass); +#line 2727 "scanner.c" +} + + +static void request_quit_instance_init (RequestQuit * self) { +} + + +GType request_quit_get_type (void) { + static volatile gsize request_quit_type_id__volatile = 0; + if (g_once_init_enter (&request_quit_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (RequestQuitClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) request_quit_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RequestQuit), 0, (GInstanceInitFunc) request_quit_instance_init, NULL }; + GType request_quit_type_id; + request_quit_type_id = g_type_register_static (TYPE_REQUEST, "RequestQuit", &g_define_type_info, 0); + g_once_init_leave (&request_quit_type_id__volatile, request_quit_type_id); + } + return request_quit_type_id__volatile; +} + + +Credentials* credentials_construct (GType object_type) { + Credentials* self = NULL; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (Credentials*) g_type_create_instance (object_type); +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 2753 "scanner.c" +} + + +Credentials* credentials_new (void) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return credentials_construct (TYPE_CREDENTIALS); +#line 2760 "scanner.c" +} + + +static void value_credentials_init (GValue* value) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 2767 "scanner.c" +} + + +static void value_credentials_free_value (GValue* value) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (value->data[0].v_pointer) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + credentials_unref (value->data[0].v_pointer); +#line 2776 "scanner.c" + } +} + + +static void value_credentials_copy_value (const GValue* src_value, GValue* dest_value) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (src_value->data[0].v_pointer) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = credentials_ref (src_value->data[0].v_pointer); +#line 2786 "scanner.c" + } else { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = NULL; +#line 2790 "scanner.c" + } +} + + +static gpointer value_credentials_peek_pointer (const GValue* value) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 2798 "scanner.c" +} + + +static gchar* value_credentials_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (collect_values[0].v_pointer) { +#line 2805 "scanner.c" + Credentials* object; + object = collect_values[0].v_pointer; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (object->parent_instance.g_class == NULL) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2812 "scanner.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.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 2816 "scanner.c" + } +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = credentials_ref (object); +#line 2820 "scanner.c" + } else { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 2824 "scanner.c" + } +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 2828 "scanner.c" +} + + +static gchar* value_credentials_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + Credentials** object_p; + object_p = collect_values[0].v_pointer; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!object_p) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2839 "scanner.c" + } +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!value->data[0].v_pointer) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = NULL; +#line 2845 "scanner.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = value->data[0].v_pointer; +#line 2849 "scanner.c" + } else { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = credentials_ref (value->data[0].v_pointer); +#line 2853 "scanner.c" + } +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 2857 "scanner.c" +} + + +GParamSpec* param_spec_credentials (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecCredentials* spec; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_CREDENTIALS), NULL); +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return G_PARAM_SPEC (spec); +#line 2871 "scanner.c" +} + + +gpointer value_get_credentials (const GValue* value) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_CREDENTIALS), NULL); +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 2880 "scanner.c" +} + + +void value_set_credentials (GValue* value, gpointer v_object) { + Credentials* old; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_CREDENTIALS)); +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_CREDENTIALS)); +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + credentials_ref (value->data[0].v_pointer); +#line 2900 "scanner.c" + } else { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 2904 "scanner.c" + } +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + credentials_unref (old); +#line 2910 "scanner.c" + } +} + + +void value_take_credentials (GValue* value, gpointer v_object) { + Credentials* old; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_CREDENTIALS)); +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_CREDENTIALS)); +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 2929 "scanner.c" + } else { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 2933 "scanner.c" + } +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + credentials_unref (old); +#line 2939 "scanner.c" + } +} + + +static void credentials_class_init (CredentialsClass * klass) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + credentials_parent_class = g_type_class_peek_parent (klass); +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + CREDENTIALS_CLASS (klass)->finalize = credentials_finalize; +#line 2949 "scanner.c" +} + + +static void credentials_instance_init (Credentials * self) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->ref_count = 1; +#line 2956 "scanner.c" +} + + +static void credentials_finalize (Credentials* obj) { + Credentials * self; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CREDENTIALS, Credentials); +#line 116 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->username); +#line 117 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->password); +#line 2968 "scanner.c" +} + + +GType credentials_get_type (void) { + static volatile gsize credentials_type_id__volatile = 0; + if (g_once_init_enter (&credentials_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_credentials_init, value_credentials_free_value, value_credentials_copy_value, value_credentials_peek_pointer, "p", value_credentials_collect_value, "p", value_credentials_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (CredentialsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) credentials_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Credentials), 0, (GInstanceInitFunc) credentials_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType credentials_type_id; + credentials_type_id = g_type_register_fundamental (g_type_fundamental_next (), "Credentials", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&credentials_type_id__volatile, credentials_type_id); + } + return credentials_type_id__volatile; +} + + +gpointer credentials_ref (gpointer instance) { + Credentials* self; + self = instance; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_atomic_int_inc (&self->ref_count); +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return instance; +#line 2993 "scanner.c" +} + + +void credentials_unref (gpointer instance) { + Credentials* self; + self = instance; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + CREDENTIALS_GET_CLASS (self)->finalize (self); +#line 114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3006 "scanner.c" + } +} + + +GType scan_state_get_type (void) { + static volatile gsize scan_state_type_id__volatile = 0; + if (g_once_init_enter (&scan_state_type_id__volatile)) { + static const GEnumValue values[] = {{SCAN_STATE_IDLE, "SCAN_STATE_IDLE", "idle"}, {SCAN_STATE_REDETECT, "SCAN_STATE_REDETECT", "redetect"}, {SCAN_STATE_OPEN, "SCAN_STATE_OPEN", "open"}, {SCAN_STATE_GET_OPTION, "SCAN_STATE_GET_OPTION", "get-option"}, {SCAN_STATE_START, "SCAN_STATE_START", "start"}, {SCAN_STATE_GET_PARAMETERS, "SCAN_STATE_GET_PARAMETERS", "get-parameters"}, {SCAN_STATE_READ, "SCAN_STATE_READ", "read"}, {0, NULL, NULL}}; + GType scan_state_type_id; + scan_state_type_id = g_enum_register_static ("ScanState", values); + g_once_init_leave (&scan_state_type_id__volatile, scan_state_type_id); + } + return scan_state_type_id__volatile; +} + + +static void notify_real_run (Notify* self, Scanner* scanner) { +#line 133 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (scanner != NULL); +#line 3026 "scanner.c" +} + + +void notify_run (Notify* self, Scanner* scanner) { +#line 133 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 133 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_GET_CLASS (self)->run (self, scanner); +#line 3035 "scanner.c" +} + + +Notify* notify_construct (GType object_type) { + Notify* self = NULL; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (Notify*) g_type_create_instance (object_type); +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 3045 "scanner.c" +} + + +Notify* notify_new (void) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return notify_construct (TYPE_NOTIFY); +#line 3052 "scanner.c" +} + + +static void value_notify_init (GValue* value) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 3059 "scanner.c" +} + + +static void value_notify_free_value (GValue* value) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (value->data[0].v_pointer) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_unref (value->data[0].v_pointer); +#line 3068 "scanner.c" + } +} + + +static void value_notify_copy_value (const GValue* src_value, GValue* dest_value) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (src_value->data[0].v_pointer) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = notify_ref (src_value->data[0].v_pointer); +#line 3078 "scanner.c" + } else { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = NULL; +#line 3082 "scanner.c" + } +} + + +static gpointer value_notify_peek_pointer (const GValue* value) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 3090 "scanner.c" +} + + +static gchar* value_notify_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (collect_values[0].v_pointer) { +#line 3097 "scanner.c" + Notify* object; + object = collect_values[0].v_pointer; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (object->parent_instance.g_class == NULL) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3104 "scanner.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.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 3108 "scanner.c" + } +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = notify_ref (object); +#line 3112 "scanner.c" + } else { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 3116 "scanner.c" + } +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 3120 "scanner.c" +} + + +static gchar* value_notify_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + Notify** object_p; + object_p = collect_values[0].v_pointer; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!object_p) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3131 "scanner.c" + } +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!value->data[0].v_pointer) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = NULL; +#line 3137 "scanner.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = value->data[0].v_pointer; +#line 3141 "scanner.c" + } else { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = notify_ref (value->data[0].v_pointer); +#line 3145 "scanner.c" + } +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 3149 "scanner.c" +} + + +GParamSpec* param_spec_notify (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecNotify* spec; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_NOTIFY), NULL); +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return G_PARAM_SPEC (spec); +#line 3163 "scanner.c" +} + + +gpointer value_get_notify (const GValue* value) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_NOTIFY), NULL); +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 3172 "scanner.c" +} + + +void value_set_notify (GValue* value, gpointer v_object) { + Notify* old; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_NOTIFY)); +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_NOTIFY)); +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_ref (value->data[0].v_pointer); +#line 3192 "scanner.c" + } else { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 3196 "scanner.c" + } +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_unref (old); +#line 3202 "scanner.c" + } +} + + +void value_take_notify (GValue* value, gpointer v_object) { + Notify* old; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_NOTIFY)); +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_NOTIFY)); +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 3221 "scanner.c" + } else { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 3225 "scanner.c" + } +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_unref (old); +#line 3231 "scanner.c" + } +} + + +static void notify_class_init (NotifyClass * klass) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_parent_class = g_type_class_peek_parent (klass); +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->finalize = notify_finalize; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->run = notify_real_run; +#line 3243 "scanner.c" +} + + +static void notify_instance_init (Notify * self) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->ref_count = 1; +#line 3250 "scanner.c" +} + + +static void notify_finalize (Notify* obj) { + Notify * self; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFY, Notify); +#line 3258 "scanner.c" +} + + +GType notify_get_type (void) { + static volatile gsize notify_type_id__volatile = 0; + if (g_once_init_enter (¬ify_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_notify_init, value_notify_free_value, value_notify_copy_value, value_notify_peek_pointer, "p", value_notify_collect_value, "p", value_notify_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (NotifyClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) notify_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Notify), 0, (GInstanceInitFunc) notify_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType notify_type_id; + notify_type_id = g_type_register_fundamental (g_type_fundamental_next (), "Notify", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (¬ify_type_id__volatile, notify_type_id); + } + return notify_type_id__volatile; +} + + +gpointer notify_ref (gpointer instance) { + Notify* self; + self = instance; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_atomic_int_inc (&self->ref_count); +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return instance; +#line 3283 "scanner.c" +} + + +void notify_unref (gpointer instance) { + Notify* self; + self = instance; +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_GET_CLASS (self)->finalize (self); +#line 131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3296 "scanner.c" + } +} + + +static void notify_scanning_changed_real_run (Notify* base, Scanner* scanner) { + NotifyScanningChanged * self; + Scanner* _tmp0_ = NULL; +#line 138 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyScanningChanged*) base; +#line 138 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (scanner != NULL); +#line 138 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = scanner; +#line 138 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_emit_by_name (_tmp0_, "scanning-changed"); +#line 3312 "scanner.c" +} + + +NotifyScanningChanged* notify_scanning_changed_construct (GType object_type) { + NotifyScanningChanged* self = NULL; +#line 136 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyScanningChanged*) notify_construct (object_type); +#line 136 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 3322 "scanner.c" +} + + +NotifyScanningChanged* notify_scanning_changed_new (void) { +#line 136 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return notify_scanning_changed_construct (TYPE_NOTIFY_SCANNING_CHANGED); +#line 3329 "scanner.c" +} + + +static void notify_scanning_changed_class_init (NotifyScanningChangedClass * klass) { +#line 136 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_scanning_changed_parent_class = g_type_class_peek_parent (klass); +#line 136 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->run = notify_scanning_changed_real_run; +#line 3338 "scanner.c" +} + + +static void notify_scanning_changed_instance_init (NotifyScanningChanged * self) { +} + + +GType notify_scanning_changed_get_type (void) { + static volatile gsize notify_scanning_changed_type_id__volatile = 0; + if (g_once_init_enter (¬ify_scanning_changed_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (NotifyScanningChangedClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) notify_scanning_changed_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NotifyScanningChanged), 0, (GInstanceInitFunc) notify_scanning_changed_instance_init, NULL }; + GType notify_scanning_changed_type_id; + notify_scanning_changed_type_id = g_type_register_static (TYPE_NOTIFY, "NotifyScanningChanged", &g_define_type_info, 0); + g_once_init_leave (¬ify_scanning_changed_type_id__volatile, notify_scanning_changed_type_id); + } + return notify_scanning_changed_type_id__volatile; +} + + +static void _scan_device_unref0_ (gpointer var) { +#line 144 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + (var == NULL) ? NULL : (var = (scan_device_unref (var), NULL)); +#line 3361 "scanner.c" +} + + +static void _g_list_free__scan_device_unref0_ (GList* self) { +#line 144 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_list_foreach (self, (GFunc) _scan_device_unref0_, NULL); +#line 144 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_list_free (self); +#line 3370 "scanner.c" +} + + +NotifyUpdateDevices* notify_update_devices_construct (GType object_type, GList* devices) { + NotifyUpdateDevices* self = NULL; + GList* _tmp0_ = NULL; +#line 143 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyUpdateDevices*) notify_construct (object_type); +#line 143 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = devices; +#line 143 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + devices = NULL; +#line 143 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + __g_list_free__scan_device_unref0_0 (self->priv->devices); +#line 143 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->devices = _tmp0_; +#line 143 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + __g_list_free__scan_device_unref0_0 (devices); +#line 143 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 3391 "scanner.c" +} + + +NotifyUpdateDevices* notify_update_devices_new (GList* devices) { +#line 143 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return notify_update_devices_construct (TYPE_NOTIFY_UPDATE_DEVICES, devices); +#line 3398 "scanner.c" +} + + +static void notify_update_devices_real_run (Notify* base, Scanner* scanner) { + NotifyUpdateDevices * self; + Scanner* _tmp0_ = NULL; + GList* _tmp1_ = NULL; +#line 145 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyUpdateDevices*) base; +#line 145 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (scanner != NULL); +#line 145 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = scanner; +#line 145 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = self->priv->devices; +#line 145 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_emit_by_name (_tmp0_, "update-devices", _tmp1_); +#line 3416 "scanner.c" +} + + +static void notify_update_devices_class_init (NotifyUpdateDevicesClass * klass) { +#line 141 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_update_devices_parent_class = g_type_class_peek_parent (klass); +#line 141 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->finalize = notify_update_devices_finalize; +#line 141 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_class_add_private (klass, sizeof (NotifyUpdateDevicesPrivate)); +#line 141 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->run = notify_update_devices_real_run; +#line 3429 "scanner.c" +} + + +static void notify_update_devices_instance_init (NotifyUpdateDevices * self) { +#line 141 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv = NOTIFY_UPDATE_DEVICES_GET_PRIVATE (self); +#line 3436 "scanner.c" +} + + +static void notify_update_devices_finalize (Notify* obj) { + NotifyUpdateDevices * self; +#line 141 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFY_UPDATE_DEVICES, NotifyUpdateDevices); +#line 144 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + __g_list_free__scan_device_unref0_0 (self->priv->devices); +#line 141 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (notify_update_devices_parent_class)->finalize (obj); +#line 3448 "scanner.c" +} + + +GType notify_update_devices_get_type (void) { + static volatile gsize notify_update_devices_type_id__volatile = 0; + if (g_once_init_enter (¬ify_update_devices_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (NotifyUpdateDevicesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) notify_update_devices_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NotifyUpdateDevices), 0, (GInstanceInitFunc) notify_update_devices_instance_init, NULL }; + GType notify_update_devices_type_id; + notify_update_devices_type_id = g_type_register_static (TYPE_NOTIFY, "NotifyUpdateDevices", &g_define_type_info, 0); + g_once_init_leave (¬ify_update_devices_type_id__volatile, notify_update_devices_type_id); + } + return notify_update_devices_type_id__volatile; +} + + +NotifyRequestAuthorization* notify_request_authorization_construct (GType object_type, const gchar* resource) { + NotifyRequestAuthorization* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 150 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (resource != NULL, NULL); +#line 150 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyRequestAuthorization*) notify_construct (object_type); +#line 150 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = resource; +#line 150 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 150 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->priv->resource); +#line 150 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->resource = _tmp1_; +#line 150 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 3482 "scanner.c" +} + + +NotifyRequestAuthorization* notify_request_authorization_new (const gchar* resource) { +#line 150 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return notify_request_authorization_construct (TYPE_NOTIFY_REQUEST_AUTHORIZATION, resource); +#line 3489 "scanner.c" +} + + +static void notify_request_authorization_real_run (Notify* base, Scanner* scanner) { + NotifyRequestAuthorization * self; + Scanner* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 152 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyRequestAuthorization*) base; +#line 152 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (scanner != NULL); +#line 152 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = scanner; +#line 152 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = self->priv->resource; +#line 152 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_emit_by_name (_tmp0_, "request-authorization", _tmp1_); +#line 3507 "scanner.c" +} + + +static void notify_request_authorization_class_init (NotifyRequestAuthorizationClass * klass) { +#line 148 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_request_authorization_parent_class = g_type_class_peek_parent (klass); +#line 148 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->finalize = notify_request_authorization_finalize; +#line 148 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_class_add_private (klass, sizeof (NotifyRequestAuthorizationPrivate)); +#line 148 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->run = notify_request_authorization_real_run; +#line 3520 "scanner.c" +} + + +static void notify_request_authorization_instance_init (NotifyRequestAuthorization * self) { +#line 148 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv = NOTIFY_REQUEST_AUTHORIZATION_GET_PRIVATE (self); +#line 3527 "scanner.c" +} + + +static void notify_request_authorization_finalize (Notify* obj) { + NotifyRequestAuthorization * self; +#line 148 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFY_REQUEST_AUTHORIZATION, NotifyRequestAuthorization); +#line 151 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->priv->resource); +#line 148 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (notify_request_authorization_parent_class)->finalize (obj); +#line 3539 "scanner.c" +} + + +GType notify_request_authorization_get_type (void) { + static volatile gsize notify_request_authorization_type_id__volatile = 0; + if (g_once_init_enter (¬ify_request_authorization_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (NotifyRequestAuthorizationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) notify_request_authorization_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NotifyRequestAuthorization), 0, (GInstanceInitFunc) notify_request_authorization_instance_init, NULL }; + GType notify_request_authorization_type_id; + notify_request_authorization_type_id = g_type_register_static (TYPE_NOTIFY, "NotifyRequestAuthorization", &g_define_type_info, 0); + g_once_init_leave (¬ify_request_authorization_type_id__volatile, notify_request_authorization_type_id); + } + return notify_request_authorization_type_id__volatile; +} + + +NotifyScanFailed* notify_scan_failed_construct (GType object_type, gint error_code, const gchar* error_string) { + NotifyScanFailed* self = NULL; + gint _tmp0_ = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (error_string != NULL, NULL); +#line 157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyScanFailed*) notify_construct (object_type); +#line 157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = error_code; +#line 157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->error_code = _tmp0_; +#line 157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = error_string; +#line 157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->priv->error_string); +#line 157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->error_string = _tmp2_; +#line 157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 3578 "scanner.c" +} + + +NotifyScanFailed* notify_scan_failed_new (gint error_code, const gchar* error_string) { +#line 157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return notify_scan_failed_construct (TYPE_NOTIFY_SCAN_FAILED, error_code, error_string); +#line 3585 "scanner.c" +} + + +static void notify_scan_failed_real_run (Notify* base, Scanner* scanner) { + NotifyScanFailed * self; + Scanner* _tmp0_ = NULL; + gint _tmp1_ = 0; + const gchar* _tmp2_ = NULL; +#line 160 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyScanFailed*) base; +#line 160 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (scanner != NULL); +#line 160 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = scanner; +#line 160 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = self->priv->error_code; +#line 160 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = self->priv->error_string; +#line 160 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_emit_by_name (_tmp0_, "scan-failed", _tmp1_, _tmp2_); +#line 3606 "scanner.c" +} + + +static void notify_scan_failed_class_init (NotifyScanFailedClass * klass) { +#line 155 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_scan_failed_parent_class = g_type_class_peek_parent (klass); +#line 155 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->finalize = notify_scan_failed_finalize; +#line 155 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_class_add_private (klass, sizeof (NotifyScanFailedPrivate)); +#line 155 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->run = notify_scan_failed_real_run; +#line 3619 "scanner.c" +} + + +static void notify_scan_failed_instance_init (NotifyScanFailed * self) { +#line 155 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv = NOTIFY_SCAN_FAILED_GET_PRIVATE (self); +#line 3626 "scanner.c" +} + + +static void notify_scan_failed_finalize (Notify* obj) { + NotifyScanFailed * self; +#line 155 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFY_SCAN_FAILED, NotifyScanFailed); +#line 159 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->priv->error_string); +#line 155 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (notify_scan_failed_parent_class)->finalize (obj); +#line 3638 "scanner.c" +} + + +GType notify_scan_failed_get_type (void) { + static volatile gsize notify_scan_failed_type_id__volatile = 0; + if (g_once_init_enter (¬ify_scan_failed_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (NotifyScanFailedClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) notify_scan_failed_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NotifyScanFailed), 0, (GInstanceInitFunc) notify_scan_failed_instance_init, NULL }; + GType notify_scan_failed_type_id; + notify_scan_failed_type_id = g_type_register_static (TYPE_NOTIFY, "NotifyScanFailed", &g_define_type_info, 0); + g_once_init_leave (¬ify_scan_failed_type_id__volatile, notify_scan_failed_type_id); + } + return notify_scan_failed_type_id__volatile; +} + + +static void notify_document_done_real_run (Notify* base, Scanner* scanner) { + NotifyDocumentDone * self; + Scanner* _tmp0_ = NULL; +#line 165 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyDocumentDone*) base; +#line 165 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (scanner != NULL); +#line 165 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = scanner; +#line 165 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_emit_by_name (_tmp0_, "document-done"); +#line 3665 "scanner.c" +} + + +NotifyDocumentDone* notify_document_done_construct (GType object_type) { + NotifyDocumentDone* self = NULL; +#line 163 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyDocumentDone*) notify_construct (object_type); +#line 163 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 3675 "scanner.c" +} + + +NotifyDocumentDone* notify_document_done_new (void) { +#line 163 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return notify_document_done_construct (TYPE_NOTIFY_DOCUMENT_DONE); +#line 3682 "scanner.c" +} + + +static void notify_document_done_class_init (NotifyDocumentDoneClass * klass) { +#line 163 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_document_done_parent_class = g_type_class_peek_parent (klass); +#line 163 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->run = notify_document_done_real_run; +#line 3691 "scanner.c" +} + + +static void notify_document_done_instance_init (NotifyDocumentDone * self) { +} + + +GType notify_document_done_get_type (void) { + static volatile gsize notify_document_done_type_id__volatile = 0; + if (g_once_init_enter (¬ify_document_done_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (NotifyDocumentDoneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) notify_document_done_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NotifyDocumentDone), 0, (GInstanceInitFunc) notify_document_done_instance_init, NULL }; + GType notify_document_done_type_id; + notify_document_done_type_id = g_type_register_static (TYPE_NOTIFY, "NotifyDocumentDone", &g_define_type_info, 0); + g_once_init_leave (¬ify_document_done_type_id__volatile, notify_document_done_type_id); + } + return notify_document_done_type_id__volatile; +} + + +static void notify_expect_page_real_run (Notify* base, Scanner* scanner) { + NotifyExpectPage * self; + Scanner* _tmp0_ = NULL; +#line 170 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyExpectPage*) base; +#line 170 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (scanner != NULL); +#line 170 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = scanner; +#line 170 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_emit_by_name (_tmp0_, "expect-page"); +#line 3722 "scanner.c" +} + + +NotifyExpectPage* notify_expect_page_construct (GType object_type) { + NotifyExpectPage* self = NULL; +#line 168 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyExpectPage*) notify_construct (object_type); +#line 168 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 3732 "scanner.c" +} + + +NotifyExpectPage* notify_expect_page_new (void) { +#line 168 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return notify_expect_page_construct (TYPE_NOTIFY_EXPECT_PAGE); +#line 3739 "scanner.c" +} + + +static void notify_expect_page_class_init (NotifyExpectPageClass * klass) { +#line 168 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_expect_page_parent_class = g_type_class_peek_parent (klass); +#line 168 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->run = notify_expect_page_real_run; +#line 3748 "scanner.c" +} + + +static void notify_expect_page_instance_init (NotifyExpectPage * self) { +} + + +GType notify_expect_page_get_type (void) { + static volatile gsize notify_expect_page_type_id__volatile = 0; + if (g_once_init_enter (¬ify_expect_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (NotifyExpectPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) notify_expect_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NotifyExpectPage), 0, (GInstanceInitFunc) notify_expect_page_instance_init, NULL }; + GType notify_expect_page_type_id; + notify_expect_page_type_id = g_type_register_static (TYPE_NOTIFY, "NotifyExpectPage", &g_define_type_info, 0); + g_once_init_leave (¬ify_expect_page_type_id__volatile, notify_expect_page_type_id); + } + return notify_expect_page_type_id__volatile; +} + + +static gpointer _scan_page_info_ref0 (gpointer self) { +#line 175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self ? scan_page_info_ref (self) : NULL; +#line 3771 "scanner.c" +} + + +NotifyGotPageInfo* notify_got_page_info_construct (GType object_type, gint job_id, ScanPageInfo* info) { + NotifyGotPageInfo* self = NULL; + gint _tmp0_ = 0; + ScanPageInfo* _tmp1_ = NULL; + ScanPageInfo* _tmp2_ = NULL; +#line 175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (info != NULL, NULL); +#line 175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyGotPageInfo*) notify_construct (object_type); +#line 175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = job_id; +#line 175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->job_id = _tmp0_; +#line 175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = info; +#line 175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = _scan_page_info_ref0 (_tmp1_); +#line 175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_page_info_unref0 (self->priv->info); +#line 175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->info = _tmp2_; +#line 175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 3798 "scanner.c" +} + + +NotifyGotPageInfo* notify_got_page_info_new (gint job_id, ScanPageInfo* info) { +#line 175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return notify_got_page_info_construct (TYPE_NOTIFY_GOT_PAGE_INFO, job_id, info); +#line 3805 "scanner.c" +} + + +static void notify_got_page_info_real_run (Notify* base, Scanner* scanner) { + NotifyGotPageInfo * self; + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + Scanner* _tmp2_ = NULL; + gint _tmp3_ = 0; +#line 178 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyGotPageInfo*) base; +#line 178 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (scanner != NULL); +#line 180 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = self->priv->job_id; +#line 180 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = scanner; +#line 180 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = _tmp2_->first_job_id; +#line 180 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp1_ >= _tmp3_) { +#line 3827 "scanner.c" + gint _tmp4_ = 0; + Scanner* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 180 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = self->priv->job_id; +#line 180 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = scanner; +#line 180 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = _tmp5_->job_id; +#line 180 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = _tmp4_ < _tmp6_; +#line 3839 "scanner.c" + } else { +#line 180 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = FALSE; +#line 3843 "scanner.c" + } +#line 180 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp0_) { +#line 3847 "scanner.c" + Scanner* _tmp7_ = NULL; + ScanPageInfo* _tmp8_ = NULL; +#line 181 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = scanner; +#line 181 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = self->priv->info; +#line 181 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_emit_by_name (_tmp7_, "got-page-info", _tmp8_); +#line 3856 "scanner.c" + } +} + + +static void notify_got_page_info_class_init (NotifyGotPageInfoClass * klass) { +#line 173 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_got_page_info_parent_class = g_type_class_peek_parent (klass); +#line 173 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->finalize = notify_got_page_info_finalize; +#line 173 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_class_add_private (klass, sizeof (NotifyGotPageInfoPrivate)); +#line 173 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->run = notify_got_page_info_real_run; +#line 3870 "scanner.c" +} + + +static void notify_got_page_info_instance_init (NotifyGotPageInfo * self) { +#line 173 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv = NOTIFY_GOT_PAGE_INFO_GET_PRIVATE (self); +#line 3877 "scanner.c" +} + + +static void notify_got_page_info_finalize (Notify* obj) { + NotifyGotPageInfo * self; +#line 173 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFY_GOT_PAGE_INFO, NotifyGotPageInfo); +#line 177 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_page_info_unref0 (self->priv->info); +#line 173 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (notify_got_page_info_parent_class)->finalize (obj); +#line 3889 "scanner.c" +} + + +GType notify_got_page_info_get_type (void) { + static volatile gsize notify_got_page_info_type_id__volatile = 0; + if (g_once_init_enter (¬ify_got_page_info_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (NotifyGotPageInfoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) notify_got_page_info_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NotifyGotPageInfo), 0, (GInstanceInitFunc) notify_got_page_info_instance_init, NULL }; + GType notify_got_page_info_type_id; + notify_got_page_info_type_id = g_type_register_static (TYPE_NOTIFY, "NotifyGotPageInfo", &g_define_type_info, 0); + g_once_init_leave (¬ify_got_page_info_type_id__volatile, notify_got_page_info_type_id); + } + return notify_got_page_info_type_id__volatile; +} + + +NotifyPageDone* notify_page_done_construct (GType object_type, gint job_id) { + NotifyPageDone* self = NULL; + gint _tmp0_ = 0; +#line 187 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyPageDone*) notify_construct (object_type); +#line 187 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = job_id; +#line 187 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->job_id = _tmp0_; +#line 187 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 3916 "scanner.c" +} + + +NotifyPageDone* notify_page_done_new (gint job_id) { +#line 187 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return notify_page_done_construct (TYPE_NOTIFY_PAGE_DONE, job_id); +#line 3923 "scanner.c" +} + + +static void notify_page_done_real_run (Notify* base, Scanner* scanner) { + NotifyPageDone * self; + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + Scanner* _tmp2_ = NULL; + gint _tmp3_ = 0; +#line 189 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyPageDone*) base; +#line 189 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (scanner != NULL); +#line 191 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = self->priv->job_id; +#line 191 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = scanner; +#line 191 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = _tmp2_->first_job_id; +#line 191 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp1_ >= _tmp3_) { +#line 3945 "scanner.c" + gint _tmp4_ = 0; + Scanner* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 191 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = self->priv->job_id; +#line 191 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = scanner; +#line 191 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = _tmp5_->job_id; +#line 191 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = _tmp4_ < _tmp6_; +#line 3957 "scanner.c" + } else { +#line 191 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = FALSE; +#line 3961 "scanner.c" + } +#line 191 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp0_) { +#line 3965 "scanner.c" + Scanner* _tmp7_ = NULL; +#line 192 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = scanner; +#line 192 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_emit_by_name (_tmp7_, "page-done"); +#line 3971 "scanner.c" + } +} + + +static void notify_page_done_class_init (NotifyPageDoneClass * klass) { +#line 185 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_page_done_parent_class = g_type_class_peek_parent (klass); +#line 185 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->finalize = notify_page_done_finalize; +#line 185 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_class_add_private (klass, sizeof (NotifyPageDonePrivate)); +#line 185 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->run = notify_page_done_real_run; +#line 3985 "scanner.c" +} + + +static void notify_page_done_instance_init (NotifyPageDone * self) { +#line 185 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv = NOTIFY_PAGE_DONE_GET_PRIVATE (self); +#line 3992 "scanner.c" +} + + +static void notify_page_done_finalize (Notify* obj) { + NotifyPageDone * self; +#line 185 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFY_PAGE_DONE, NotifyPageDone); +#line 185 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (notify_page_done_parent_class)->finalize (obj); +#line 4002 "scanner.c" +} + + +GType notify_page_done_get_type (void) { + static volatile gsize notify_page_done_type_id__volatile = 0; + if (g_once_init_enter (¬ify_page_done_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (NotifyPageDoneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) notify_page_done_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NotifyPageDone), 0, (GInstanceInitFunc) notify_page_done_instance_init, NULL }; + GType notify_page_done_type_id; + notify_page_done_type_id = g_type_register_static (TYPE_NOTIFY, "NotifyPageDone", &g_define_type_info, 0); + g_once_init_leave (¬ify_page_done_type_id__volatile, notify_page_done_type_id); + } + return notify_page_done_type_id__volatile; +} + + +static gpointer _scan_line_ref0 (gpointer self) { +#line 198 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self ? scan_line_ref (self) : NULL; +#line 4021 "scanner.c" +} + + +NotifyGotLine* notify_got_line_construct (GType object_type, gint job_id, ScanLine* line) { + NotifyGotLine* self = NULL; + gint _tmp0_ = 0; + ScanLine* _tmp1_ = NULL; + ScanLine* _tmp2_ = NULL; +#line 198 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (line != NULL, NULL); +#line 198 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyGotLine*) notify_construct (object_type); +#line 198 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = job_id; +#line 198 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->job_id = _tmp0_; +#line 198 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = line; +#line 198 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = _scan_line_ref0 (_tmp1_); +#line 198 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_line_unref0 (self->priv->line); +#line 198 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->line = _tmp2_; +#line 198 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 4048 "scanner.c" +} + + +NotifyGotLine* notify_got_line_new (gint job_id, ScanLine* line) { +#line 198 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return notify_got_line_construct (TYPE_NOTIFY_GOT_LINE, job_id, line); +#line 4055 "scanner.c" +} + + +static void notify_got_line_real_run (Notify* base, Scanner* scanner) { + NotifyGotLine * self; + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + Scanner* _tmp2_ = NULL; + gint _tmp3_ = 0; +#line 201 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (NotifyGotLine*) base; +#line 201 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (scanner != NULL); +#line 203 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = self->priv->job_id; +#line 203 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = scanner; +#line 203 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = _tmp2_->first_job_id; +#line 203 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp1_ >= _tmp3_) { +#line 4077 "scanner.c" + gint _tmp4_ = 0; + Scanner* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 203 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = self->priv->job_id; +#line 203 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = scanner; +#line 203 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = _tmp5_->job_id; +#line 203 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = _tmp4_ < _tmp6_; +#line 4089 "scanner.c" + } else { +#line 203 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = FALSE; +#line 4093 "scanner.c" + } +#line 203 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp0_) { +#line 4097 "scanner.c" + Scanner* _tmp7_ = NULL; + ScanLine* _tmp8_ = NULL; +#line 204 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = scanner; +#line 204 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = self->priv->line; +#line 204 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_emit_by_name (_tmp7_, "got-line", _tmp8_); +#line 4106 "scanner.c" + } +} + + +static void notify_got_line_class_init (NotifyGotLineClass * klass) { +#line 196 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_got_line_parent_class = g_type_class_peek_parent (klass); +#line 196 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->finalize = notify_got_line_finalize; +#line 196 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_class_add_private (klass, sizeof (NotifyGotLinePrivate)); +#line 196 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (klass)->run = notify_got_line_real_run; +#line 4120 "scanner.c" +} + + +static void notify_got_line_instance_init (NotifyGotLine * self) { +#line 196 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv = NOTIFY_GOT_LINE_GET_PRIVATE (self); +#line 4127 "scanner.c" +} + + +static void notify_got_line_finalize (Notify* obj) { + NotifyGotLine * self; +#line 196 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFY_GOT_LINE, NotifyGotLine); +#line 200 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_line_unref0 (self->priv->line); +#line 196 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + NOTIFY_CLASS (notify_got_line_parent_class)->finalize (obj); +#line 4139 "scanner.c" +} + + +GType notify_got_line_get_type (void) { + static volatile gsize notify_got_line_type_id__volatile = 0; + if (g_once_init_enter (¬ify_got_line_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (NotifyGotLineClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) notify_got_line_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NotifyGotLine), 0, (GInstanceInitFunc) notify_got_line_instance_init, NULL }; + GType notify_got_line_type_id; + notify_got_line_type_id = g_type_register_static (TYPE_NOTIFY, "NotifyGotLine", &g_define_type_info, 0); + g_once_init_leave (¬ify_got_line_type_id__volatile, notify_got_line_type_id); + } + return notify_got_line_type_id__volatile; +} + + +static void _scan_job_unref0_ (gpointer var) { +#line 234 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + (var == NULL) ? NULL : (var = (scan_job_unref (var), NULL)); +#line 4158 "scanner.c" +} + + +static void _g_list_free__scan_job_unref0_ (GList* self) { +#line 234 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_list_foreach (self, (GFunc) _scan_job_unref0_, NULL); +#line 234 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_list_free (self); +#line 4167 "scanner.c" +} + + +static void _request_unref0_ (gpointer var) { +#line 273 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + (var == NULL) ? NULL : (var = (request_unref (var), NULL)); +#line 4174 "scanner.c" +} + + +static void _notify_unref0_ (gpointer var) { +#line 274 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + (var == NULL) ? NULL : (var = (notify_unref (var), NULL)); +#line 4181 "scanner.c" +} + + +static void _credentials_unref0_ (gpointer var) { +#line 275 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + (var == NULL) ? NULL : (var = (credentials_unref (var), NULL)); +#line 4188 "scanner.c" +} + + +static Scanner* scanner_construct (GType object_type) { + Scanner* self = NULL; + GAsyncQueue* _tmp0_ = NULL; + GAsyncQueue* _tmp1_ = NULL; + GAsyncQueue* _tmp2_ = NULL; +#line 271 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = (Scanner*) g_type_create_instance (object_type); +#line 273 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = g_async_queue_new_full (_request_unref0_); +#line 273 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_async_queue_unref0 (self->priv->request_queue); +#line 273 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->request_queue = _tmp0_; +#line 274 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = g_async_queue_new_full (_notify_unref0_); +#line 274 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_async_queue_unref0 (self->priv->notify_queue); +#line 274 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->notify_queue = _tmp1_; +#line 275 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = g_async_queue_new_full (_credentials_unref0_); +#line 275 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_async_queue_unref0 (self->priv->authorize_queue); +#line 275 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->authorize_queue = _tmp2_; +#line 271 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self; +#line 4219 "scanner.c" +} + + +static Scanner* scanner_new (void) { +#line 271 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return scanner_construct (TYPE_SCANNER); +#line 4226 "scanner.c" +} + + +static gpointer _scanner_ref0 (gpointer self) { +#line 282 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self ? scanner_ref (self) : NULL; +#line 4233 "scanner.c" +} + + +Scanner* scanner_get_instance (void) { + Scanner* result = NULL; + Scanner* _tmp0_ = NULL; + Scanner* _tmp2_ = NULL; + Scanner* _tmp3_ = NULL; +#line 280 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = scanner_scanner_object; +#line 280 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp0_ == NULL) { +#line 4246 "scanner.c" + Scanner* _tmp1_ = NULL; +#line 281 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = scanner_new (); +#line 281 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scanner_unref0 (scanner_scanner_object); +#line 281 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_scanner_object = _tmp1_; +#line 4254 "scanner.c" + } +#line 282 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = scanner_scanner_object; +#line 282 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = _scanner_ref0 (_tmp2_); +#line 282 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp3_; +#line 282 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 4264 "scanner.c" +} + + +static gboolean scanner_notify_idle_cb (Scanner* self) { + gboolean result = FALSE; + Notify* notification = NULL; + GAsyncQueue* _tmp0_ = NULL; + gpointer _tmp1_ = NULL; +#line 285 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (self != NULL, FALSE); +#line 287 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = self->priv->notify_queue; +#line 287 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = g_async_queue_pop (_tmp0_); +#line 287 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notification = (Notify*) _tmp1_; +#line 288 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + notify_run (notification, self); +#line 289 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = FALSE; +#line 289 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _notify_unref0 (notification); +#line 289 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 4289 "scanner.c" +} + + +static gpointer _notify_ref0 (gpointer self) { +#line 294 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self ? notify_ref (self) : NULL; +#line 4296 "scanner.c" +} + + +static gboolean _scanner_notify_idle_cb_gsource_func (gpointer self) { + gboolean result; + result = scanner_notify_idle_cb ((Scanner*) self); +#line 295 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 4305 "scanner.c" +} + + +static void scanner_notify (Scanner* self, Notify* notification) { + GAsyncQueue* _tmp0_ = NULL; + Notify* _tmp1_ = NULL; + Notify* _tmp2_ = NULL; +#line 292 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 292 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (notification != NULL); +#line 294 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = self->priv->notify_queue; +#line 294 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = notification; +#line 294 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = _notify_ref0 (_tmp1_); +#line 294 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_async_queue_push (_tmp0_, _tmp2_); +#line 295 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, _scanner_notify_idle_cb_gsource_func, scanner_ref (self), scanner_unref); +#line 4327 "scanner.c" +} + + +static void scanner_set_scanning (Scanner* self, gboolean is_scanning) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 298 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = self->priv->scanning; +#line 300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp2_) { +#line 4341 "scanner.c" + gboolean _tmp3_ = FALSE; +#line 300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = is_scanning; +#line 300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = !_tmp3_; +#line 4347 "scanner.c" + } else { +#line 300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = FALSE; +#line 4351 "scanner.c" + } +#line 300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp1_) { +#line 300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = TRUE; +#line 4357 "scanner.c" + } else { + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = self->priv->scanning; +#line 300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp5_) { +#line 4365 "scanner.c" + gboolean _tmp6_ = FALSE; +#line 300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = is_scanning; +#line 300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = _tmp6_; +#line 4371 "scanner.c" + } else { +#line 300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = FALSE; +#line 4375 "scanner.c" + } +#line 300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = _tmp4_; +#line 4379 "scanner.c" + } +#line 300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp0_) { +#line 4383 "scanner.c" + gboolean _tmp7_ = FALSE; + NotifyScanningChanged* _tmp8_ = NULL; + NotifyScanningChanged* _tmp9_ = NULL; +#line 302 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = is_scanning; +#line 302 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->scanning = _tmp7_; +#line 303 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = notify_scanning_changed_new (); +#line 303 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = _tmp8_; +#line 303 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_notify (self, (Notify*) _tmp9_); +#line 303 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _notify_unref0 (_tmp9_); +#line 4399 "scanner.c" + } +} + + +static gboolean string_contains (const gchar* self, const gchar* needle) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1274 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, FALSE); +#line 1274 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, FALSE); +#line 1275 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp0_ = needle; +#line 1275 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); +#line 1275 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + result = _tmp1_ != NULL; +#line 1275 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + return result; +#line 4420 "scanner.c" +} + + +static gint scanner_get_device_weight (const gchar* device) { + gint result = 0; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 307 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (device != NULL, 0); +#line 312 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = device; +#line 312 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = g_str_has_prefix (_tmp0_, "vfl:"); +#line 312 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp1_) { +#line 313 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = 2; +#line 313 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 4442 "scanner.c" + } +#line 316 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = device; +#line 316 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = string_contains (_tmp2_, "usb"); +#line 316 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp3_) { +#line 317 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = 0; +#line 317 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 4454 "scanner.c" + } +#line 319 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = 1; +#line 319 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 4460 "scanner.c" +} + + +static gint scanner_compare_devices (ScanDevice* device1, ScanDevice* device2) { + gint result = 0; + gint weight1 = 0; + ScanDevice* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint weight2 = 0; + ScanDevice* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + GCompareFunc _tmp10_ = NULL; + ScanDevice* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + ScanDevice* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gint _tmp15_ = 0; +#line 322 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (device1 != NULL, 0); +#line 322 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (device2 != NULL, 0); +#line 326 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = device1; +#line 326 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = _tmp0_->name; +#line 326 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = scanner_get_device_weight (_tmp1_); +#line 326 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + weight1 = _tmp2_; +#line 327 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = device2; +#line 327 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = _tmp3_->name; +#line 327 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = scanner_get_device_weight (_tmp4_); +#line 327 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + weight2 = _tmp5_; +#line 328 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = weight1; +#line 328 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = weight2; +#line 328 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp6_ != _tmp7_) { +#line 4508 "scanner.c" + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 329 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = weight1; +#line 329 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = weight2; +#line 329 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp8_ - _tmp9_; +#line 329 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 4519 "scanner.c" + } +#line 331 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = g_strcmp0; +#line 331 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = device1; +#line 331 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = _tmp11_->label; +#line 331 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = device2; +#line 331 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = _tmp13_->label; +#line 331 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = _tmp10_ (_tmp12_, _tmp14_); +#line 331 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp15_; +#line 331 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 4537 "scanner.c" +} + + +static gchar* sane_status_to_string (SANE_Status status) { + gchar* result = NULL; + SANE_Status _tmp0_ = 0; +#line 54 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp0_ = status; +#line 54 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + switch (_tmp0_) { +#line 54 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_STATUS_GOOD: +#line 4550 "scanner.c" + { + gchar* _tmp1_ = NULL; +#line 57 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp1_ = g_strdup ("SANE_STATUS_GOOD"); +#line 57 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp1_; +#line 57 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 4559 "scanner.c" + } +#line 54 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_STATUS_UNSUPPORTED: +#line 4563 "scanner.c" + { + gchar* _tmp2_ = NULL; +#line 59 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp2_ = g_strdup ("SANE_STATUS_UNSUPPORTED"); +#line 59 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp2_; +#line 59 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 4572 "scanner.c" + } +#line 54 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_STATUS_CANCELLED: +#line 4576 "scanner.c" + { + gchar* _tmp3_ = NULL; +#line 61 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp3_ = g_strdup ("SANE_STATUS_CANCELLED"); +#line 61 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp3_; +#line 61 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 4585 "scanner.c" + } +#line 54 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_STATUS_DEVICE_BUSY: +#line 4589 "scanner.c" + { + gchar* _tmp4_ = NULL; +#line 63 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp4_ = g_strdup ("SANE_STATUS_DEVICE_BUSY"); +#line 63 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp4_; +#line 63 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 4598 "scanner.c" + } +#line 54 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_STATUS_INVAL: +#line 4602 "scanner.c" + { + gchar* _tmp5_ = NULL; +#line 65 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp5_ = g_strdup ("SANE_STATUS_INVAL"); +#line 65 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp5_; +#line 65 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 4611 "scanner.c" + } +#line 54 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_STATUS_EOF: +#line 4615 "scanner.c" + { + gchar* _tmp6_ = NULL; +#line 67 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp6_ = g_strdup ("SANE_STATUS_EOF"); +#line 67 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp6_; +#line 67 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 4624 "scanner.c" + } +#line 54 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_STATUS_JAMMED: +#line 4628 "scanner.c" + { + gchar* _tmp7_ = NULL; +#line 69 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp7_ = g_strdup ("SANE_STATUS_JAMMED"); +#line 69 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp7_; +#line 69 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 4637 "scanner.c" + } +#line 54 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_STATUS_NO_DOCS: +#line 4641 "scanner.c" + { + gchar* _tmp8_ = NULL; +#line 71 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp8_ = g_strdup ("SANE_STATUS_NO_DOCS"); +#line 71 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp8_; +#line 71 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 4650 "scanner.c" + } +#line 54 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_STATUS_COVER_OPEN: +#line 4654 "scanner.c" + { + gchar* _tmp9_ = NULL; +#line 73 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp9_ = g_strdup ("SANE_STATUS_COVER_OPEN"); +#line 73 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp9_; +#line 73 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 4663 "scanner.c" + } +#line 54 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_STATUS_IO_ERROR: +#line 4667 "scanner.c" + { + gchar* _tmp10_ = NULL; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp10_ = g_strdup ("SANE_STATUS_IO_ERROR"); +#line 75 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp10_; +#line 75 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 4676 "scanner.c" + } +#line 54 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_STATUS_NO_MEM: +#line 4680 "scanner.c" + { + gchar* _tmp11_ = NULL; +#line 77 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp11_ = g_strdup ("SANE_STATUS_NO_MEM"); +#line 77 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp11_; +#line 77 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 4689 "scanner.c" + } +#line 54 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_STATUS_ACCESS_DENIED: +#line 4693 "scanner.c" + { + gchar* _tmp12_ = NULL; +#line 79 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp12_ = g_strdup ("SANE_STATUS_ACCESS_DENIED"); +#line 79 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp12_; +#line 79 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 4702 "scanner.c" + } + default: + { + SANE_Status _tmp13_ = 0; + gchar* _tmp14_ = NULL; +#line 81 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp13_ = status; +#line 81 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp14_ = g_strdup_printf ("SANE_STATUS(%d)", (gint) _tmp13_); +#line 81 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp14_; +#line 81 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 4716 "scanner.c" + } + } +} + + +static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 1278 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1278 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + g_return_val_if_fail (old != NULL, NULL); +#line 1278 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + g_return_val_if_fail (replacement != NULL, NULL); +#line 4731 "scanner.c" + { + GRegex* regex = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GRegex* _tmp3_ = NULL; + GRegex* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GRegex* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1280 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp0_ = old; +#line 1280 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp1_ = g_regex_escape_string (_tmp0_, -1); +#line 1280 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp2_ = _tmp1_; +#line 1280 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_); +#line 1280 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1280 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _g_free0 (_tmp2_); +#line 1280 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + regex = _tmp4_; +#line 1280 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + if (_inner_error_ != NULL) { +#line 1280 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 4762 "scanner.c" + goto __catch14_g_regex_error; + } +#line 1280 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + 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); +#line 1280 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1280 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + return NULL; +#line 4771 "scanner.c" + } +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp6_ = regex; +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp7_ = replacement; +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) (-1), 0, _tmp7_, 0, &_inner_error_); +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_; +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + if (_inner_error_ != NULL) { +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 4787 "scanner.c" + goto __catch14_g_regex_error; + } +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + 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); +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + return NULL; +#line 4798 "scanner.c" + } +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp9_ = _tmp5_; +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp5_ = NULL; +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + result = _tmp9_; +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _g_free0 (_tmp5_); +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1281 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + return result; +#line 4812 "scanner.c" + } + goto __finally14; + __catch14_g_regex_error: + { + GError* e = NULL; +#line 1279 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + e = _inner_error_; +#line 1279 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _inner_error_ = NULL; +#line 1283 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + g_assert_not_reached (); +#line 1279 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _g_error_free0 (e); +#line 4826 "scanner.c" + } + __finally14: +#line 1279 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + if (_inner_error_ != NULL) { +#line 1279 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + 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 1279 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1279 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + return NULL; +#line 4837 "scanner.c" + } +} + + +static gpointer _scan_device_ref0 (gpointer self) { +#line 365 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self ? scan_device_ref (self) : NULL; +#line 4845 "scanner.c" +} + + +static gint _scanner_compare_devices_gcompare_func (gconstpointer a, gconstpointer b) { + gint result; + result = scanner_compare_devices ((ScanDevice*) a, (ScanDevice*) b); +#line 369 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 4854 "scanner.c" +} + + +static void scanner_do_redetect (Scanner* self) { + SANE_Device** device_list = NULL; + gint device_list_length1 = 0; + gint _device_list_size_ = 0; + SANE_Status status = 0; + SANE_Device** _tmp0_ = NULL; + SANE_Status _tmp1_ = 0; + SANE_Status _tmp2_ = 0; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + SANE_Status _tmp5_ = 0; + GList* devices = NULL; + GList* _tmp56_ = NULL; + GList* _tmp63_ = NULL; + NotifyUpdateDevices* _tmp64_ = NULL; + NotifyUpdateDevices* _tmp65_ = NULL; +#line 334 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 336 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + device_list = NULL; +#line 336 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + device_list_length1 = 0; +#line 336 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _device_list_size_ = device_list_length1; +#line 337 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = sane_get_devices (&_tmp0_, FALSE); +#line 337 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + device_list = _tmp0_; +#line 337 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + device_list_length1 = -1; +#line 337 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _device_list_size_ = device_list_length1; +#line 337 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + status = _tmp1_; +#line 338 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = status; +#line 338 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = sane_status_to_string (_tmp2_); +#line 338 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = _tmp3_; +#line 338 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:338: sane_get_devices () -> %s", _tmp4_); +#line 338 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp4_); +#line 339 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = status; +#line 339 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp5_ != SANE_STATUS_GOOD) { +#line 4906 "scanner.c" + SANE_Status _tmp6_ = 0; + const gchar* _tmp7_ = NULL; +#line 341 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = status; +#line 341 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = sane_strstatus (_tmp6_); +#line 341 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:341: Unable to get SANE devices: %s", _tmp7_); +#line 342 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->need_redetect = FALSE; +#line 343 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_IDLE; +#line 344 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 4921 "scanner.c" + } +#line 347 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + devices = NULL; +#line 4925 "scanner.c" + { + gint i = 0; +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = 0; +#line 4930 "scanner.c" + { + gboolean _tmp8_ = FALSE; +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = TRUE; +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 4937 "scanner.c" + SANE_Device** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gint _tmp11_ = 0; + SANE_Device* _tmp12_ = NULL; + SANE_Device** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gint _tmp14_ = 0; + SANE_Device* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + SANE_Device** _tmp17_ = NULL; + gint _tmp17__length1 = 0; + gint _tmp18_ = 0; + SANE_Device* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + SANE_Device** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + gint _tmp22_ = 0; + SANE_Device* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + SANE_Device** _tmp25_ = NULL; + gint _tmp25__length1 = 0; + gint _tmp26_ = 0; + SANE_Device* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + ScanDevice* scan_device = NULL; + ScanDevice* _tmp29_ = NULL; + ScanDevice* _tmp30_ = NULL; + SANE_Device** _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gint _tmp32_ = 0; + SANE_Device* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar* vendor = NULL; + SANE_Device** _tmp36_ = NULL; + gint _tmp36__length1 = 0; + gint _tmp37_ = 0; + SANE_Device* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; + ScanDevice* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + SANE_Device** _tmp45_ = NULL; + gint _tmp45__length1 = 0; + gint _tmp46_ = 0; + SANE_Device* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + ScanDevice* _tmp50_ = NULL; + const gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + ScanDevice* _tmp54_ = NULL; + ScanDevice* _tmp55_ = NULL; +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp8_) { +#line 4995 "scanner.c" + gint _tmp9_ = 0; +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = i; +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = _tmp9_ + 1; +#line 5001 "scanner.c" + } +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = FALSE; +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = device_list; +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10__length1 = device_list_length1; +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = i; +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = _tmp10_[_tmp11_]; +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!(_tmp12_ != NULL)) { +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 5017 "scanner.c" + } +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = device_list; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13__length1 = device_list_length1; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = i; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = _tmp13_[_tmp14_]; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = _tmp15_->name; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17_ = device_list; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17__length1 = device_list_length1; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = i; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19_ = _tmp17_[_tmp18_]; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp20_ = _tmp19_->vendor; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21_ = device_list; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21__length1 = device_list_length1; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp22_ = i; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp23_ = _tmp21_[_tmp22_]; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp24_ = _tmp23_->model; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_ = device_list; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25__length1 = device_list_length1; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26_ = i; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp27_ = _tmp25_[_tmp26_]; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp28_ = _tmp27_->type; +#line 350 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:350: Device: name=\"%s\" vendor=\"%s\" model=\"%s\" type=" \ +"\"%s\"", _tmp16_, _tmp20_, _tmp24_, _tmp28_); +#line 353 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_ = scan_device_new (); +#line 353 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scan_device = _tmp29_; +#line 354 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_ = scan_device; +#line 354 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp31_ = device_list; +#line 354 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp31__length1 = device_list_length1; +#line 354 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp32_ = i; +#line 354 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_ = _tmp31_[_tmp32_]; +#line 354 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp34_ = _tmp33_->name; +#line 354 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp35_ = g_strdup (_tmp34_); +#line 354 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp30_->name); +#line 354 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_->name = _tmp35_; +#line 357 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36_ = device_list; +#line 357 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36__length1 = device_list_length1; +#line 357 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_ = i; +#line 357 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp38_ = _tmp36_[_tmp37_]; +#line 357 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp39_ = _tmp38_->vendor; +#line 357 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp40_ = g_strdup (_tmp39_); +#line 357 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + vendor = _tmp40_; +#line 358 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp41_ = vendor; +#line 358 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_strcmp0 (_tmp41_, "Hewlett-Packard") == 0) { +#line 5101 "scanner.c" + gchar* _tmp42_ = NULL; +#line 359 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp42_ = g_strdup ("HP"); +#line 359 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (vendor); +#line 359 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + vendor = _tmp42_; +#line 5109 "scanner.c" + } +#line 361 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp43_ = scan_device; +#line 361 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp44_ = vendor; +#line 361 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp45_ = device_list; +#line 361 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp45__length1 = device_list_length1; +#line 361 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp46_ = i; +#line 361 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp47_ = _tmp45_[_tmp46_]; +#line 361 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp48_ = _tmp47_->model; +#line 361 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp49_ = g_strdup_printf ("%s %s", _tmp44_, _tmp48_); +#line 361 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp43_->label); +#line 361 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp43_->label = _tmp49_; +#line 363 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp50_ = scan_device; +#line 363 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp51_ = _tmp50_->label; +#line 363 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp52_ = string_replace (_tmp51_, "_", " "); +#line 363 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp53_ = _tmp52_; +#line 363 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp53_); +#line 365 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_ = scan_device; +#line 365 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp55_ = _scan_device_ref0 (_tmp54_); +#line 365 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + devices = g_list_append (devices, _tmp55_); +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (vendor); +#line 348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_device_unref0 (scan_device); +#line 5151 "scanner.c" + } + } + } +#line 369 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + devices = g_list_sort (devices, _scanner_compare_devices_gcompare_func); +#line 371 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->need_redetect = FALSE; +#line 372 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_IDLE; +#line 374 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp56_ = devices; +#line 374 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp56_ != NULL) { +#line 5165 "scanner.c" + ScanDevice* device = NULL; + GList* _tmp57_ = NULL; + gconstpointer _tmp58_ = NULL; + ScanDevice* _tmp59_ = NULL; + ScanDevice* _tmp60_ = NULL; + const gchar* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; +#line 376 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp57_ = devices; +#line 376 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp58_ = g_list_nth_data (_tmp57_, (guint) 0); +#line 376 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp59_ = _scan_device_ref0 ((ScanDevice*) _tmp58_); +#line 376 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + device = _tmp59_; +#line 377 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp60_ = device; +#line 377 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp61_ = _tmp60_->name; +#line 377 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp62_ = g_strdup (_tmp61_); +#line 377 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->priv->default_device); +#line 377 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->default_device = _tmp62_; +#line 374 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_device_unref0 (device); +#line 5193 "scanner.c" + } else { +#line 380 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->priv->default_device); +#line 380 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->default_device = NULL; +#line 5199 "scanner.c" + } +#line 382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp63_ = devices; +#line 382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + devices = NULL; +#line 382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp64_ = notify_update_devices_new (_tmp63_); +#line 382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp65_ = _tmp64_; +#line 382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_notify (self, (Notify*) _tmp65_); +#line 382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _notify_unref0 (_tmp65_); +#line 334 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + __g_list_free__scan_device_unref0_0 (devices); +#line 5215 "scanner.c" +} + + +static gint scanner_scale_int (Scanner* self, gint source_min, gint source_max, SANE_Option_Descriptor* option, gint value) { + gint result = 0; + gint v = 0; + gint _tmp0_ = 0; + SANE_Option_Descriptor* _tmp1_ = NULL; + SANE_Value_Type _tmp2_ = 0; + gint _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + SANE_Option_Descriptor* _tmp5_ = NULL; + SANE_Constraint_Type _tmp6_ = 0; +#line 385 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (self != NULL, 0); +#line 385 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (option != NULL, 0); +#line 387 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = value; +#line 387 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = _tmp0_; +#line 389 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = option; +#line 389 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = _tmp1_->type; +#line 389 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = value; +#line 389 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (_tmp2_ == SANE_TYPE_INT, _tmp3_); +#line 391 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = option; +#line 391 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = _tmp5_->constraint_type; +#line 391 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp6_ == SANE_CONSTRAINT_RANGE) { +#line 5251 "scanner.c" + SANE_Option_Descriptor* _tmp7_ = NULL; + SANE_Range* _tmp8_ = NULL; + SANE_Word _tmp9_ = {0}; + SANE_Option_Descriptor* _tmp10_ = NULL; + SANE_Range* _tmp11_ = NULL; + SANE_Word _tmp12_ = {0}; +#line 391 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = option; +#line 391 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = _tmp7_->constraint.range; +#line 391 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = _tmp8_->max; +#line 391 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = option; +#line 391 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = _tmp10_->constraint.range; +#line 391 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = _tmp11_->min; +#line 391 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = _tmp9_ != _tmp12_; +#line 5272 "scanner.c" + } else { +#line 391 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = FALSE; +#line 5276 "scanner.c" + } +#line 391 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp4_) { +#line 5280 "scanner.c" + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + SANE_Option_Descriptor* _tmp16_ = NULL; + SANE_Range* _tmp17_ = NULL; + SANE_Word _tmp18_ = {0}; + SANE_Option_Descriptor* _tmp19_ = NULL; + SANE_Range* _tmp20_ = NULL; + SANE_Word _tmp21_ = {0}; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + SANE_Option_Descriptor* _tmp26_ = NULL; + SANE_Range* _tmp27_ = NULL; + SANE_Word _tmp28_ = {0}; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + SANE_Option_Descriptor* _tmp33_ = NULL; + SANE_Range* _tmp34_ = NULL; + SANE_Word _tmp35_ = {0}; + SANE_Option_Descriptor* _tmp36_ = NULL; + SANE_Range* _tmp37_ = NULL; + SANE_Word _tmp38_ = {0}; +#line 393 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = v; +#line 393 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = source_min; +#line 393 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = _tmp13_ - _tmp14_; +#line 394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = v; +#line 394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = option; +#line 394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17_ = _tmp16_->constraint.range; +#line 394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = _tmp17_->max; +#line 394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19_ = option; +#line 394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp20_ = _tmp19_->constraint.range; +#line 394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21_ = _tmp20_->min; +#line 394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = _tmp15_ * ((gint) (_tmp18_ - _tmp21_)); +#line 395 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp22_ = v; +#line 395 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp23_ = source_max; +#line 395 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp24_ = source_min; +#line 395 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = _tmp22_ / (_tmp23_ - _tmp24_); +#line 396 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_ = v; +#line 396 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26_ = option; +#line 396 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp27_ = _tmp26_->constraint.range; +#line 396 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp28_ = _tmp27_->min; +#line 396 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = _tmp25_ + ((gint) _tmp28_); +#line 397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_ = value; +#line 397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_ = source_min; +#line 397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp31_ = source_max; +#line 397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp32_ = v; +#line 397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_ = option; +#line 397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp34_ = _tmp33_->constraint.range; +#line 397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp35_ = _tmp34_->min; +#line 397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36_ = option; +#line 397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_ = _tmp36_->constraint.range; +#line 397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp38_ = _tmp37_->max; +#line 397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:397: scale_int: scaling %d [min: %d, max: %d] to %d [min:" \ +" %d, max: %d]", _tmp29_, _tmp30_, _tmp31_, _tmp32_, (gint) _tmp35_, (gint) _tmp38_); +#line 5369 "scanner.c" + } +#line 401 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = v; +#line 401 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 5375 "scanner.c" +} + + +static gboolean scanner_set_default_option (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index) { + gboolean result = FALSE; + SANE_Option_Descriptor* _tmp0_ = NULL; + SANE_Int _tmp1_ = {0}; + SANE_Status status = 0; + SANE_Handle _tmp2_ = {0}; + SANE_Int _tmp3_ = {0}; + SANE_Status _tmp4_ = 0; + SANE_Int _tmp5_ = {0}; + SANE_Status _tmp6_ = 0; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + SANE_Status _tmp9_ = 0; + SANE_Status _tmp14_ = 0; +#line 404 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (self != NULL, FALSE); +#line 404 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (option != NULL, FALSE); +#line 407 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = option; +#line 407 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = _tmp0_->cap; +#line 407 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if ((_tmp1_ & SANE_CAP_AUTOMATIC) == ((SANE_Int) 0)) { +#line 408 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = FALSE; +#line 408 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 5407 "scanner.c" + } +#line 410 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = handle; +#line 410 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = option_index; +#line 410 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = sane_control_option (_tmp2_, _tmp3_, SANE_ACTION_SET_AUTO, NULL, NULL); +#line 410 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + status = _tmp4_; +#line 411 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = option_index; +#line 411 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = status; +#line 411 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = sane_status_to_string (_tmp6_); +#line 411 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = _tmp7_; +#line 411 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:411: sane_control_option (%d, SANE_ACTION_SET_AUTO) -> %s", (gint) _tmp5_, _tmp8_); +#line 411 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp8_); +#line 412 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = status; +#line 412 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp9_ != SANE_STATUS_GOOD) { +#line 5433 "scanner.c" + SANE_Option_Descriptor* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + SANE_Status _tmp12_ = 0; + const gchar* _tmp13_ = NULL; +#line 413 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = option; +#line 413 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = _tmp10_->name; +#line 413 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = status; +#line 413 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = sane_strstatus (_tmp12_); +#line 413 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:413: Error setting default option %s: %s", _tmp11_, _tmp13_); +#line 5448 "scanner.c" + } +#line 415 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = status; +#line 415 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp14_ == SANE_STATUS_GOOD; +#line 415 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 5456 "scanner.c" +} + + +static void scanner_set_bool_option (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index, gboolean value, gboolean* _result_) { + gboolean _vala_result = FALSE; + SANE_Option_Descriptor* _tmp0_ = NULL; + SANE_Value_Type _tmp1_ = 0; + SANE_Bool v = {0}; + gboolean _tmp2_ = FALSE; + SANE_Status status = 0; + SANE_Handle _tmp3_ = {0}; + SANE_Int _tmp4_ = {0}; + SANE_Status _tmp5_ = 0; + SANE_Bool _tmp6_ = {0}; + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + const gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + SANE_Int _tmp11_ = {0}; + SANE_Status _tmp12_ = 0; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 418 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 418 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (option != NULL); +#line 420 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = option; +#line 420 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = _tmp0_->type; +#line 420 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (_tmp1_ == SANE_TYPE_BOOL); +#line 422 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = value; +#line 422 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = (SANE_Bool) _tmp2_; +#line 423 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = handle; +#line 423 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = option_index; +#line 423 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = sane_control_option (_tmp3_, _tmp4_, SANE_ACTION_SET_VALUE, &v, NULL); +#line 423 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + status = _tmp5_; +#line 424 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = v; +#line 424 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _vala_result = (gboolean) _tmp6_; +#line 425 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = value; +#line 425 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp8_) { +#line 425 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = "SANE_TRUE"; +#line 5511 "scanner.c" + } else { +#line 425 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = "SANE_FALSE"; +#line 5515 "scanner.c" + } +#line 425 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = _vala_result; +#line 425 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp10_) { +#line 425 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = "SANE_TRUE"; +#line 5523 "scanner.c" + } else { +#line 425 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = "SANE_FALSE"; +#line 5527 "scanner.c" + } +#line 425 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = option_index; +#line 425 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = status; +#line 425 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = sane_status_to_string (_tmp12_); +#line 425 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = _tmp13_; +#line 425 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:425: sane_control_option (%d, SANE_ACTION_SET_VALUE, %s) " \ +"-> (%s, %s)", (gint) _tmp11_, _tmp7_, _tmp14_, _tmp9_); +#line 425 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp14_); +#line 418 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_result_) { +#line 418 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *_result_ = _vala_result; +#line 5545 "scanner.c" + } +} + + +static void scanner_set_int_option (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index, gint value, gint* _result_) { + gint _vala_result = 0; + SANE_Option_Descriptor* _tmp0_ = NULL; + SANE_Value_Type _tmp1_ = 0; + SANE_Int v = {0}; + gint _tmp2_ = 0; + SANE_Option_Descriptor* _tmp3_ = NULL; + SANE_Constraint_Type _tmp4_ = 0; + SANE_Status status = 0; + SANE_Handle _tmp48_ = {0}; + SANE_Int _tmp49_ = {0}; + SANE_Status _tmp50_ = 0; + SANE_Int _tmp51_ = {0}; + gint _tmp52_ = 0; + gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + SANE_Int _tmp55_ = {0}; + SANE_Int _tmp56_ = {0}; +#line 428 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 428 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (option != NULL); +#line 430 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = option; +#line 430 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = _tmp0_->type; +#line 430 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (_tmp1_ == SANE_TYPE_INT); +#line 432 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = value; +#line 432 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = (SANE_Int) _tmp2_; +#line 433 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = option; +#line 433 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = _tmp3_->constraint_type; +#line 433 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp4_ == SANE_CONSTRAINT_RANGE) { +#line 5588 "scanner.c" + SANE_Option_Descriptor* _tmp5_ = NULL; + SANE_Range* _tmp6_ = NULL; + SANE_Word _tmp7_ = {0}; + SANE_Int _tmp12_ = {0}; + SANE_Option_Descriptor* _tmp13_ = NULL; + SANE_Range* _tmp14_ = NULL; + SANE_Word _tmp15_ = {0}; + SANE_Int _tmp19_ = {0}; + SANE_Option_Descriptor* _tmp20_ = NULL; + SANE_Range* _tmp21_ = NULL; + SANE_Word _tmp22_ = {0}; +#line 435 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = option; +#line 435 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = _tmp5_->constraint.range; +#line 435 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = _tmp6_->quant; +#line 435 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp7_ != ((SANE_Word) 0)) { +#line 5608 "scanner.c" + SANE_Int _tmp8_ = {0}; + SANE_Option_Descriptor* _tmp9_ = NULL; + SANE_Range* _tmp10_ = NULL; + SANE_Word _tmp11_ = {0}; +#line 436 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = v; +#line 436 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = option; +#line 436 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = _tmp9_->constraint.range; +#line 436 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = _tmp10_->quant; +#line 436 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = _tmp8_ * _tmp11_; +#line 5623 "scanner.c" + } +#line 437 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = v; +#line 437 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = option; +#line 437 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = _tmp13_->constraint.range; +#line 437 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = _tmp14_->min; +#line 437 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp12_ < ((SANE_Int) _tmp15_)) { +#line 5635 "scanner.c" + SANE_Option_Descriptor* _tmp16_ = NULL; + SANE_Range* _tmp17_ = NULL; + SANE_Word _tmp18_ = {0}; +#line 438 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = option; +#line 438 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17_ = _tmp16_->constraint.range; +#line 438 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = _tmp17_->min; +#line 438 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = (SANE_Int) _tmp18_; +#line 5647 "scanner.c" + } +#line 439 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19_ = v; +#line 439 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp20_ = option; +#line 439 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21_ = _tmp20_->constraint.range; +#line 439 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp22_ = _tmp21_->max; +#line 439 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp19_ > ((SANE_Int) _tmp22_)) { +#line 5659 "scanner.c" + SANE_Option_Descriptor* _tmp23_ = NULL; + SANE_Range* _tmp24_ = NULL; + SANE_Word _tmp25_ = {0}; +#line 440 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp23_ = option; +#line 440 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp24_ = _tmp23_->constraint.range; +#line 440 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_ = _tmp24_->max; +#line 440 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = (SANE_Int) _tmp25_; +#line 5671 "scanner.c" + } + } else { + SANE_Option_Descriptor* _tmp26_ = NULL; + SANE_Constraint_Type _tmp27_ = 0; +#line 442 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26_ = option; +#line 442 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp27_ = _tmp26_->constraint_type; +#line 442 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp27_ == SANE_CONSTRAINT_WORD_LIST) { +#line 5682 "scanner.c" + gint distance = 0; + gint _tmp28_ = 0; + gint nearest = 0; + gint _tmp47_ = 0; +#line 444 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp28_ = G_MAXINT; +#line 444 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + distance = _tmp28_; +#line 444 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + nearest = 0; +#line 5693 "scanner.c" + { + gint i = 0; +#line 447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = 0; +#line 5698 "scanner.c" + { + gboolean _tmp29_ = FALSE; +#line 447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_ = TRUE; +#line 447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 5705 "scanner.c" + gint _tmp31_ = 0; + SANE_Option_Descriptor* _tmp32_ = NULL; + SANE_Word* _tmp33_ = NULL; + gint _tmp33__length1 = 0; + SANE_Word _tmp34_ = {0}; + gint x = 0; + SANE_Option_Descriptor* _tmp35_ = NULL; + SANE_Word* _tmp36_ = NULL; + gint _tmp36__length1 = 0; + gint _tmp37_ = 0; + SANE_Word _tmp38_ = {0}; + gint d = 0; + gint _tmp39_ = 0; + SANE_Int _tmp40_ = {0}; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + gint _tmp44_ = 0; +#line 447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp29_) { +#line 5726 "scanner.c" + gint _tmp30_ = 0; +#line 447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_ = i; +#line 447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = _tmp30_ + 1; +#line 5732 "scanner.c" + } +#line 447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_ = FALSE; +#line 447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp31_ = i; +#line 447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp32_ = option; +#line 447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_ = _tmp32_->constraint.word_list; +#line 447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33__length1 = -1; +#line 447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp34_ = _tmp33_[0]; +#line 447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!(((SANE_Word) _tmp31_) < _tmp34_)) { +#line 447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 5750 "scanner.c" + } +#line 449 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp35_ = option; +#line 449 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36_ = _tmp35_->constraint.word_list; +#line 449 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36__length1 = -1; +#line 449 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_ = i; +#line 449 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp38_ = _tmp36_[_tmp37_ + 1]; +#line 449 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + x = (gint) _tmp38_; +#line 450 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp39_ = x; +#line 450 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp40_ = v; +#line 450 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + d = (gint) (_tmp39_ - _tmp40_); +#line 451 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp41_ = d; +#line 451 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp42_ = abs (_tmp41_); +#line 451 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + d = _tmp42_; +#line 452 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp43_ = d; +#line 452 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp44_ = distance; +#line 452 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp43_ < _tmp44_) { +#line 5782 "scanner.c" + gint _tmp45_ = 0; + gint _tmp46_ = 0; +#line 454 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp45_ = d; +#line 454 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + distance = _tmp45_; +#line 455 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp46_ = x; +#line 455 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + nearest = _tmp46_; +#line 5793 "scanner.c" + } + } + } + } +#line 458 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp47_ = nearest; +#line 458 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = (SANE_Int) _tmp47_; +#line 5802 "scanner.c" + } + } +#line 461 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp48_ = handle; +#line 461 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp49_ = option_index; +#line 461 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp50_ = sane_control_option (_tmp48_, _tmp49_, SANE_ACTION_SET_VALUE, &v, NULL); +#line 461 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + status = _tmp50_; +#line 462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp51_ = option_index; +#line 462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp52_ = value; +#line 462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp53_ = sane_status_to_string (status); +#line 462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_ = _tmp53_; +#line 462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp55_ = v; +#line 462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:462: sane_control_option (%d, SANE_ACTION_SET_VALUE, %d) " \ +"-> (%s, %d)", (gint) _tmp51_, _tmp52_, _tmp54_, (gint) _tmp55_); +#line 462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp54_); +#line 463 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp56_ = v; +#line 463 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _vala_result = (gint) _tmp56_; +#line 428 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_result_) { +#line 428 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *_result_ = _vala_result; +#line 5835 "scanner.c" + } +} + + +static void scanner_set_fixed_option (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index, gdouble value, gdouble* _result_) { + gdouble _vala_result = 0.0; + gdouble v = 0.0; + gdouble _tmp0_ = 0.0; + SANE_Fixed v_fixed = {0}; + SANE_Option_Descriptor* _tmp1_ = NULL; + SANE_Value_Type _tmp2_ = 0; + SANE_Option_Descriptor* _tmp3_ = NULL; + SANE_Constraint_Type _tmp4_ = 0; + gdouble _tmp42_ = 0.0; + SANE_Fixed _tmp43_ = {0}; + SANE_Status status = 0; + SANE_Handle _tmp44_ = {0}; + SANE_Int _tmp45_ = {0}; + SANE_Status _tmp46_ = 0; + SANE_Int _tmp47_ = {0}; + gdouble _tmp48_ = 0.0; + gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + gdouble _tmp51_ = 0.0; + gdouble _tmp52_ = 0.0; +#line 466 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 466 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (option != NULL); +#line 468 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = value; +#line 468 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = _tmp0_; +#line 471 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = option; +#line 471 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = _tmp1_->type; +#line 471 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (_tmp2_ == SANE_TYPE_FIXED); +#line 473 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = option; +#line 473 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = _tmp3_->constraint_type; +#line 473 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp4_ == SANE_CONSTRAINT_RANGE) { +#line 5881 "scanner.c" + gdouble min = 0.0; + SANE_Option_Descriptor* _tmp5_ = NULL; + SANE_Range* _tmp6_ = NULL; + SANE_Word _tmp7_ = {0}; + gdouble _tmp8_ = 0.0; + gdouble max = 0.0; + SANE_Option_Descriptor* _tmp9_ = NULL; + SANE_Range* _tmp10_ = NULL; + SANE_Word _tmp11_ = {0}; + gdouble _tmp12_ = 0.0; + gdouble _tmp13_ = 0.0; + gdouble _tmp14_ = 0.0; + gdouble _tmp16_ = 0.0; + gdouble _tmp17_ = 0.0; +#line 475 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = option; +#line 475 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = _tmp5_->constraint.range; +#line 475 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = _tmp6_->min; +#line 475 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = SANE_UNFIX ((SANE_Fixed) _tmp7_); +#line 475 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + min = _tmp8_; +#line 476 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = option; +#line 476 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = _tmp9_->constraint.range; +#line 476 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = _tmp10_->max; +#line 476 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = SANE_UNFIX ((SANE_Fixed) _tmp11_); +#line 476 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + max = _tmp12_; +#line 478 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = v; +#line 478 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = min; +#line 478 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp13_ < _tmp14_) { +#line 5922 "scanner.c" + gdouble _tmp15_ = 0.0; +#line 479 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = min; +#line 479 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = _tmp15_; +#line 5928 "scanner.c" + } +#line 480 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = v; +#line 480 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17_ = max; +#line 480 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp16_ > _tmp17_) { +#line 5936 "scanner.c" + gdouble _tmp18_ = 0.0; +#line 481 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = max; +#line 481 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = _tmp18_; +#line 5942 "scanner.c" + } + } else { + SANE_Option_Descriptor* _tmp19_ = NULL; + SANE_Constraint_Type _tmp20_ = 0; +#line 483 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19_ = option; +#line 483 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp20_ = _tmp19_->constraint_type; +#line 483 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp20_ == SANE_CONSTRAINT_WORD_LIST) { +#line 5953 "scanner.c" + gdouble distance = 0.0; + gdouble _tmp21_ = 0.0; + gdouble nearest = 0.0; + gdouble _tmp41_ = 0.0; +#line 485 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21_ = DBL_MAX; +#line 485 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + distance = _tmp21_; +#line 485 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + nearest = 0.0; +#line 5964 "scanner.c" + { + gint i = 0; +#line 488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = 0; +#line 5969 "scanner.c" + { + gboolean _tmp22_ = FALSE; +#line 488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp22_ = TRUE; +#line 488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 5976 "scanner.c" + gint _tmp24_ = 0; + SANE_Option_Descriptor* _tmp25_ = NULL; + SANE_Word* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + SANE_Word _tmp27_ = {0}; + gdouble x = 0.0; + SANE_Option_Descriptor* _tmp28_ = NULL; + SANE_Word* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + gint _tmp30_ = 0; + SANE_Word _tmp31_ = {0}; + gdouble _tmp32_ = 0.0; + gdouble _tmp33_ = 0.0; + gdouble _tmp34_ = 0.0; + gdouble _tmp35_ = 0.0; + gdouble _tmp36_ = 0.0; +#line 488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp22_) { +#line 5995 "scanner.c" + gint _tmp23_ = 0; +#line 488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp23_ = i; +#line 488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = _tmp23_ + 1; +#line 6001 "scanner.c" + } +#line 488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp22_ = FALSE; +#line 488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp24_ = i; +#line 488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_ = option; +#line 488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26_ = _tmp25_->constraint.word_list; +#line 488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26__length1 = -1; +#line 488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp27_ = _tmp26_[0]; +#line 488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!(((SANE_Word) _tmp24_) < _tmp27_)) { +#line 488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 6019 "scanner.c" + } +#line 490 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp28_ = option; +#line 490 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_ = _tmp28_->constraint.word_list; +#line 490 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29__length1 = -1; +#line 490 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_ = i; +#line 490 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp31_ = _tmp29_[_tmp30_ + 1]; +#line 490 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp32_ = SANE_UNFIX ((SANE_Fixed) _tmp31_); +#line 490 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + x = _tmp32_; +#line 491 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_ = x; +#line 491 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp34_ = v; +#line 491 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp35_ = fabs (_tmp33_ - _tmp34_); +#line 491 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36_ = distance; +#line 491 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp35_ < _tmp36_) { +#line 6045 "scanner.c" + gdouble _tmp37_ = 0.0; + gdouble _tmp38_ = 0.0; + gdouble _tmp39_ = 0.0; + gdouble _tmp40_ = 0.0; +#line 493 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_ = x; +#line 493 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp38_ = v; +#line 493 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp39_ = fabs (_tmp37_ - _tmp38_); +#line 493 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + distance = _tmp39_; +#line 494 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp40_ = x; +#line 494 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + nearest = _tmp40_; +#line 6062 "scanner.c" + } + } + } + } +#line 497 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp41_ = nearest; +#line 497 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v = _tmp41_; +#line 6071 "scanner.c" + } + } +#line 500 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp42_ = v; +#line 500 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp43_ = SANE_FIX (_tmp42_); +#line 500 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + v_fixed = _tmp43_; +#line 501 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp44_ = handle; +#line 501 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp45_ = option_index; +#line 501 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp46_ = sane_control_option (_tmp44_, _tmp45_, SANE_ACTION_SET_VALUE, &v_fixed, NULL); +#line 501 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + status = _tmp46_; +#line 502 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp47_ = option_index; +#line 502 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp48_ = value; +#line 502 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp49_ = sane_status_to_string (status); +#line 502 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp50_ = _tmp49_; +#line 502 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp51_ = SANE_UNFIX (v_fixed); +#line 502 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:502: sane_control_option (%d, SANE_ACTION_SET_VALUE, %f) " \ +"-> (%s, %f)", (gint) _tmp47_, _tmp48_, _tmp50_, _tmp51_); +#line 502 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp50_); +#line 504 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp52_ = SANE_UNFIX (v_fixed); +#line 504 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _vala_result = _tmp52_; +#line 466 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_result_) { +#line 466 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *_result_ = _vala_result; +#line 6110 "scanner.c" + } +} + + +static void scanner_set_fixed_or_int_option (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index, gdouble value, gdouble* _result_) { + gdouble _vala_result = 0.0; + SANE_Option_Descriptor* _tmp0_ = NULL; + SANE_Value_Type _tmp1_ = 0; +#line 507 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 507 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (option != NULL); +#line 509 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = option; +#line 509 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = _tmp0_->type; +#line 509 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp1_ == SANE_TYPE_FIXED) { +#line 6129 "scanner.c" + SANE_Handle _tmp2_ = {0}; + SANE_Option_Descriptor* _tmp3_ = NULL; + SANE_Int _tmp4_ = {0}; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; +#line 510 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = handle; +#line 510 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = option; +#line 510 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = option_index; +#line 510 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = value; +#line 510 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_fixed_option (self, _tmp2_, _tmp3_, _tmp4_, _tmp5_, &_tmp6_); +#line 510 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _vala_result = _tmp6_; +#line 6147 "scanner.c" + } else { + SANE_Option_Descriptor* _tmp7_ = NULL; + SANE_Value_Type _tmp8_ = 0; +#line 511 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = option; +#line 511 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = _tmp7_->type; +#line 511 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp8_ == SANE_TYPE_INT) { +#line 6157 "scanner.c" + gint r = 0; + SANE_Handle _tmp9_ = {0}; + SANE_Option_Descriptor* _tmp10_ = NULL; + SANE_Int _tmp11_ = {0}; + gdouble _tmp12_ = 0.0; + gdouble _tmp13_ = 0.0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; +#line 514 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = handle; +#line 514 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = option; +#line 514 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = option_index; +#line 514 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = value; +#line 514 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = round (_tmp12_); +#line 514 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_int_option (self, _tmp9_, _tmp10_, _tmp11_, (gint) _tmp13_, &_tmp14_); +#line 514 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + r = _tmp14_; +#line 515 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = r; +#line 515 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _vala_result = (gdouble) _tmp15_; +#line 6184 "scanner.c" + } else { +#line 519 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _vala_result = 0.0; +#line 520 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:520: Unable to set unsupported option type"); +#line 6190 "scanner.c" + } + } +#line 507 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_result_) { +#line 507 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *_result_ = _vala_result; +#line 6197 "scanner.c" + } +} + + +static void scanner_set_option_to_max (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index) { + SANE_Option_Descriptor* _tmp0_ = NULL; + SANE_Constraint_Type _tmp1_ = 0; + SANE_Status status = 0; + SANE_Handle _tmp2_ = {0}; + SANE_Int _tmp3_ = {0}; + SANE_Option_Descriptor* _tmp4_ = NULL; + SANE_Range* _tmp5_ = NULL; + SANE_Status _tmp6_ = 0; + SANE_Int _tmp7_ = {0}; + SANE_Status _tmp8_ = 0; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 524 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 524 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (option != NULL); +#line 526 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = option; +#line 526 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = _tmp0_->constraint_type; +#line 526 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp1_ != SANE_CONSTRAINT_RANGE) { +#line 527 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 6227 "scanner.c" + } +#line 529 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = handle; +#line 529 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = option_index; +#line 529 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = option; +#line 529 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = _tmp4_->constraint.range; +#line 529 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = sane_control_option (_tmp2_, _tmp3_, SANE_ACTION_SET_VALUE, &_tmp5_->max, NULL); +#line 529 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + status = _tmp6_; +#line 530 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = option_index; +#line 530 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = status; +#line 530 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = sane_status_to_string (_tmp8_); +#line 530 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = _tmp9_; +#line 530 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:530: sane_control_option (%d, SANE_ACTION_SET_VALUE, opti" \ +"on.range.max) -> (%s)", (gint) _tmp7_, _tmp10_); +#line 530 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp10_); +#line 6253 "scanner.c" +} + + +static gchar string_get (const gchar* self, glong index) { + gchar result = '\0'; + glong _tmp0_ = 0L; + gchar _tmp1_ = '\0'; +#line 996 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, '\0'); +#line 997 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp0_ = index; +#line 997 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + _tmp1_ = ((gchar*) self)[_tmp0_]; +#line 997 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 997 "/usr/share/vala-0.24/vapi/glib-2.0.vapi" + return result; +#line 6271 "scanner.c" +} + + +static gboolean scanner_set_string_option (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index, const gchar* value, gchar** _result_) { + gchar* _vala_result = NULL; + gboolean result = FALSE; + gchar* _tmp0_ = NULL; + SANE_Option_Descriptor* _tmp1_ = NULL; + SANE_Value_Type _tmp2_ = 0; + gchar* s = NULL; + SANE_Option_Descriptor* _tmp3_ = NULL; + SANE_Int _tmp4_ = {0}; + gchar* _tmp5_ = NULL; + gint s_length1 = 0; + gint _s_size_ = 0; + gint i = 0; + gchar* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + gint _tmp22_ = 0; + gchar _tmp23_ = '\0'; + SANE_Status status = 0; + SANE_Handle _tmp24_ = {0}; + SANE_Int _tmp25_ = {0}; + gchar* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + SANE_Status _tmp27_ = 0; + gchar* _tmp28_ = NULL; + gint _tmp28__length1 = 0; + gchar* _tmp29_ = NULL; + SANE_Int _tmp30_ = {0}; + const gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; +#line 533 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (self != NULL, FALSE); +#line 533 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (option != NULL, FALSE); +#line 533 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (value != NULL, FALSE); +#line 535 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = g_strdup (""); +#line 535 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_vala_result); +#line 535 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _vala_result = _tmp0_; +#line 537 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = option; +#line 537 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = _tmp1_->type; +#line 537 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (_tmp2_ == SANE_TYPE_STRING, FALSE); +#line 539 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = option; +#line 539 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = _tmp3_->size; +#line 539 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = g_new0 (gchar, _tmp4_); +#line 539 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp5_; +#line 539 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s_length1 = _tmp4_; +#line 539 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _s_size_ = s_length1; +#line 540 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = 0; +#line 6338 "scanner.c" + { + gboolean _tmp6_ = FALSE; +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = TRUE; +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 6345 "scanner.c" + gboolean _tmp8_ = FALSE; + gint _tmp9_ = 0; + SANE_Option_Descriptor* _tmp10_ = NULL; + SANE_Int _tmp11_ = {0}; + gchar* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gint _tmp16_ = 0; + const gchar* _tmp17_ = NULL; + gint _tmp18_ = 0; + gchar _tmp19_ = '\0'; + gchar _tmp20_ = '\0'; +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp6_) { +#line 6359 "scanner.c" + gint _tmp7_ = 0; +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = i; +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = _tmp7_ + 1; +#line 6365 "scanner.c" + } +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = FALSE; +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = i; +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = option; +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = _tmp10_->size; +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (((SANE_Int) _tmp9_) < (_tmp11_ - 1)) { +#line 6377 "scanner.c" + const gchar* _tmp12_ = NULL; + gint _tmp13_ = 0; + gchar _tmp14_ = '\0'; +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = value; +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = i; +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = string_get (_tmp12_, (glong) _tmp13_); +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = _tmp14_ != '\0'; +#line 6389 "scanner.c" + } else { +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = FALSE; +#line 6393 "scanner.c" + } +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp8_) { +#line 541 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 6399 "scanner.c" + } +#line 542 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = s; +#line 542 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15__length1 = s_length1; +#line 542 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = i; +#line 542 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17_ = value; +#line 542 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = i; +#line 542 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19_ = string_get (_tmp17_, (glong) _tmp18_); +#line 542 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_[_tmp16_] = _tmp19_; +#line 542 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp20_ = _tmp15_[_tmp16_]; +#line 6417 "scanner.c" + } + } +#line 543 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21_ = s; +#line 543 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21__length1 = s_length1; +#line 543 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp22_ = i; +#line 543 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21_[_tmp22_] = '\0'; +#line 543 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp23_ = _tmp21_[_tmp22_]; +#line 544 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp24_ = handle; +#line 544 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_ = option_index; +#line 544 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26_ = s; +#line 544 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26__length1 = s_length1; +#line 544 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp27_ = sane_control_option (_tmp24_, _tmp25_, SANE_ACTION_SET_VALUE, _tmp26_, NULL); +#line 544 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + status = _tmp27_; +#line 545 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp28_ = s; +#line 545 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp28__length1 = s_length1; +#line 545 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_ = g_strdup ((const gchar*) _tmp28_); +#line 545 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_vala_result); +#line 545 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _vala_result = _tmp29_; +#line 546 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_ = option_index; +#line 546 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp31_ = value; +#line 546 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp32_ = sane_status_to_string (status); +#line 546 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_ = _tmp32_; +#line 546 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp34_ = _vala_result; +#line 546 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:546: sane_control_option (%d, SANE_ACTION_SET_VALUE, \"%s" \ +"\") -> (%s, \"%s\")", (gint) _tmp30_, _tmp31_, _tmp33_, _tmp34_); +#line 546 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp33_); +#line 548 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = status == SANE_STATUS_GOOD; +#line 548 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = (g_free (s), NULL); +#line 548 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_result_) { +#line 548 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *_result_ = _vala_result; +#line 6474 "scanner.c" + } else { +#line 548 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_vala_result); +#line 6478 "scanner.c" + } +#line 548 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 6482 "scanner.c" +} + + +static gboolean scanner_set_constrained_string_option (Scanner* self, SANE_Handle handle, SANE_Option_Descriptor* option, SANE_Int option_index, gchar** values, int values_length1, gchar** _result_) { + gchar* _vala_result = NULL; + gboolean result = FALSE; + SANE_Option_Descriptor* _tmp0_ = NULL; + SANE_Value_Type _tmp1_ = 0; + SANE_Option_Descriptor* _tmp2_ = NULL; + SANE_Constraint_Type _tmp3_ = 0; + gchar* _tmp34_ = NULL; +#line 551 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (self != NULL, FALSE); +#line 551 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (option != NULL, FALSE); +#line 553 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = option; +#line 553 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = _tmp0_->type; +#line 553 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (_tmp1_ == SANE_TYPE_STRING, FALSE); +#line 554 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = option; +#line 554 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = _tmp2_->constraint_type; +#line 554 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (_tmp3_ == SANE_CONSTRAINT_STRING_LIST, FALSE); +#line 6510 "scanner.c" + { + gint i = 0; +#line 556 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = 0; +#line 6515 "scanner.c" + { + gboolean _tmp4_ = FALSE; +#line 556 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = TRUE; +#line 556 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 6522 "scanner.c" + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp7_ = 0; + const gchar* _tmp8_ = NULL; + gint j = 0; + SANE_Option_Descriptor* _tmp22_ = NULL; + gchar** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + gint _tmp24_ = 0; + const gchar* _tmp25_ = NULL; +#line 556 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp4_) { +#line 6535 "scanner.c" + gint _tmp5_ = 0; +#line 556 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = i; +#line 556 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = _tmp5_ + 1; +#line 6541 "scanner.c" + } +#line 556 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = FALSE; +#line 556 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = values; +#line 556 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6__length1 = values_length1; +#line 556 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = i; +#line 556 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = _tmp6_[_tmp7_]; +#line 556 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!(_tmp8_ != NULL)) { +#line 556 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 6557 "scanner.c" + } +#line 558 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + j = 0; +#line 6561 "scanner.c" + { + gboolean _tmp9_ = FALSE; +#line 559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = TRUE; +#line 559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 6568 "scanner.c" + SANE_Option_Descriptor* _tmp11_ = NULL; + gchar** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gint _tmp13_ = 0; + const gchar* _tmp14_ = NULL; + gchar** _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gint _tmp16_ = 0; + const gchar* _tmp17_ = NULL; + SANE_Option_Descriptor* _tmp18_ = NULL; + gchar** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gint _tmp20_ = 0; + const gchar* _tmp21_ = NULL; +#line 559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp9_) { +#line 6585 "scanner.c" + gint _tmp10_ = 0; +#line 559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = j; +#line 559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + j = _tmp10_ + 1; +#line 6591 "scanner.c" + } +#line 559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = FALSE; +#line 559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = option; +#line 559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = _tmp11_->constraint.string_list; +#line 559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12__length1 = -1; +#line 559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = j; +#line 559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = _tmp12_[_tmp13_]; +#line 559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!(_tmp14_ != NULL)) { +#line 559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 6609 "scanner.c" + } +#line 561 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = values; +#line 561 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15__length1 = values_length1; +#line 561 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = i; +#line 561 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17_ = _tmp15_[_tmp16_]; +#line 561 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = option; +#line 561 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19_ = _tmp18_->constraint.string_list; +#line 561 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19__length1 = -1; +#line 561 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp20_ = j; +#line 561 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21_ = _tmp19_[_tmp20_]; +#line 561 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_strcmp0 (_tmp17_, _tmp21_) == 0) { +#line 562 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 6633 "scanner.c" + } + } + } +#line 565 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp22_ = option; +#line 565 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp23_ = _tmp22_->constraint.string_list; +#line 565 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp23__length1 = -1; +#line 565 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp24_ = j; +#line 565 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_ = _tmp23_[_tmp24_]; +#line 565 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp25_ != NULL) { +#line 6649 "scanner.c" + SANE_Handle _tmp26_ = {0}; + SANE_Option_Descriptor* _tmp27_ = NULL; + SANE_Int _tmp28_ = {0}; + gchar** _tmp29_ = NULL; + gint _tmp29__length1 = 0; + gint _tmp30_ = 0; + const gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26_ = handle; +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp27_ = option; +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp28_ = option_index; +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_ = values; +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29__length1 = values_length1; +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_ = i; +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp31_ = _tmp29_[_tmp30_]; +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_ = scanner_set_string_option (self, _tmp26_, _tmp27_, _tmp28_, _tmp31_, &_tmp32_); +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_vala_result); +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _vala_result = _tmp32_; +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp33_; +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_result_) { +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *_result_ = _vala_result; +#line 6685 "scanner.c" + } else { +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_vala_result); +#line 6689 "scanner.c" + } +#line 566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 6693 "scanner.c" + } + } + } + } +#line 569 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp34_ = g_strdup (""); +#line 569 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_vala_result); +#line 569 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _vala_result = _tmp34_; +#line 570 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = FALSE; +#line 570 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_result_) { +#line 570 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *_result_ = _vala_result; +#line 6710 "scanner.c" + } else { +#line 570 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_vala_result); +#line 6714 "scanner.c" + } +#line 570 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 6718 "scanner.c" +} + + +static void scanner_log_option (Scanner* self, SANE_Int index, SANE_Option_Descriptor* option) { + gchar* s = NULL; + SANE_Int _tmp0_ = {0}; + gchar* _tmp1_ = NULL; + SANE_Option_Descriptor* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + SANE_Option_Descriptor* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + SANE_Option_Descriptor* _tmp18_ = NULL; + SANE_Value_Type _tmp19_ = 0; + const gchar* _tmp38_ = NULL; + SANE_Option_Descriptor* _tmp39_ = NULL; + SANE_Int _tmp40_ = {0}; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + SANE_Option_Descriptor* _tmp44_ = NULL; + SANE_Unit _tmp45_ = 0; + SANE_Option_Descriptor* _tmp64_ = NULL; + SANE_Constraint_Type _tmp65_ = 0; + SANE_Int cap = {0}; + SANE_Option_Descriptor* _tmp149_ = NULL; + SANE_Int _tmp150_ = {0}; + SANE_Int _tmp151_ = {0}; + const gchar* _tmp212_ = NULL; + SANE_Option_Descriptor* _tmp213_ = NULL; + const gchar* _tmp214_ = NULL; +#line 573 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 573 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (option != NULL); +#line 575 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = index; +#line 575 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = g_strdup_printf ("Option %d:", (gint) _tmp0_); +#line 575 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp1_; +#line 577 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = option; +#line 577 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = _tmp2_->name; +#line 577 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_strcmp0 (_tmp3_, "") != 0) { +#line 6765 "scanner.c" + const gchar* _tmp4_ = NULL; + SANE_Option_Descriptor* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 578 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = s; +#line 578 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = option; +#line 578 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = _tmp5_->name; +#line 578 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = g_strdup_printf (" name='%s'", _tmp6_); +#line 578 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = _tmp7_; +#line 578 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = g_strconcat (_tmp4_, _tmp8_, NULL); +#line 578 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 578 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp9_; +#line 578 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp8_); +#line 6790 "scanner.c" + } +#line 580 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = option; +#line 580 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = _tmp10_->title; +#line 580 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_strcmp0 (_tmp11_, "") != 0) { +#line 6798 "scanner.c" + const gchar* _tmp12_ = NULL; + SANE_Option_Descriptor* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 581 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = s; +#line 581 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = option; +#line 581 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = _tmp13_->title; +#line 581 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = g_strdup_printf (" title='%s'", _tmp14_); +#line 581 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = _tmp15_; +#line 581 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17_ = g_strconcat (_tmp12_, _tmp16_, NULL); +#line 581 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 581 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp17_; +#line 581 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp16_); +#line 6823 "scanner.c" + } +#line 583 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = option; +#line 583 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19_ = _tmp18_->type; +#line 583 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + switch (_tmp19_) { +#line 583 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_TYPE_BOOL: +#line 6833 "scanner.c" + { + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 586 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp20_ = s; +#line 586 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21_ = g_strconcat (_tmp20_, " type=bool", NULL); +#line 586 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 586 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp21_; +#line 587 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 6847 "scanner.c" + } +#line 583 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_TYPE_INT: +#line 6851 "scanner.c" + { + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; +#line 589 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp22_ = s; +#line 589 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp23_ = g_strconcat (_tmp22_, " type=int", NULL); +#line 589 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 589 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp23_; +#line 590 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 6865 "scanner.c" + } +#line 583 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_TYPE_FIXED: +#line 6869 "scanner.c" + { + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; +#line 592 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp24_ = s; +#line 592 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_ = g_strconcat (_tmp24_, " type=fixed", NULL); +#line 592 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 592 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp25_; +#line 593 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 6883 "scanner.c" + } +#line 583 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_TYPE_STRING: +#line 6887 "scanner.c" + { + const gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; +#line 595 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26_ = s; +#line 595 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp27_ = g_strconcat (_tmp26_, " type=string", NULL); +#line 595 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 595 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp27_; +#line 596 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 6901 "scanner.c" + } +#line 583 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_TYPE_BUTTON: +#line 6905 "scanner.c" + { + const gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; +#line 598 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp28_ = s; +#line 598 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_ = g_strconcat (_tmp28_, " type=button", NULL); +#line 598 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 598 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp29_; +#line 599 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 6919 "scanner.c" + } +#line 583 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_TYPE_GROUP: +#line 6923 "scanner.c" + { + const gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; +#line 601 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_ = s; +#line 601 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp31_ = g_strconcat (_tmp30_, " type=group", NULL); +#line 601 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 601 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp31_; +#line 602 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 6937 "scanner.c" + } + default: + { + const gchar* _tmp32_ = NULL; + SANE_Option_Descriptor* _tmp33_ = NULL; + SANE_Value_Type _tmp34_ = 0; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; +#line 604 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp32_ = s; +#line 604 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_ = option; +#line 604 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp34_ = _tmp33_->type; +#line 604 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp35_ = g_strdup_printf (" type=%d", (gint) _tmp34_); +#line 604 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36_ = _tmp35_; +#line 604 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_ = g_strconcat (_tmp32_, _tmp36_, NULL); +#line 604 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 604 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp37_; +#line 604 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp36_); +#line 605 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 6967 "scanner.c" + } + } +#line 608 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp38_ = s; +#line 608 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp39_ = option; +#line 608 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp40_ = _tmp39_->size; +#line 608 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp41_ = g_strdup_printf (" size=%d", (gint) _tmp40_); +#line 608 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp42_ = _tmp41_; +#line 608 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp43_ = g_strconcat (_tmp38_, _tmp42_, NULL); +#line 608 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 608 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp43_; +#line 608 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp42_); +#line 610 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp44_ = option; +#line 610 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp45_ = _tmp44_->unit; +#line 610 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + switch (_tmp45_) { +#line 610 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_UNIT_NONE: +#line 6996 "scanner.c" + { +#line 613 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 7000 "scanner.c" + } +#line 610 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_UNIT_PIXEL: +#line 7004 "scanner.c" + { + const gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; +#line 615 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp46_ = s; +#line 615 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp47_ = g_strconcat (_tmp46_, " unit=pixels", NULL); +#line 615 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 615 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp47_; +#line 616 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 7018 "scanner.c" + } +#line 610 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_UNIT_BIT: +#line 7022 "scanner.c" + { + const gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; +#line 618 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp48_ = s; +#line 618 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp49_ = g_strconcat (_tmp48_, " unit=bits", NULL); +#line 618 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 618 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp49_; +#line 619 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 7036 "scanner.c" + } +#line 610 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_UNIT_MM: +#line 7040 "scanner.c" + { + const gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; +#line 621 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp50_ = s; +#line 621 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp51_ = g_strconcat (_tmp50_, " unit=mm", NULL); +#line 621 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 621 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp51_; +#line 622 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 7054 "scanner.c" + } +#line 610 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_UNIT_DPI: +#line 7058 "scanner.c" + { + const gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; +#line 624 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp52_ = s; +#line 624 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp53_ = g_strconcat (_tmp52_, " unit=dpi", NULL); +#line 624 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 624 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp53_; +#line 625 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 7072 "scanner.c" + } +#line 610 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_UNIT_PERCENT: +#line 7076 "scanner.c" + { + const gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; +#line 627 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_ = s; +#line 627 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp55_ = g_strconcat (_tmp54_, " unit=percent", NULL); +#line 627 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 627 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp55_; +#line 628 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 7090 "scanner.c" + } +#line 610 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_UNIT_MICROSECOND: +#line 7094 "scanner.c" + { + const gchar* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; +#line 630 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp56_ = s; +#line 630 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp57_ = g_strconcat (_tmp56_, " unit=microseconds", NULL); +#line 630 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 630 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp57_; +#line 631 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 7108 "scanner.c" + } + default: + { + const gchar* _tmp58_ = NULL; + SANE_Option_Descriptor* _tmp59_ = NULL; + SANE_Unit _tmp60_ = 0; + gchar* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; +#line 633 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp58_ = s; +#line 633 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp59_ = option; +#line 633 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp60_ = _tmp59_->unit; +#line 633 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp61_ = g_strdup_printf (" unit=%d", (gint) _tmp60_); +#line 633 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp62_ = _tmp61_; +#line 633 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp63_ = g_strconcat (_tmp58_, _tmp62_, NULL); +#line 633 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 633 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp63_; +#line 633 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp62_); +#line 634 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 7138 "scanner.c" + } + } +#line 637 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp64_ = option; +#line 637 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp65_ = _tmp64_->constraint_type; +#line 637 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + switch (_tmp65_) { +#line 637 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_CONSTRAINT_RANGE: +#line 7149 "scanner.c" + { + SANE_Option_Descriptor* _tmp66_ = NULL; + SANE_Value_Type _tmp67_ = 0; +#line 640 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp66_ = option; +#line 640 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp67_ = _tmp66_->type; +#line 640 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp67_ == SANE_TYPE_FIXED) { +#line 7159 "scanner.c" + const gchar* _tmp68_ = NULL; + SANE_Option_Descriptor* _tmp69_ = NULL; + SANE_Range* _tmp70_ = NULL; + SANE_Word _tmp71_ = {0}; + gdouble _tmp72_ = 0.0; + SANE_Option_Descriptor* _tmp73_ = NULL; + SANE_Range* _tmp74_ = NULL; + SANE_Word _tmp75_ = {0}; + gdouble _tmp76_ = 0.0; + SANE_Option_Descriptor* _tmp77_ = NULL; + SANE_Range* _tmp78_ = NULL; + SANE_Word _tmp79_ = {0}; + gchar* _tmp80_ = NULL; + gchar* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp68_ = s; +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp69_ = option; +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp70_ = _tmp69_->constraint.range; +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp71_ = _tmp70_->min; +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp72_ = SANE_UNFIX ((SANE_Fixed) _tmp71_); +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp73_ = option; +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp74_ = _tmp73_->constraint.range; +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp75_ = _tmp74_->max; +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp76_ = SANE_UNFIX ((SANE_Fixed) _tmp75_); +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp77_ = option; +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp78_ = _tmp77_->constraint.range; +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp79_ = _tmp78_->quant; +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp80_ = g_strdup_printf (" min=%f, max=%f, quant=%d", _tmp72_, _tmp76_, (gint) _tmp79_); +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp81_ = _tmp80_; +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp82_ = g_strconcat (_tmp68_, _tmp81_, NULL); +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp82_; +#line 641 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp81_); +#line 7211 "scanner.c" + } else { + const gchar* _tmp83_ = NULL; + SANE_Option_Descriptor* _tmp84_ = NULL; + SANE_Range* _tmp85_ = NULL; + SANE_Word _tmp86_ = {0}; + SANE_Option_Descriptor* _tmp87_ = NULL; + SANE_Range* _tmp88_ = NULL; + SANE_Word _tmp89_ = {0}; + SANE_Option_Descriptor* _tmp90_ = NULL; + SANE_Range* _tmp91_ = NULL; + SANE_Word _tmp92_ = {0}; + gchar* _tmp93_ = NULL; + gchar* _tmp94_ = NULL; + gchar* _tmp95_ = NULL; +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp83_ = s; +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp84_ = option; +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp85_ = _tmp84_->constraint.range; +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp86_ = _tmp85_->min; +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp87_ = option; +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp88_ = _tmp87_->constraint.range; +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp89_ = _tmp88_->max; +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp90_ = option; +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp91_ = _tmp90_->constraint.range; +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp92_ = _tmp91_->quant; +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp93_ = g_strdup_printf (" min=%d, max=%d, quant=%d", (gint) _tmp86_, (gint) _tmp89_, (gint) _tmp92_); +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp94_ = _tmp93_; +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp95_ = g_strconcat (_tmp83_, _tmp94_, NULL); +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp95_; +#line 643 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp94_); +#line 7258 "scanner.c" + } +#line 644 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 7262 "scanner.c" + } +#line 637 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_CONSTRAINT_WORD_LIST: +#line 7266 "scanner.c" + { + const gchar* _tmp96_ = NULL; + gchar* _tmp97_ = NULL; + const gchar* _tmp126_ = NULL; + gchar* _tmp127_ = NULL; +#line 646 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp96_ = s; +#line 646 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp97_ = g_strconcat (_tmp96_, " values=[", NULL); +#line 646 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 646 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp97_; +#line 7280 "scanner.c" + { + gint i = 0; +#line 647 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = 0; +#line 7285 "scanner.c" + { + gboolean _tmp98_ = FALSE; +#line 647 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp98_ = TRUE; +#line 647 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 7292 "scanner.c" + gint _tmp100_ = 0; + SANE_Option_Descriptor* _tmp101_ = NULL; + SANE_Word* _tmp102_ = NULL; + gint _tmp102__length1 = 0; + SANE_Word _tmp103_ = {0}; + gint _tmp104_ = 0; + SANE_Option_Descriptor* _tmp107_ = NULL; + SANE_Value_Type _tmp108_ = 0; +#line 647 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp98_) { +#line 7303 "scanner.c" + gint _tmp99_ = 0; +#line 647 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp99_ = i; +#line 647 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = _tmp99_ + 1; +#line 7309 "scanner.c" + } +#line 647 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp98_ = FALSE; +#line 647 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp100_ = i; +#line 647 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp101_ = option; +#line 647 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp102_ = _tmp101_->constraint.word_list; +#line 647 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp102__length1 = -1; +#line 647 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp103_ = _tmp102_[0]; +#line 647 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!(((SANE_Word) _tmp100_) < _tmp103_)) { +#line 647 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 7327 "scanner.c" + } +#line 649 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp104_ = i; +#line 649 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp104_ != 0) { +#line 7333 "scanner.c" + const gchar* _tmp105_ = NULL; + gchar* _tmp106_ = NULL; +#line 650 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp105_ = s; +#line 650 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp106_ = g_strconcat (_tmp105_, ", ", NULL); +#line 650 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 650 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp106_; +#line 7344 "scanner.c" + } +#line 651 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp107_ = option; +#line 651 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp108_ = _tmp107_->type; +#line 651 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp108_ == SANE_TYPE_INT) { +#line 7352 "scanner.c" + const gchar* _tmp109_ = NULL; + SANE_Option_Descriptor* _tmp110_ = NULL; + SANE_Word* _tmp111_ = NULL; + gint _tmp111__length1 = 0; + gint _tmp112_ = 0; + SANE_Word _tmp113_ = {0}; + gchar* _tmp114_ = NULL; + gchar* _tmp115_ = NULL; + gchar* _tmp116_ = NULL; +#line 652 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp109_ = s; +#line 652 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp110_ = option; +#line 652 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp111_ = _tmp110_->constraint.word_list; +#line 652 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp111__length1 = -1; +#line 652 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp112_ = i; +#line 652 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp113_ = _tmp111_[_tmp112_ + 1]; +#line 652 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp114_ = g_strdup_printf ("%d", (gint) _tmp113_); +#line 652 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp115_ = _tmp114_; +#line 652 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp116_ = g_strconcat (_tmp109_, _tmp115_, NULL); +#line 652 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 652 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp116_; +#line 652 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp115_); +#line 7386 "scanner.c" + } else { + const gchar* _tmp117_ = NULL; + SANE_Option_Descriptor* _tmp118_ = NULL; + SANE_Word* _tmp119_ = NULL; + gint _tmp119__length1 = 0; + gint _tmp120_ = 0; + SANE_Word _tmp121_ = {0}; + gdouble _tmp122_ = 0.0; + gchar* _tmp123_ = NULL; + gchar* _tmp124_ = NULL; + gchar* _tmp125_ = NULL; +#line 654 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp117_ = s; +#line 654 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp118_ = option; +#line 654 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp119_ = _tmp118_->constraint.word_list; +#line 654 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp119__length1 = -1; +#line 654 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp120_ = i; +#line 654 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp121_ = _tmp119_[_tmp120_ + 1]; +#line 654 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp122_ = SANE_UNFIX ((SANE_Fixed) _tmp121_); +#line 654 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp123_ = g_strdup_printf ("%f", _tmp122_); +#line 654 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp124_ = _tmp123_; +#line 654 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp125_ = g_strconcat (_tmp117_, _tmp124_, NULL); +#line 654 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 654 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp125_; +#line 654 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp124_); +#line 7424 "scanner.c" + } + } + } + } +#line 656 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp126_ = s; +#line 656 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp127_ = g_strconcat (_tmp126_, "]", NULL); +#line 656 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 656 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp127_; +#line 657 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 7439 "scanner.c" + } +#line 637 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_CONSTRAINT_STRING_LIST: +#line 7443 "scanner.c" + { + const gchar* _tmp128_ = NULL; + gchar* _tmp129_ = NULL; + const gchar* _tmp147_ = NULL; + gchar* _tmp148_ = NULL; +#line 659 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp128_ = s; +#line 659 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp129_ = g_strconcat (_tmp128_, " values=[", NULL); +#line 659 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 659 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp129_; +#line 7457 "scanner.c" + { + gint i = 0; +#line 660 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = 0; +#line 7462 "scanner.c" + { + gboolean _tmp130_ = FALSE; +#line 660 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp130_ = TRUE; +#line 660 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 7469 "scanner.c" + SANE_Option_Descriptor* _tmp132_ = NULL; + gchar** _tmp133_ = NULL; + gint _tmp133__length1 = 0; + gint _tmp134_ = 0; + const gchar* _tmp135_ = NULL; + gint _tmp136_ = 0; + const gchar* _tmp139_ = NULL; + SANE_Option_Descriptor* _tmp140_ = NULL; + gchar** _tmp141_ = NULL; + gint _tmp141__length1 = 0; + gint _tmp142_ = 0; + const gchar* _tmp143_ = NULL; + gchar* _tmp144_ = NULL; + gchar* _tmp145_ = NULL; + gchar* _tmp146_ = NULL; +#line 660 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp130_) { +#line 7487 "scanner.c" + gint _tmp131_ = 0; +#line 660 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp131_ = i; +#line 660 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = _tmp131_ + 1; +#line 7493 "scanner.c" + } +#line 660 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp130_ = FALSE; +#line 660 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp132_ = option; +#line 660 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp133_ = _tmp132_->constraint.string_list; +#line 660 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp133__length1 = -1; +#line 660 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp134_ = i; +#line 660 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp135_ = _tmp133_[_tmp134_]; +#line 660 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!(_tmp135_ != NULL)) { +#line 660 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 7511 "scanner.c" + } +#line 662 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp136_ = i; +#line 662 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp136_ != 0) { +#line 7517 "scanner.c" + const gchar* _tmp137_ = NULL; + gchar* _tmp138_ = NULL; +#line 663 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp137_ = s; +#line 663 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_ = g_strconcat (_tmp137_, ", ", NULL); +#line 663 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 663 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp138_; +#line 7528 "scanner.c" + } +#line 664 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp139_ = s; +#line 664 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp140_ = option; +#line 664 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp141_ = _tmp140_->constraint.string_list; +#line 664 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp141__length1 = -1; +#line 664 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp142_ = i; +#line 664 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp143_ = _tmp141_[_tmp142_]; +#line 664 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp144_ = g_strdup_printf ("\"%s\"", _tmp143_); +#line 664 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp145_ = _tmp144_; +#line 664 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp146_ = g_strconcat (_tmp139_, _tmp145_, NULL); +#line 664 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 664 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp146_; +#line 664 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp145_); +#line 7554 "scanner.c" + } + } + } +#line 666 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp147_ = s; +#line 666 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp148_ = g_strconcat (_tmp147_, "]", NULL); +#line 666 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 666 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp148_; +#line 667 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 7568 "scanner.c" + } + default: + { +#line 669 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 7574 "scanner.c" + } + } +#line 672 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp149_ = option; +#line 672 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp150_ = _tmp149_->cap; +#line 672 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + cap = _tmp150_; +#line 673 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp151_ = cap; +#line 673 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp151_ != ((SANE_Int) 0)) { +#line 7587 "scanner.c" + const gchar* _tmp152_ = NULL; + gchar* _tmp153_ = NULL; + SANE_Int _tmp154_ = {0}; + SANE_Int _tmp161_ = {0}; + SANE_Int _tmp168_ = {0}; + SANE_Int _tmp175_ = {0}; + SANE_Int _tmp182_ = {0}; + SANE_Int _tmp189_ = {0}; + SANE_Int _tmp196_ = {0}; + SANE_Int _tmp203_ = {0}; +#line 675 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp152_ = s; +#line 675 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp153_ = g_strconcat (_tmp152_, " cap=", NULL); +#line 675 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 675 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp153_; +#line 676 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp154_ = cap; +#line 676 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if ((_tmp154_ & SANE_CAP_SOFT_SELECT) != ((SANE_Int) 0)) { +#line 7610 "scanner.c" + const gchar* _tmp155_ = NULL; + const gchar* _tmp158_ = NULL; + gchar* _tmp159_ = NULL; + SANE_Int _tmp160_ = {0}; +#line 678 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp155_ = s; +#line 678 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_strcmp0 (_tmp155_, "") != 0) { +#line 7619 "scanner.c" + const gchar* _tmp156_ = NULL; + gchar* _tmp157_ = NULL; +#line 679 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp156_ = s; +#line 679 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp157_ = g_strconcat (_tmp156_, ",", NULL); +#line 679 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 679 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp157_; +#line 7630 "scanner.c" + } +#line 680 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp158_ = s; +#line 680 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp159_ = g_strconcat (_tmp158_, "soft-select", NULL); +#line 680 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 680 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp159_; +#line 681 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp160_ = cap; +#line 681 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + cap = _tmp160_ & (~SANE_CAP_SOFT_SELECT); +#line 7644 "scanner.c" + } +#line 683 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp161_ = cap; +#line 683 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if ((_tmp161_ & SANE_CAP_HARD_SELECT) != ((SANE_Int) 0)) { +#line 7650 "scanner.c" + const gchar* _tmp162_ = NULL; + const gchar* _tmp165_ = NULL; + gchar* _tmp166_ = NULL; + SANE_Int _tmp167_ = {0}; +#line 685 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp162_ = s; +#line 685 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_strcmp0 (_tmp162_, "") != 0) { +#line 7659 "scanner.c" + const gchar* _tmp163_ = NULL; + gchar* _tmp164_ = NULL; +#line 686 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp163_ = s; +#line 686 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp164_ = g_strconcat (_tmp163_, ",", NULL); +#line 686 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 686 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp164_; +#line 7670 "scanner.c" + } +#line 687 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp165_ = s; +#line 687 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp166_ = g_strconcat (_tmp165_, "hard-select", NULL); +#line 687 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 687 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp166_; +#line 688 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp167_ = cap; +#line 688 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + cap = _tmp167_ & (~SANE_CAP_HARD_SELECT); +#line 7684 "scanner.c" + } +#line 690 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp168_ = cap; +#line 690 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if ((_tmp168_ & SANE_CAP_SOFT_DETECT) != ((SANE_Int) 0)) { +#line 7690 "scanner.c" + const gchar* _tmp169_ = NULL; + const gchar* _tmp172_ = NULL; + gchar* _tmp173_ = NULL; + SANE_Int _tmp174_ = {0}; +#line 692 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp169_ = s; +#line 692 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_strcmp0 (_tmp169_, "") != 0) { +#line 7699 "scanner.c" + const gchar* _tmp170_ = NULL; + gchar* _tmp171_ = NULL; +#line 693 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp170_ = s; +#line 693 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp171_ = g_strconcat (_tmp170_, ",", NULL); +#line 693 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 693 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp171_; +#line 7710 "scanner.c" + } +#line 694 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp172_ = s; +#line 694 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp173_ = g_strconcat (_tmp172_, "soft-detect", NULL); +#line 694 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 694 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp173_; +#line 695 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp174_ = cap; +#line 695 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + cap = _tmp174_ & (~SANE_CAP_SOFT_DETECT); +#line 7724 "scanner.c" + } +#line 697 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp175_ = cap; +#line 697 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if ((_tmp175_ & SANE_CAP_EMULATED) != ((SANE_Int) 0)) { +#line 7730 "scanner.c" + const gchar* _tmp176_ = NULL; + const gchar* _tmp179_ = NULL; + gchar* _tmp180_ = NULL; + SANE_Int _tmp181_ = {0}; +#line 699 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp176_ = s; +#line 699 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_strcmp0 (_tmp176_, "") != 0) { +#line 7739 "scanner.c" + const gchar* _tmp177_ = NULL; + gchar* _tmp178_ = NULL; +#line 700 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp177_ = s; +#line 700 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp178_ = g_strconcat (_tmp177_, ",", NULL); +#line 700 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 700 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp178_; +#line 7750 "scanner.c" + } +#line 701 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp179_ = s; +#line 701 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp180_ = g_strconcat (_tmp179_, "emulated", NULL); +#line 701 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 701 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp180_; +#line 702 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp181_ = cap; +#line 702 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + cap = _tmp181_ & (~SANE_CAP_EMULATED); +#line 7764 "scanner.c" + } +#line 704 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp182_ = cap; +#line 704 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if ((_tmp182_ & SANE_CAP_AUTOMATIC) != ((SANE_Int) 0)) { +#line 7770 "scanner.c" + const gchar* _tmp183_ = NULL; + const gchar* _tmp186_ = NULL; + gchar* _tmp187_ = NULL; + SANE_Int _tmp188_ = {0}; +#line 706 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp183_ = s; +#line 706 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_strcmp0 (_tmp183_, "") != 0) { +#line 7779 "scanner.c" + const gchar* _tmp184_ = NULL; + gchar* _tmp185_ = NULL; +#line 707 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp184_ = s; +#line 707 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp185_ = g_strconcat (_tmp184_, ",", NULL); +#line 707 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 707 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp185_; +#line 7790 "scanner.c" + } +#line 708 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp186_ = s; +#line 708 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp187_ = g_strconcat (_tmp186_, "automatic", NULL); +#line 708 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 708 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp187_; +#line 709 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp188_ = cap; +#line 709 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + cap = _tmp188_ & (~SANE_CAP_AUTOMATIC); +#line 7804 "scanner.c" + } +#line 711 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp189_ = cap; +#line 711 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if ((_tmp189_ & SANE_CAP_INACTIVE) != ((SANE_Int) 0)) { +#line 7810 "scanner.c" + const gchar* _tmp190_ = NULL; + const gchar* _tmp193_ = NULL; + gchar* _tmp194_ = NULL; + SANE_Int _tmp195_ = {0}; +#line 713 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp190_ = s; +#line 713 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_strcmp0 (_tmp190_, "") != 0) { +#line 7819 "scanner.c" + const gchar* _tmp191_ = NULL; + gchar* _tmp192_ = NULL; +#line 714 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp191_ = s; +#line 714 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp192_ = g_strconcat (_tmp191_, ",", NULL); +#line 714 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 714 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp192_; +#line 7830 "scanner.c" + } +#line 715 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp193_ = s; +#line 715 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp194_ = g_strconcat (_tmp193_, "inactive", NULL); +#line 715 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 715 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp194_; +#line 716 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp195_ = cap; +#line 716 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + cap = _tmp195_ & (~SANE_CAP_INACTIVE); +#line 7844 "scanner.c" + } +#line 718 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp196_ = cap; +#line 718 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if ((_tmp196_ & SANE_CAP_ADVANCED) != ((SANE_Int) 0)) { +#line 7850 "scanner.c" + const gchar* _tmp197_ = NULL; + const gchar* _tmp200_ = NULL; + gchar* _tmp201_ = NULL; + SANE_Int _tmp202_ = {0}; +#line 720 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp197_ = s; +#line 720 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_strcmp0 (_tmp197_, "") != 0) { +#line 7859 "scanner.c" + const gchar* _tmp198_ = NULL; + gchar* _tmp199_ = NULL; +#line 721 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp198_ = s; +#line 721 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp199_ = g_strconcat (_tmp198_, ",", NULL); +#line 721 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 721 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp199_; +#line 7870 "scanner.c" + } +#line 722 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp200_ = s; +#line 722 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp201_ = g_strconcat (_tmp200_, "advanced", NULL); +#line 722 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 722 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp201_; +#line 723 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp202_ = cap; +#line 723 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + cap = _tmp202_ & (~SANE_CAP_ADVANCED); +#line 7884 "scanner.c" + } +#line 726 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp203_ = cap; +#line 726 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp203_ != ((SANE_Int) 0)) { +#line 7890 "scanner.c" + const gchar* _tmp204_ = NULL; + const gchar* _tmp207_ = NULL; + SANE_Int _tmp208_ = {0}; + gchar* _tmp209_ = NULL; + gchar* _tmp210_ = NULL; + gchar* _tmp211_ = NULL; +#line 728 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp204_ = s; +#line 728 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_strcmp0 (_tmp204_, "") != 0) { +#line 7901 "scanner.c" + const gchar* _tmp205_ = NULL; + gchar* _tmp206_ = NULL; +#line 729 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp205_ = s; +#line 729 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp206_ = g_strconcat (_tmp205_, ",", NULL); +#line 729 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 729 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp206_; +#line 7912 "scanner.c" + } +#line 730 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp207_ = s; +#line 730 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp208_ = cap; +#line 730 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp209_ = g_strdup_printf ("%x", (guint) ((gint) _tmp208_)); +#line 730 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp210_ = _tmp209_; +#line 730 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp211_ = g_strconcat (_tmp207_, _tmp210_, NULL); +#line 730 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 730 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + s = _tmp211_; +#line 730 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp210_); +#line 7930 "scanner.c" + } + } +#line 734 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp212_ = s; +#line 734 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:734: %s", _tmp212_); +#line 736 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp213_ = option; +#line 736 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp214_ = _tmp213_->desc; +#line 736 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp214_ != NULL) { +#line 7943 "scanner.c" + SANE_Option_Descriptor* _tmp215_ = NULL; + const gchar* _tmp216_ = NULL; +#line 737 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp215_ = option; +#line 737 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp216_ = _tmp215_->desc; +#line 737 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:737: Description: %s", _tmp216_); +#line 7952 "scanner.c" + } +#line 573 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (s); +#line 7956 "scanner.c" +} + + +static void scanner_authorization_cb (const gchar* resource, gchar* username, int username_length1, gchar* password, int password_length1) { + Scanner* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + NotifyRequestAuthorization* _tmp2_ = NULL; + NotifyRequestAuthorization* _tmp3_ = NULL; + Credentials* credentials = NULL; + Scanner* _tmp4_ = NULL; + GAsyncQueue* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; +#line 740 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (resource != NULL); +#line 742 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = scanner_scanner_object; +#line 742 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = resource; +#line 742 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = notify_request_authorization_new (_tmp1_); +#line 742 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = _tmp2_; +#line 742 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_notify (_tmp0_, (Notify*) _tmp3_); +#line 742 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _notify_unref0 (_tmp3_); +#line 744 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = scanner_scanner_object; +#line 744 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = _tmp4_->priv->authorize_queue; +#line 744 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = g_async_queue_pop (_tmp5_); +#line 744 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + credentials = (Credentials*) _tmp6_; +#line 7991 "scanner.c" + { + gint i = 0; +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = 0; +#line 7996 "scanner.c" + { + gboolean _tmp7_ = FALSE; +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = TRUE; +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 8003 "scanner.c" + gboolean _tmp9_ = FALSE; + Credentials* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gint _tmp12_ = 0; + gchar _tmp13_ = '\0'; + gchar* _tmp16_ = NULL; + gint _tmp16__length1 = 0; + gint _tmp17_ = 0; + Credentials* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gint _tmp20_ = 0; + gchar _tmp21_ = '\0'; + gchar _tmp22_ = '\0'; +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp7_) { +#line 8019 "scanner.c" + gint _tmp8_ = 0; +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = i; +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = _tmp8_ + 1; +#line 8025 "scanner.c" + } +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = FALSE; +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = credentials; +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = _tmp10_->username; +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = i; +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = string_get (_tmp11_, (glong) _tmp12_); +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp13_ != '\0') { +#line 8039 "scanner.c" + gint _tmp14_ = 0; + gint _tmp15_ = 0; +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = i; +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = SANE_MAX_USERNAME_LEN; +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = _tmp14_ < _tmp15_; +#line 8048 "scanner.c" + } else { +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = FALSE; +#line 8052 "scanner.c" + } +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp9_) { +#line 745 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 8058 "scanner.c" + } +#line 746 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = username; +#line 746 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16__length1 = username_length1; +#line 746 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17_ = i; +#line 746 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = credentials; +#line 746 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19_ = _tmp18_->username; +#line 746 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp20_ = i; +#line 746 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21_ = string_get (_tmp19_, (glong) _tmp20_); +#line 746 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_[_tmp17_] = _tmp21_; +#line 746 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp22_ = _tmp16_[_tmp17_]; +#line 8078 "scanner.c" + } + } + } + { + gint i = 0; +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = 0; +#line 8086 "scanner.c" + { + gboolean _tmp23_ = FALSE; +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp23_ = TRUE; +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 8093 "scanner.c" + gboolean _tmp25_ = FALSE; + Credentials* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + gint _tmp28_ = 0; + gchar _tmp29_ = '\0'; + gchar* _tmp32_ = NULL; + gint _tmp32__length1 = 0; + gint _tmp33_ = 0; + Credentials* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; + gint _tmp36_ = 0; + gchar _tmp37_ = '\0'; + gchar _tmp38_ = '\0'; +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp23_) { +#line 8109 "scanner.c" + gint _tmp24_ = 0; +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp24_ = i; +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = _tmp24_ + 1; +#line 8115 "scanner.c" + } +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp23_ = FALSE; +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26_ = credentials; +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp27_ = _tmp26_->password; +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp28_ = i; +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_ = string_get (_tmp27_, (glong) _tmp28_); +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp29_ != '\0') { +#line 8129 "scanner.c" + gint _tmp30_ = 0; + gint _tmp31_ = 0; +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_ = i; +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp31_ = SANE_MAX_USERNAME_LEN; +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_ = _tmp30_ < _tmp31_; +#line 8138 "scanner.c" + } else { +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_ = FALSE; +#line 8142 "scanner.c" + } +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp25_) { +#line 747 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 8148 "scanner.c" + } +#line 748 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp32_ = password; +#line 748 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp32__length1 = password_length1; +#line 748 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_ = i; +#line 748 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp34_ = credentials; +#line 748 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp35_ = _tmp34_->password; +#line 748 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36_ = i; +#line 748 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_ = string_get (_tmp35_, (glong) _tmp36_); +#line 748 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp32_[_tmp33_] = _tmp37_; +#line 748 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp38_ = _tmp32_[_tmp33_]; +#line 8168 "scanner.c" + } + } + } +#line 740 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _credentials_unref0 (credentials); +#line 8174 "scanner.c" +} + + +static gpointer _credentials_ref0 (gpointer self) { +#line 756 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self ? credentials_ref (self) : NULL; +#line 8181 "scanner.c" +} + + +void scanner_authorize (Scanner* self, const gchar* username, const gchar* password) { + Credentials* credentials = NULL; + Credentials* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GAsyncQueue* _tmp5_ = NULL; + Credentials* _tmp6_ = NULL; +#line 751 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 751 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (username != NULL); +#line 751 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (password != NULL); +#line 753 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = credentials_new (); +#line 753 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + credentials = _tmp0_; +#line 754 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = username; +#line 754 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 754 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (credentials->username); +#line 754 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + credentials->username = _tmp2_; +#line 755 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = password; +#line 755 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 755 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (credentials->password); +#line 755 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + credentials->password = _tmp4_; +#line 756 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = self->priv->authorize_queue; +#line 756 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = _credentials_ref0 (credentials); +#line 756 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_async_queue_push (_tmp5_, _tmp6_); +#line 751 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _credentials_unref0 (credentials); +#line 8228 "scanner.c" +} + + +static void scanner_close_device (Scanner* self) { + gboolean _tmp0_ = FALSE; +#line 759 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 761 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = self->priv->have_handle; +#line 761 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp0_) { +#line 8240 "scanner.c" + SANE_Handle _tmp1_ = {0}; + SANE_Handle _tmp2_ = {0}; +#line 763 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = self->priv->handle; +#line 763 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + sane_cancel (_tmp1_); +#line 764 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:764: sane_cancel ()"); +#line 766 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = self->priv->handle; +#line 766 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + sane_close (_tmp2_); +#line 767 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:767: sane_close ()"); +#line 768 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->have_handle = FALSE; +#line 769 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_hash_table_unref0 (self->priv->options); +#line 769 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->options = NULL; +#line 8261 "scanner.c" + } +#line 772 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->buffer = (g_free (self->priv->buffer), NULL); +#line 772 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->buffer = NULL; +#line 772 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->buffer_length1 = 0; +#line 772 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->_buffer_size_ = self->priv->buffer_length1; +#line 773 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + __g_list_free__scan_job_unref0_0 (self->priv->job_queue); +#line 773 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->job_queue = NULL; +#line 775 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_scanning (self, FALSE); +#line 8277 "scanner.c" +} + + +static void scanner_fail_scan (Scanner* self, gint error_code, const gchar* error_string) { + gint _tmp0_ = 0; + const gchar* _tmp1_ = NULL; + NotifyScanFailed* _tmp2_ = NULL; + NotifyScanFailed* _tmp3_ = NULL; +#line 778 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 778 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (error_string != NULL); +#line 780 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_close_device (self); +#line 781 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_IDLE; +#line 782 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = error_code; +#line 782 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = error_string; +#line 782 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = notify_scan_failed_new (_tmp0_, _tmp1_); +#line 782 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = _tmp2_; +#line 782 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_notify (self, (Notify*) _tmp3_); +#line 782 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _notify_unref0 (_tmp3_); +#line 8306 "scanner.c" +} + + +static gpointer _request_ref0 (gpointer self) { +#line 807 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self ? request_ref (self) : NULL; +#line 8313 "scanner.c" +} + + +static gpointer _scan_job_ref0 (gpointer self) { +#line 808 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self ? scan_job_ref (self) : NULL; +#line 8320 "scanner.c" +} + + +static gboolean scanner_handle_requests (Scanner* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + ScanState _tmp1_ = 0; + gint request_count = 0; +#line 785 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (self != NULL, FALSE); +#line 788 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = self->priv->state; +#line 788 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp1_ == SCAN_STATE_IDLE) { +#line 8335 "scanner.c" + gboolean _tmp2_ = FALSE; +#line 788 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = self->priv->need_redetect; +#line 788 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = _tmp2_; +#line 8341 "scanner.c" + } else { +#line 788 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = FALSE; +#line 8345 "scanner.c" + } +#line 788 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp0_) { +#line 789 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_REDETECT; +#line 8351 "scanner.c" + } +#line 792 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + request_count = 0; +#line 793 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 8357 "scanner.c" + Request* request = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + ScanState _tmp5_ = 0; + gint _tmp11_ = 0; + Request* _tmp12_ = NULL; +#line 796 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = self->priv->state; +#line 796 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp5_ == SCAN_STATE_IDLE) { +#line 8368 "scanner.c" + gint _tmp6_ = 0; +#line 796 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = request_count; +#line 796 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = _tmp6_ == 0; +#line 8374 "scanner.c" + } else { +#line 796 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = FALSE; +#line 8378 "scanner.c" + } +#line 796 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp4_) { +#line 796 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = TRUE; +#line 8384 "scanner.c" + } else { + GAsyncQueue* _tmp7_ = NULL; + gint _tmp8_ = 0; +#line 797 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = self->priv->request_queue; +#line 797 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = g_async_queue_length (_tmp7_); +#line 797 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = _tmp8_ > 0; +#line 8394 "scanner.c" + } +#line 796 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp3_) { +#line 8398 "scanner.c" + GAsyncQueue* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; +#line 798 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = self->priv->request_queue; +#line 798 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = g_async_queue_pop (_tmp9_); +#line 798 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _request_unref0 (request); +#line 798 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + request = (Request*) _tmp10_; +#line 8409 "scanner.c" + } else { +#line 800 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = TRUE; +#line 800 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _request_unref0 (request); +#line 800 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 8417 "scanner.c" + } +#line 802 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:802: Processing request"); +#line 803 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = request_count; +#line 803 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + request_count = _tmp11_ + 1; +#line 805 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = request; +#line 805 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, TYPE_REQUEST_START_SCAN)) { +#line 8429 "scanner.c" + RequestStartScan* r = NULL; + Request* _tmp13_ = NULL; + RequestStartScan* _tmp14_ = NULL; + RequestStartScan* _tmp15_ = NULL; + ScanJob* _tmp16_ = NULL; + ScanJob* _tmp17_ = NULL; +#line 807 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = request; +#line 807 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = _request_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_REQUEST_START_SCAN, RequestStartScan)); +#line 807 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + r = _tmp14_; +#line 808 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = r; +#line 808 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = _tmp15_->job; +#line 808 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17_ = _scan_job_ref0 (_tmp16_); +#line 808 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->job_queue = g_list_append (self->priv->job_queue, _tmp17_); +#line 805 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _request_unref0 (r); +#line 8452 "scanner.c" + } else { + Request* _tmp18_ = NULL; +#line 810 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = request; +#line 810 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp18_, TYPE_REQUEST_CANCEL)) { +#line 812 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_fail_scan (self, (gint) SANE_STATUS_CANCELLED, "Scan cancelled - do not report this error"); +#line 8461 "scanner.c" + } else { + Request* _tmp19_ = NULL; +#line 814 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19_ = request; +#line 814 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_REQUEST_QUIT)) { +#line 816 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_close_device (self); +#line 817 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = FALSE; +#line 817 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _request_unref0 (request); +#line 817 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 8476 "scanner.c" + } + } + } +#line 793 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _request_unref0 (request); +#line 8482 "scanner.c" + } +} + + +static void _g_free0_ (gpointer var) { +#line 861 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + var = (g_free (var), NULL); +#line 8490 "scanner.c" +} + + +static void scanner_do_open (Scanner* self) { + ScanJob* job = NULL; + GList* _tmp0_ = NULL; + gconstpointer _tmp1_ = NULL; + ScanJob* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + ScanJob* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + ScanJob* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gboolean _tmp13_ = FALSE; + GHashFunc _tmp18_ = NULL; + GEqualFunc _tmp19_ = NULL; + GHashTable* _tmp20_ = NULL; + SANE_Status status = 0; + ScanJob* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + SANE_Handle _tmp23_ = {0}; + SANE_Status _tmp24_ = 0; + ScanJob* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + SANE_Status _tmp27_ = 0; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + SANE_Status _tmp30_ = 0; + ScanJob* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; +#line 822 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 824 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = self->priv->job_queue; +#line 824 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = _tmp0_->data; +#line 824 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = _scan_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST ((ScanJob*) _tmp1_, TYPE_SCAN_JOB, ScanJob)); +#line 824 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + job = _tmp2_; +#line 826 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->line_count = 0; +#line 827 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->pass_number = 0; +#line 828 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->page_number = 0; +#line 829 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->notified_page = -1; +#line 830 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->option_index = (SANE_Int) 0; +#line 832 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = job; +#line 832 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = _tmp4_->device; +#line 832 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp5_ == NULL) { +#line 8548 "scanner.c" + const gchar* _tmp6_ = NULL; +#line 832 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = self->priv->default_device; +#line 832 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = _tmp6_ != NULL; +#line 8554 "scanner.c" + } else { +#line 832 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = FALSE; +#line 8558 "scanner.c" + } +#line 832 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp3_) { +#line 8562 "scanner.c" + ScanJob* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 833 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = job; +#line 833 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = self->priv->default_device; +#line 833 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 833 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp7_->device); +#line 833 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_->device = _tmp9_; +#line 8576 "scanner.c" + } +#line 835 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = job; +#line 835 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = _tmp10_->device; +#line 835 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp11_ == NULL) { +#line 8584 "scanner.c" + const gchar* _tmp12_ = NULL; +#line 837 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:837: No scan device available"); +#line 838 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = _ ("No scanners available. Please connect a scanner."); +#line 838 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_fail_scan (self, 0, _tmp12_); +#line 841 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 841 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 8596 "scanner.c" + } +#line 845 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = self->priv->have_handle; +#line 845 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp13_) { +#line 8602 "scanner.c" + const gchar* _tmp14_ = NULL; + ScanJob* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + SANE_Handle _tmp17_ = {0}; +#line 847 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = self->priv->current_device; +#line 847 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = job; +#line 847 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = _tmp15_->device; +#line 847 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_strcmp0 (_tmp14_, _tmp16_) == 0) { +#line 849 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_GET_OPTION; +#line 850 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 850 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 8621 "scanner.c" + } +#line 853 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17_ = self->priv->handle; +#line 853 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + sane_close (_tmp17_); +#line 854 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:854: sane_close ()"); +#line 855 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->have_handle = FALSE; +#line 8631 "scanner.c" + } +#line 858 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->priv->current_device); +#line 858 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->current_device = NULL; +#line 860 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->have_handle = FALSE; +#line 861 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = g_str_hash; +#line 861 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19_ = g_str_equal; +#line 861 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp20_ = g_hash_table_new_full (_tmp18_, _tmp19_, _g_free0_, NULL); +#line 861 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_hash_table_unref0 (self->priv->options); +#line 861 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->options = _tmp20_; +#line 862 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21_ = job; +#line 862 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp22_ = _tmp21_->device; +#line 862 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp24_ = sane_open (_tmp22_, &_tmp23_); +#line 862 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->handle = _tmp23_; +#line 862 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + status = _tmp24_; +#line 863 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_ = job; +#line 863 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26_ = _tmp25_->device; +#line 863 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp27_ = status; +#line 863 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp28_ = sane_status_to_string (_tmp27_); +#line 863 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_ = _tmp28_; +#line 863 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:863: sane_open (\"%s\") -> %s", _tmp26_, _tmp29_); +#line 863 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp29_); +#line 865 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_ = status; +#line 865 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp30_ != SANE_STATUS_GOOD) { +#line 8677 "scanner.c" + SANE_Status _tmp31_ = 0; + const gchar* _tmp32_ = NULL; + SANE_Status _tmp33_ = 0; + const gchar* _tmp34_ = NULL; +#line 867 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp31_ = status; +#line 867 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp32_ = sane_strstatus (_tmp31_); +#line 867 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:867: Unable to get open device: %s", _tmp32_); +#line 868 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_ = status; +#line 868 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp34_ = _ ("Unable to connect to scanner"); +#line 868 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_fail_scan (self, (gint) _tmp33_, _tmp34_); +#line 871 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 871 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 8698 "scanner.c" + } +#line 873 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->have_handle = TRUE; +#line 875 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp35_ = job; +#line 875 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36_ = _tmp35_->device; +#line 875 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_ = g_strdup (_tmp36_); +#line 875 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->priv->current_device); +#line 875 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->current_device = _tmp37_; +#line 876 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_GET_OPTION; +#line 822 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 8716 "scanner.c" +} + + +static void scanner_do_get_option (Scanner* self) { + ScanJob* job = NULL; + GList* _tmp0_ = NULL; + gconstpointer _tmp1_ = NULL; + ScanJob* _tmp2_ = NULL; + SANE_Option_Descriptor* option = NULL; + SANE_Handle _tmp3_ = {0}; + SANE_Int _tmp4_ = {0}; + SANE_Option_Descriptor* _tmp5_ = NULL; + SANE_Int _tmp6_ = {0}; + SANE_Int index = {0}; + SANE_Int _tmp7_ = {0}; + SANE_Int _tmp8_ = {0}; + SANE_Option_Descriptor* _tmp9_ = NULL; + SANE_Int _tmp356_ = {0}; + SANE_Option_Descriptor* _tmp357_ = NULL; + SANE_Option_Descriptor* _tmp358_ = NULL; + SANE_Value_Type _tmp359_ = 0; + SANE_Option_Descriptor* _tmp360_ = NULL; + SANE_Int _tmp361_ = {0}; + SANE_Option_Descriptor* _tmp362_ = NULL; + const gchar* _tmp363_ = NULL; + GHashTable* _tmp364_ = NULL; + SANE_Option_Descriptor* _tmp365_ = NULL; + const gchar* _tmp366_ = NULL; + gchar* _tmp367_ = NULL; + SANE_Int _tmp368_ = {0}; +#line 879 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 881 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = self->priv->job_queue; +#line 881 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = _tmp0_->data; +#line 881 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = _scan_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST ((ScanJob*) _tmp1_, TYPE_SCAN_JOB, ScanJob)); +#line 881 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + job = _tmp2_; +#line 883 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = self->priv->handle; +#line 883 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = self->priv->option_index; +#line 883 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = sane_get_option_descriptor (_tmp3_, _tmp4_); +#line 883 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp5_; +#line 884 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = self->priv->option_index; +#line 884 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:884: sane_get_option_descriptor (%d)", (gint) _tmp6_); +#line 885 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = self->priv->option_index; +#line 885 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = _tmp7_; +#line 886 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = self->priv->option_index; +#line 886 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->option_index = _tmp8_ + 1; +#line 889 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = option; +#line 889 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp9_ == NULL) { +#line 8781 "scanner.c" + SANE_Handle _tmp10_ = {0}; + const gchar* _tmp11_ = NULL; + gint _tmp12_ = 0; + SANE_Option_Descriptor* _tmp13_ = NULL; + SANE_Option_Descriptor* _tmp14_ = NULL; + SANE_Option_Descriptor* _tmp18_ = NULL; + SANE_Handle _tmp96_ = {0}; + const gchar* _tmp97_ = NULL; + gint _tmp98_ = 0; + SANE_Option_Descriptor* _tmp99_ = NULL; + SANE_Option_Descriptor* _tmp100_ = NULL; + SANE_Handle _tmp156_ = {0}; + gint _tmp157_ = 0; + SANE_Option_Descriptor* _tmp158_ = NULL; + SANE_Option_Descriptor* _tmp159_ = NULL; + SANE_Handle _tmp167_ = {0}; + gint _tmp168_ = 0; + SANE_Option_Descriptor* _tmp169_ = NULL; + SANE_Option_Descriptor* _tmp170_ = NULL; + SANE_Handle _tmp178_ = {0}; + gint _tmp179_ = 0; + SANE_Option_Descriptor* _tmp180_ = NULL; + SANE_Option_Descriptor* _tmp181_ = NULL; + SANE_Handle _tmp194_ = {0}; + const gchar* _tmp195_ = NULL; + gint _tmp196_ = 0; + SANE_Option_Descriptor* _tmp197_ = NULL; + SANE_Option_Descriptor* _tmp198_ = NULL; + SANE_Handle _tmp218_ = {0}; + const gchar* _tmp219_ = NULL; + gint _tmp220_ = 0; + SANE_Option_Descriptor* _tmp221_ = NULL; + SANE_Option_Descriptor* _tmp222_ = NULL; + SANE_Handle _tmp237_ = {0}; + const gchar* _tmp238_ = NULL; + gint _tmp239_ = 0; + SANE_Option_Descriptor* _tmp240_ = NULL; + SANE_Option_Descriptor* _tmp241_ = NULL; + SANE_Handle _tmp256_ = {0}; + const gchar* _tmp257_ = NULL; + gint _tmp258_ = 0; + SANE_Option_Descriptor* _tmp259_ = NULL; + gboolean _tmp260_ = FALSE; + SANE_Option_Descriptor* _tmp261_ = NULL; + SANE_Handle _tmp273_ = {0}; + const gchar* _tmp274_ = NULL; + gint _tmp275_ = 0; + SANE_Option_Descriptor* _tmp276_ = NULL; + gboolean _tmp277_ = FALSE; + SANE_Option_Descriptor* _tmp278_ = NULL; + SANE_Handle _tmp290_ = {0}; + const gchar* _tmp291_ = NULL; + gint _tmp292_ = 0; + SANE_Option_Descriptor* _tmp293_ = NULL; + SANE_Option_Descriptor* _tmp294_ = NULL; + SANE_Handle _tmp305_ = {0}; + const gchar* _tmp306_ = NULL; + gint _tmp307_ = 0; + SANE_Option_Descriptor* _tmp308_ = NULL; + SANE_Option_Descriptor* _tmp309_ = NULL; + const gchar* _tmp320_ = NULL; +#line 892 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = self->priv->handle; +#line 892 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = SANE_NAME_SCAN_SOURCE; +#line 892 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = scanner_get_option_by_name (self, _tmp10_, _tmp11_, &_tmp12_); +#line 892 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp12_; +#line 892 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp13_; +#line 893 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = option; +#line 893 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp14_ == NULL) { +#line 8857 "scanner.c" + SANE_Handle _tmp15_ = {0}; + gint _tmp16_ = 0; + SANE_Option_Descriptor* _tmp17_ = NULL; +#line 895 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:895: SCAN_SOURCE not available, trying alternative \"doc-" \ +"source\""); +#line 896 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = self->priv->handle; +#line 896 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17_ = scanner_get_option_by_name (self, _tmp15_, "doc-source", &_tmp16_); +#line 896 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp16_; +#line 896 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp17_; +#line 8871 "scanner.c" + } +#line 898 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = option; +#line 898 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp18_ != NULL) { +#line 8877 "scanner.c" + gchar** flatbed_sources = NULL; + gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar** _tmp29_ = NULL; + gint flatbed_sources_length1 = 0; + gint _flatbed_sources_size_ = 0; + gchar** adf_sources = NULL; + gchar* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar** _tmp37_ = NULL; + gint adf_sources_length1 = 0; + gint _adf_sources_size_ = 0; + gchar** adf_front_sources = NULL; + gchar* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gchar** _tmp41_ = NULL; + gint adf_front_sources_length1 = 0; + gint _adf_front_sources_size_ = 0; + gchar** adf_back_sources = NULL; + gchar* _tmp42_ = NULL; + const gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar** _tmp45_ = NULL; + gint adf_back_sources_length1 = 0; + gint _adf_back_sources_size_ = 0; + gchar** adf_duplex_sources = NULL; + gchar* _tmp46_ = NULL; + const gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + gchar** _tmp54_ = NULL; + gint adf_duplex_sources_length1 = 0; + gint _adf_duplex_sources_size_ = 0; + ScanJob* _tmp55_ = NULL; + ScanType _tmp56_ = 0; +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19_ = g_strdup ("Auto"); +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp20_ = SANE_I18N ("Auto"); +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21_ = g_strdup (_tmp20_); +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp22_ = g_strdup ("Flatbed"); +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp23_ = SANE_I18N ("Flatbed"); +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp24_ = g_strdup (_tmp23_); +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_ = g_strdup ("FlatBed"); +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26_ = g_strdup ("Normal"); +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp27_ = SANE_I18N ("Normal"); +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp28_ = g_strdup (_tmp27_); +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_ = g_new0 (gchar*, 7 + 1); +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_[0] = _tmp19_; +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_[1] = _tmp21_; +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_[2] = _tmp22_; +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_[3] = _tmp24_; +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_[4] = _tmp25_; +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_[5] = _tmp26_; +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_[6] = _tmp28_; +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + flatbed_sources = _tmp29_; +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + flatbed_sources_length1 = 7; +#line 900 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _flatbed_sources_size_ = flatbed_sources_length1; +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_ = g_strdup ("Automatic Document Feeder"); +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp31_ = SANE_I18N ("Automatic Document Feeder"); +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp32_ = g_strdup (_tmp31_); +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_ = g_strdup ("ADF"); +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp34_ = g_strdup ("Automatic Document Feeder(left aligned)"); +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp35_ = g_strdup ("Automatic Document Feeder(centrally aligned)"); +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36_ = g_strdup ("ADF Simplex"); +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_ = g_new0 (gchar*, 6 + 1); +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_[0] = _tmp30_; +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_[1] = _tmp32_; +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_[2] = _tmp33_; +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_[3] = _tmp34_; +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_[4] = _tmp35_; +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_[5] = _tmp36_; +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + adf_sources = _tmp37_; +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + adf_sources_length1 = 6; +#line 911 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _adf_sources_size_ = adf_sources_length1; +#line 921 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp38_ = g_strdup ("ADF Front"); +#line 921 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp39_ = SANE_I18N ("ADF Front"); +#line 921 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp40_ = g_strdup (_tmp39_); +#line 921 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp41_ = g_new0 (gchar*, 2 + 1); +#line 921 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp41_[0] = _tmp38_; +#line 921 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp41_[1] = _tmp40_; +#line 921 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + adf_front_sources = _tmp41_; +#line 921 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + adf_front_sources_length1 = 2; +#line 921 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _adf_front_sources_size_ = adf_front_sources_length1; +#line 927 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp42_ = g_strdup ("ADF Back"); +#line 927 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp43_ = SANE_I18N ("ADF Back"); +#line 927 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp44_ = g_strdup (_tmp43_); +#line 927 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp45_ = g_new0 (gchar*, 2 + 1); +#line 927 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp45_[0] = _tmp42_; +#line 927 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp45_[1] = _tmp44_; +#line 927 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + adf_back_sources = _tmp45_; +#line 927 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + adf_back_sources_length1 = 2; +#line 927 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _adf_back_sources_size_ = adf_back_sources_length1; +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp46_ = g_strdup ("ADF Duplex"); +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp47_ = SANE_I18N ("ADF Duplex"); +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp48_ = g_strdup (_tmp47_); +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp49_ = g_strdup ("ADF Duplex - Long-Edge Binding"); +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp50_ = g_strdup ("ADF Duplex - Short-Edge Binding"); +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp51_ = g_strdup ("Duplex"); +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp52_ = g_strdup ("Automatic Document Feeder(centrally aligned,Duplex)"); +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp53_ = g_strdup ("Automatic Document Feeder(left aligned,Duplex)"); +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_ = g_new0 (gchar*, 7 + 1); +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_[0] = _tmp46_; +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_[1] = _tmp48_; +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_[2] = _tmp49_; +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_[3] = _tmp50_; +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_[4] = _tmp51_; +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_[5] = _tmp52_; +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_[6] = _tmp53_; +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + adf_duplex_sources = _tmp54_; +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + adf_duplex_sources_length1 = 7; +#line 933 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _adf_duplex_sources_size_ = adf_duplex_sources_length1; +#line 944 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp55_ = job; +#line 944 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp56_ = _tmp55_->type; +#line 944 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + switch (_tmp56_) { +#line 944 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_TYPE_SINGLE: +#line 9089 "scanner.c" + { + SANE_Handle _tmp57_ = {0}; + SANE_Option_Descriptor* _tmp58_ = NULL; + SANE_Int _tmp59_ = {0}; + gboolean _tmp60_ = FALSE; +#line 947 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp57_ = self->priv->handle; +#line 947 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp58_ = option; +#line 947 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp59_ = index; +#line 947 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp60_ = scanner_set_default_option (self, _tmp57_, _tmp58_, _tmp59_); +#line 947 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp60_) { +#line 9105 "scanner.c" + SANE_Handle _tmp61_ = {0}; + SANE_Option_Descriptor* _tmp62_ = NULL; + SANE_Int _tmp63_ = {0}; + gchar** _tmp64_ = NULL; + gint _tmp64__length1 = 0; + gboolean _tmp65_ = FALSE; +#line 948 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp61_ = self->priv->handle; +#line 948 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp62_ = option; +#line 948 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp63_ = index; +#line 948 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp64_ = flatbed_sources; +#line 948 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp64__length1 = flatbed_sources_length1; +#line 948 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp65_ = scanner_set_constrained_string_option (self, _tmp61_, _tmp62_, _tmp63_, _tmp64_, _tmp64__length1, NULL); +#line 948 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp65_) { +#line 949 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:949: Unable to set single page source, please file a bug"); +#line 9128 "scanner.c" + } + } +#line 950 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 9133 "scanner.c" + } +#line 944 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_TYPE_ADF_FRONT: +#line 9137 "scanner.c" + { + SANE_Handle _tmp66_ = {0}; + SANE_Option_Descriptor* _tmp67_ = NULL; + SANE_Int _tmp68_ = {0}; + gchar** _tmp69_ = NULL; + gint _tmp69__length1 = 0; + gboolean _tmp70_ = FALSE; +#line 952 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp66_ = self->priv->handle; +#line 952 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp67_ = option; +#line 952 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp68_ = index; +#line 952 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp69_ = adf_front_sources; +#line 952 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp69__length1 = adf_front_sources_length1; +#line 952 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp70_ = scanner_set_constrained_string_option (self, _tmp66_, _tmp67_, _tmp68_, _tmp69_, _tmp69__length1, NULL); +#line 952 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp70_) { +#line 9159 "scanner.c" + SANE_Handle _tmp71_ = {0}; + SANE_Option_Descriptor* _tmp72_ = NULL; + SANE_Int _tmp73_ = {0}; + gchar** _tmp74_ = NULL; + gint _tmp74__length1 = 0; + gboolean _tmp75_ = FALSE; +#line 953 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp71_ = self->priv->handle; +#line 953 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp72_ = option; +#line 953 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp73_ = index; +#line 953 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp74_ = adf_sources; +#line 953 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp74__length1 = adf_sources_length1; +#line 953 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp75_ = scanner_set_constrained_string_option (self, _tmp71_, _tmp72_, _tmp73_, _tmp74_, _tmp74__length1, NULL); +#line 953 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp75_) { +#line 954 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:954: Unable to set front ADF source, please file a bug"); +#line 9182 "scanner.c" + } + } +#line 955 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 9187 "scanner.c" + } +#line 944 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_TYPE_ADF_BACK: +#line 9191 "scanner.c" + { + SANE_Handle _tmp76_ = {0}; + SANE_Option_Descriptor* _tmp77_ = NULL; + SANE_Int _tmp78_ = {0}; + gchar** _tmp79_ = NULL; + gint _tmp79__length1 = 0; + gboolean _tmp80_ = FALSE; +#line 957 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp76_ = self->priv->handle; +#line 957 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp77_ = option; +#line 957 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp78_ = index; +#line 957 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp79_ = adf_back_sources; +#line 957 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp79__length1 = adf_back_sources_length1; +#line 957 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp80_ = scanner_set_constrained_string_option (self, _tmp76_, _tmp77_, _tmp78_, _tmp79_, _tmp79__length1, NULL); +#line 957 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp80_) { +#line 9213 "scanner.c" + SANE_Handle _tmp81_ = {0}; + SANE_Option_Descriptor* _tmp82_ = NULL; + SANE_Int _tmp83_ = {0}; + gchar** _tmp84_ = NULL; + gint _tmp84__length1 = 0; + gboolean _tmp85_ = FALSE; +#line 958 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp81_ = self->priv->handle; +#line 958 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp82_ = option; +#line 958 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp83_ = index; +#line 958 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp84_ = adf_sources; +#line 958 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp84__length1 = adf_sources_length1; +#line 958 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp85_ = scanner_set_constrained_string_option (self, _tmp81_, _tmp82_, _tmp83_, _tmp84_, _tmp84__length1, NULL); +#line 958 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp85_) { +#line 959 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:959: Unable to set back ADF source, please file a bug"); +#line 9236 "scanner.c" + } + } +#line 960 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 9241 "scanner.c" + } +#line 944 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_TYPE_ADF_BOTH: +#line 9245 "scanner.c" + { + SANE_Handle _tmp86_ = {0}; + SANE_Option_Descriptor* _tmp87_ = NULL; + SANE_Int _tmp88_ = {0}; + gchar** _tmp89_ = NULL; + gint _tmp89__length1 = 0; + gboolean _tmp90_ = FALSE; +#line 962 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp86_ = self->priv->handle; +#line 962 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp87_ = option; +#line 962 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp88_ = index; +#line 962 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp89_ = adf_duplex_sources; +#line 962 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp89__length1 = adf_duplex_sources_length1; +#line 962 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp90_ = scanner_set_constrained_string_option (self, _tmp86_, _tmp87_, _tmp88_, _tmp89_, _tmp89__length1, NULL); +#line 962 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp90_) { +#line 9267 "scanner.c" + SANE_Handle _tmp91_ = {0}; + SANE_Option_Descriptor* _tmp92_ = NULL; + SANE_Int _tmp93_ = {0}; + gchar** _tmp94_ = NULL; + gint _tmp94__length1 = 0; + gboolean _tmp95_ = FALSE; +#line 963 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp91_ = self->priv->handle; +#line 963 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp92_ = option; +#line 963 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp93_ = index; +#line 963 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp94_ = adf_sources; +#line 963 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp94__length1 = adf_sources_length1; +#line 963 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp95_ = scanner_set_constrained_string_option (self, _tmp91_, _tmp92_, _tmp93_, _tmp94_, _tmp94__length1, NULL); +#line 963 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp95_) { +#line 964 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:964: Unable to set duplex ADF source, please file a bug"); +#line 9290 "scanner.c" + } + } +#line 965 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 9295 "scanner.c" + } + default: +#line 944 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 9300 "scanner.c" + } +#line 898 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + adf_duplex_sources = (_vala_array_free (adf_duplex_sources, adf_duplex_sources_length1, (GDestroyNotify) g_free), NULL); +#line 898 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + adf_back_sources = (_vala_array_free (adf_back_sources, adf_back_sources_length1, (GDestroyNotify) g_free), NULL); +#line 898 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + adf_front_sources = (_vala_array_free (adf_front_sources, adf_front_sources_length1, (GDestroyNotify) g_free), NULL); +#line 898 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + adf_sources = (_vala_array_free (adf_sources, adf_sources_length1, (GDestroyNotify) g_free), NULL); +#line 898 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + flatbed_sources = (_vala_array_free (flatbed_sources, flatbed_sources_length1, (GDestroyNotify) g_free), NULL); +#line 9312 "scanner.c" + } +#line 970 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp96_ = self->priv->handle; +#line 970 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp97_ = SANE_NAME_SCAN_MODE; +#line 970 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp99_ = scanner_get_option_by_name (self, _tmp96_, _tmp97_, &_tmp98_); +#line 970 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp98_; +#line 970 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp99_; +#line 971 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp100_ = option; +#line 971 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp100_ != NULL) { +#line 9328 "scanner.c" + gchar** color_scan_modes = NULL; + const gchar* _tmp101_ = NULL; + gchar* _tmp102_ = NULL; + gchar* _tmp103_ = NULL; + gchar* _tmp104_ = NULL; + gchar* _tmp105_ = NULL; + gchar** _tmp106_ = NULL; + gint color_scan_modes_length1 = 0; + gint _color_scan_modes_size_ = 0; + gchar** gray_scan_modes = NULL; + const gchar* _tmp107_ = NULL; + gchar* _tmp108_ = NULL; + gchar* _tmp109_ = NULL; + gchar* _tmp110_ = NULL; + const gchar* _tmp111_ = NULL; + gchar* _tmp112_ = NULL; + gchar* _tmp113_ = NULL; + gchar* _tmp114_ = NULL; + gchar** _tmp115_ = NULL; + gint gray_scan_modes_length1 = 0; + gint _gray_scan_modes_size_ = 0; + gchar** lineart_scan_modes = NULL; + const gchar* _tmp116_ = NULL; + gchar* _tmp117_ = NULL; + gchar* _tmp118_ = NULL; + gchar* _tmp119_ = NULL; + const gchar* _tmp120_ = NULL; + gchar* _tmp121_ = NULL; + gchar* _tmp122_ = NULL; + const gchar* _tmp123_ = NULL; + gchar* _tmp124_ = NULL; + gchar* _tmp125_ = NULL; + const gchar* _tmp126_ = NULL; + gchar* _tmp127_ = NULL; + gchar* _tmp128_ = NULL; + const gchar* _tmp129_ = NULL; + gchar* _tmp130_ = NULL; + gchar* _tmp131_ = NULL; + gchar* _tmp132_ = NULL; + const gchar* _tmp133_ = NULL; + gchar* _tmp134_ = NULL; + gchar* _tmp135_ = NULL; + gchar* _tmp136_ = NULL; + gchar* _tmp137_ = NULL; + gchar** _tmp138_ = NULL; + gint lineart_scan_modes_length1 = 0; + gint _lineart_scan_modes_size_ = 0; + ScanJob* _tmp139_ = NULL; + ScanMode _tmp140_ = 0; +#line 974 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp101_ = SANE_VALUE_SCAN_MODE_COLOR; +#line 974 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp102_ = g_strdup (_tmp101_); +#line 974 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp103_ = g_strdup ("Color"); +#line 974 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp104_ = g_strdup ("24bit Color"); +#line 974 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp105_ = g_strdup ("Color - 16 Million Colors"); +#line 974 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp106_ = g_new0 (gchar*, 4 + 1); +#line 974 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp106_[0] = _tmp102_; +#line 974 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp106_[1] = _tmp103_; +#line 974 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp106_[2] = _tmp104_; +#line 974 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp106_[3] = _tmp105_; +#line 974 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + color_scan_modes = _tmp106_; +#line 974 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + color_scan_modes_length1 = 4; +#line 974 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _color_scan_modes_size_ = color_scan_modes_length1; +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp107_ = SANE_VALUE_SCAN_MODE_GRAY; +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp108_ = g_strdup (_tmp107_); +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp109_ = g_strdup ("Gray"); +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp110_ = g_strdup ("Grayscale"); +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp111_ = SANE_I18N ("Grayscale"); +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp112_ = g_strdup (_tmp111_); +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp113_ = g_strdup ("True Gray"); +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp114_ = g_strdup ("Grayscale - 256 Levels"); +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp115_ = g_new0 (gchar*, 6 + 1); +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp115_[0] = _tmp108_; +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp115_[1] = _tmp109_; +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp115_[2] = _tmp110_; +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp115_[3] = _tmp112_; +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp115_[4] = _tmp113_; +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp115_[5] = _tmp114_; +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + gray_scan_modes = _tmp115_; +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + gray_scan_modes_length1 = 6; +#line 981 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _gray_scan_modes_size_ = gray_scan_modes_length1; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp116_ = SANE_VALUE_SCAN_MODE_LINEART; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp117_ = g_strdup (_tmp116_); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp118_ = g_strdup ("Lineart"); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp119_ = g_strdup ("LineArt"); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp120_ = SANE_I18N ("LineArt"); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp121_ = g_strdup (_tmp120_); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp122_ = g_strdup ("Black & White"); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp123_ = SANE_I18N ("Black & White"); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp124_ = g_strdup (_tmp123_); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp125_ = g_strdup ("Binary"); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp126_ = SANE_I18N ("Binary"); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp127_ = g_strdup (_tmp126_); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp128_ = g_strdup ("Thresholded"); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp129_ = SANE_VALUE_SCAN_MODE_GRAY; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp130_ = g_strdup (_tmp129_); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp131_ = g_strdup ("Gray"); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp132_ = g_strdup ("Grayscale"); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp133_ = SANE_I18N ("Grayscale"); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp134_ = g_strdup (_tmp133_); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp135_ = g_strdup ("True Gray"); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp136_ = g_strdup ("Black and White - Line Art"); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp137_ = g_strdup ("Black and White - Halftone"); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_ = g_new0 (gchar*, 16 + 1); +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[0] = _tmp117_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[1] = _tmp118_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[2] = _tmp119_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[3] = _tmp121_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[4] = _tmp122_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[5] = _tmp124_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[6] = _tmp125_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[7] = _tmp127_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[8] = _tmp128_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[9] = _tmp130_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[10] = _tmp131_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[11] = _tmp132_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[12] = _tmp134_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[13] = _tmp135_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[14] = _tmp136_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_[15] = _tmp137_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + lineart_scan_modes = _tmp138_; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + lineart_scan_modes_length1 = 16; +#line 990 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _lineart_scan_modes_size_ = lineart_scan_modes_length1; +#line 1010 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp139_ = job; +#line 1010 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp140_ = _tmp139_->scan_mode; +#line 1010 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + switch (_tmp140_) { +#line 1010 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_MODE_COLOR: +#line 9532 "scanner.c" + { + SANE_Handle _tmp141_ = {0}; + SANE_Option_Descriptor* _tmp142_ = NULL; + SANE_Int _tmp143_ = {0}; + gchar** _tmp144_ = NULL; + gint _tmp144__length1 = 0; + gboolean _tmp145_ = FALSE; +#line 1013 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp141_ = self->priv->handle; +#line 1013 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp142_ = option; +#line 1013 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp143_ = index; +#line 1013 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp144_ = color_scan_modes; +#line 1013 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp144__length1 = color_scan_modes_length1; +#line 1013 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp145_ = scanner_set_constrained_string_option (self, _tmp141_, _tmp142_, _tmp143_, _tmp144_, _tmp144__length1, NULL); +#line 1013 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp145_) { +#line 1014 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:1014: Unable to set Color mode, please file a bug"); +#line 9556 "scanner.c" + } +#line 1015 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 9560 "scanner.c" + } +#line 1010 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_MODE_GRAY: +#line 9564 "scanner.c" + { + SANE_Handle _tmp146_ = {0}; + SANE_Option_Descriptor* _tmp147_ = NULL; + SANE_Int _tmp148_ = {0}; + gchar** _tmp149_ = NULL; + gint _tmp149__length1 = 0; + gboolean _tmp150_ = FALSE; +#line 1017 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp146_ = self->priv->handle; +#line 1017 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp147_ = option; +#line 1017 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp148_ = index; +#line 1017 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp149_ = gray_scan_modes; +#line 1017 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp149__length1 = gray_scan_modes_length1; +#line 1017 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp150_ = scanner_set_constrained_string_option (self, _tmp146_, _tmp147_, _tmp148_, _tmp149_, _tmp149__length1, NULL); +#line 1017 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp150_) { +#line 1018 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:1018: Unable to set Gray mode, please file a bug"); +#line 9588 "scanner.c" + } +#line 1019 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 9592 "scanner.c" + } +#line 1010 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_MODE_LINEART: +#line 9596 "scanner.c" + { + SANE_Handle _tmp151_ = {0}; + SANE_Option_Descriptor* _tmp152_ = NULL; + SANE_Int _tmp153_ = {0}; + gchar** _tmp154_ = NULL; + gint _tmp154__length1 = 0; + gboolean _tmp155_ = FALSE; +#line 1021 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp151_ = self->priv->handle; +#line 1021 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp152_ = option; +#line 1021 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp153_ = index; +#line 1021 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp154_ = lineart_scan_modes; +#line 1021 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp154__length1 = lineart_scan_modes_length1; +#line 1021 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp155_ = scanner_set_constrained_string_option (self, _tmp151_, _tmp152_, _tmp153_, _tmp154_, _tmp154__length1, NULL); +#line 1021 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp155_) { +#line 1022 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:1022: Unable to set Lineart mode, please file a bug"); +#line 9620 "scanner.c" + } +#line 1023 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 9624 "scanner.c" + } + default: + { +#line 1025 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 9630 "scanner.c" + } + } +#line 971 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + lineart_scan_modes = (_vala_array_free (lineart_scan_modes, lineart_scan_modes_length1, (GDestroyNotify) g_free), NULL); +#line 971 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + gray_scan_modes = (_vala_array_free (gray_scan_modes, gray_scan_modes_length1, (GDestroyNotify) g_free), NULL); +#line 971 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + color_scan_modes = (_vala_array_free (color_scan_modes, color_scan_modes_length1, (GDestroyNotify) g_free), NULL); +#line 9639 "scanner.c" + } +#line 1030 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp156_ = self->priv->handle; +#line 1030 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp158_ = scanner_get_option_by_name (self, _tmp156_, "duplex", &_tmp157_); +#line 1030 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp157_; +#line 1030 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp158_; +#line 1031 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp159_ = option; +#line 1031 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp159_ != NULL) { +#line 9653 "scanner.c" + SANE_Option_Descriptor* _tmp160_ = NULL; + SANE_Value_Type _tmp161_ = 0; +#line 1033 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp160_ = option; +#line 1033 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp161_ = _tmp160_->type; +#line 1033 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp161_ == SANE_TYPE_BOOL) { +#line 9662 "scanner.c" + SANE_Handle _tmp162_ = {0}; + SANE_Option_Descriptor* _tmp163_ = NULL; + SANE_Int _tmp164_ = {0}; + ScanJob* _tmp165_ = NULL; + ScanType _tmp166_ = 0; +#line 1034 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp162_ = self->priv->handle; +#line 1034 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp163_ = option; +#line 1034 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp164_ = index; +#line 1034 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp165_ = job; +#line 1034 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp166_ = _tmp165_->type; +#line 1034 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_bool_option (self, _tmp162_, _tmp163_, _tmp164_, _tmp166_ == SCAN_TYPE_ADF_BOTH, NULL); +#line 9680 "scanner.c" + } + } +#line 1038 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp167_ = self->priv->handle; +#line 1038 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp169_ = scanner_get_option_by_name (self, _tmp167_, "batch-scan", &_tmp168_); +#line 1038 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp168_; +#line 1038 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp169_; +#line 1039 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp170_ = option; +#line 1039 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp170_ != NULL) { +#line 9695 "scanner.c" + SANE_Option_Descriptor* _tmp171_ = NULL; + SANE_Value_Type _tmp172_ = 0; +#line 1041 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp171_ = option; +#line 1041 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp172_ = _tmp171_->type; +#line 1041 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp172_ == SANE_TYPE_BOOL) { +#line 9704 "scanner.c" + SANE_Handle _tmp173_ = {0}; + SANE_Option_Descriptor* _tmp174_ = NULL; + SANE_Int _tmp175_ = {0}; + ScanJob* _tmp176_ = NULL; + ScanType _tmp177_ = 0; +#line 1042 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp173_ = self->priv->handle; +#line 1042 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp174_ = option; +#line 1042 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp175_ = index; +#line 1042 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp176_ = job; +#line 1042 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp177_ = _tmp176_->type; +#line 1042 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_bool_option (self, _tmp173_, _tmp174_, _tmp175_, _tmp177_ != SCAN_TYPE_SINGLE, NULL); +#line 9722 "scanner.c" + } + } +#line 1046 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp178_ = self->priv->handle; +#line 1046 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp180_ = scanner_get_option_by_name (self, _tmp178_, "compression", &_tmp179_); +#line 1046 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp179_; +#line 1046 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp180_; +#line 1047 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp181_ = option; +#line 1047 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp181_ != NULL) { +#line 9737 "scanner.c" + gchar** disable_compression_names = NULL; + const gchar* _tmp182_ = NULL; + gchar* _tmp183_ = NULL; + const gchar* _tmp184_ = NULL; + gchar* _tmp185_ = NULL; + gchar* _tmp186_ = NULL; + gchar* _tmp187_ = NULL; + gchar** _tmp188_ = NULL; + gint disable_compression_names_length1 = 0; + gint _disable_compression_names_size_ = 0; + SANE_Handle _tmp189_ = {0}; + SANE_Option_Descriptor* _tmp190_ = NULL; + SANE_Int _tmp191_ = {0}; + gchar** _tmp192_ = NULL; + gint _tmp192__length1 = 0; + gboolean _tmp193_ = FALSE; +#line 1049 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp182_ = SANE_I18N ("None"); +#line 1049 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp183_ = g_strdup (_tmp182_); +#line 1049 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp184_ = SANE_I18N ("none"); +#line 1049 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp185_ = g_strdup (_tmp184_); +#line 1049 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp186_ = g_strdup ("None"); +#line 1049 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp187_ = g_strdup ("none"); +#line 1049 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp188_ = g_new0 (gchar*, 4 + 1); +#line 1049 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp188_[0] = _tmp183_; +#line 1049 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp188_[1] = _tmp185_; +#line 1049 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp188_[2] = _tmp186_; +#line 1049 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp188_[3] = _tmp187_; +#line 1049 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + disable_compression_names = _tmp188_; +#line 1049 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + disable_compression_names_length1 = 4; +#line 1049 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _disable_compression_names_size_ = disable_compression_names_length1; +#line 1057 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp189_ = self->priv->handle; +#line 1057 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp190_ = option; +#line 1057 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp191_ = index; +#line 1057 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp192_ = disable_compression_names; +#line 1057 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp192__length1 = disable_compression_names_length1; +#line 1057 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp193_ = scanner_set_constrained_string_option (self, _tmp189_, _tmp190_, _tmp191_, _tmp192_, _tmp192__length1, NULL); +#line 1057 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp193_) { +#line 1058 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:1058: Unable to disable compression, please file a bug"); +#line 9798 "scanner.c" + } +#line 1047 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + disable_compression_names = (_vala_array_free (disable_compression_names, disable_compression_names_length1, (GDestroyNotify) g_free), NULL); +#line 9802 "scanner.c" + } +#line 1062 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp194_ = self->priv->handle; +#line 1062 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp195_ = SANE_NAME_SCAN_RESOLUTION; +#line 1062 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp197_ = scanner_get_option_by_name (self, _tmp194_, _tmp195_, &_tmp196_); +#line 1062 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp196_; +#line 1062 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp197_; +#line 1063 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp198_ = option; +#line 1063 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp198_ != NULL) { +#line 9818 "scanner.c" + SANE_Handle _tmp199_ = {0}; + SANE_Option_Descriptor* _tmp200_ = NULL; + SANE_Int _tmp201_ = {0}; + ScanJob* _tmp202_ = NULL; + gdouble _tmp203_ = 0.0; + ScanJob* _tmp204_ = NULL; + gdouble _tmp205_ = 0.0; + SANE_Handle _tmp206_ = {0}; + const gchar* _tmp207_ = NULL; + gint _tmp208_ = 0; + SANE_Option_Descriptor* _tmp209_ = NULL; + SANE_Option_Descriptor* _tmp210_ = NULL; +#line 1065 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp199_ = self->priv->handle; +#line 1065 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp200_ = option; +#line 1065 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp201_ = index; +#line 1065 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp202_ = job; +#line 1065 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp203_ = _tmp202_->dpi; +#line 1065 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp204_ = job; +#line 1065 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_fixed_or_int_option (self, _tmp199_, _tmp200_, _tmp201_, _tmp203_, &_tmp205_); +#line 1065 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp204_->dpi = _tmp205_; +#line 1066 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp206_ = self->priv->handle; +#line 1066 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp207_ = SANE_NAME_BIT_DEPTH; +#line 1066 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp209_ = scanner_get_option_by_name (self, _tmp206_, _tmp207_, &_tmp208_); +#line 1066 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp208_; +#line 1066 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp209_; +#line 1067 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp210_ = option; +#line 1067 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp210_ != NULL) { +#line 9861 "scanner.c" + ScanJob* _tmp211_ = NULL; + gint _tmp212_ = 0; +#line 1069 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp211_ = job; +#line 1069 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp212_ = _tmp211_->depth; +#line 1069 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp212_ > 0) { +#line 9870 "scanner.c" + SANE_Handle _tmp213_ = {0}; + SANE_Option_Descriptor* _tmp214_ = NULL; + SANE_Int _tmp215_ = {0}; + ScanJob* _tmp216_ = NULL; + gint _tmp217_ = 0; +#line 1070 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp213_ = self->priv->handle; +#line 1070 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp214_ = option; +#line 1070 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp215_ = index; +#line 1070 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp216_ = job; +#line 1070 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp217_ = _tmp216_->depth; +#line 1070 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_int_option (self, _tmp213_, _tmp214_, _tmp215_, _tmp217_, NULL); +#line 9888 "scanner.c" + } + } + } +#line 1075 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp218_ = self->priv->handle; +#line 1075 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp219_ = SANE_NAME_SCAN_BR_X; +#line 1075 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp221_ = scanner_get_option_by_name (self, _tmp218_, _tmp219_, &_tmp220_); +#line 1075 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp220_; +#line 1075 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp221_; +#line 1076 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp222_ = option; +#line 1076 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp222_ != NULL) { +#line 9906 "scanner.c" + ScanJob* _tmp223_ = NULL; + gint _tmp224_ = 0; +#line 1078 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp223_ = job; +#line 1078 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp224_ = _tmp223_->page_width; +#line 1078 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp224_ > 0) { +#line 9915 "scanner.c" + SANE_Handle _tmp225_ = {0}; + SANE_Option_Descriptor* _tmp226_ = NULL; + SANE_Int _tmp227_ = {0}; + SANE_Option_Descriptor* _tmp228_ = NULL; + ScanJob* _tmp229_ = NULL; + gint _tmp230_ = 0; + ScanJob* _tmp231_ = NULL; + gdouble _tmp232_ = 0.0; + gdouble _tmp233_ = 0.0; +#line 1079 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp225_ = self->priv->handle; +#line 1079 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp226_ = option; +#line 1079 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp227_ = index; +#line 1079 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp228_ = option; +#line 1079 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp229_ = job; +#line 1079 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp230_ = _tmp229_->page_width; +#line 1079 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp231_ = job; +#line 1079 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp232_ = _tmp231_->dpi; +#line 1079 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp233_ = scanner_convert_page_size (self, _tmp228_, (gdouble) _tmp230_, _tmp232_); +#line 1079 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_fixed_or_int_option (self, _tmp225_, _tmp226_, _tmp227_, _tmp233_, NULL); +#line 9945 "scanner.c" + } else { + SANE_Handle _tmp234_ = {0}; + SANE_Option_Descriptor* _tmp235_ = NULL; + SANE_Int _tmp236_ = {0}; +#line 1081 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp234_ = self->priv->handle; +#line 1081 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp235_ = option; +#line 1081 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp236_ = index; +#line 1081 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_option_to_max (self, _tmp234_, _tmp235_, _tmp236_); +#line 9958 "scanner.c" + } + } +#line 1083 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp237_ = self->priv->handle; +#line 1083 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp238_ = SANE_NAME_SCAN_BR_Y; +#line 1083 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp240_ = scanner_get_option_by_name (self, _tmp237_, _tmp238_, &_tmp239_); +#line 1083 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp239_; +#line 1083 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp240_; +#line 1084 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp241_ = option; +#line 1084 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp241_ != NULL) { +#line 9975 "scanner.c" + ScanJob* _tmp242_ = NULL; + gint _tmp243_ = 0; +#line 1086 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp242_ = job; +#line 1086 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp243_ = _tmp242_->page_height; +#line 1086 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp243_ > 0) { +#line 9984 "scanner.c" + SANE_Handle _tmp244_ = {0}; + SANE_Option_Descriptor* _tmp245_ = NULL; + SANE_Int _tmp246_ = {0}; + SANE_Option_Descriptor* _tmp247_ = NULL; + ScanJob* _tmp248_ = NULL; + gint _tmp249_ = 0; + ScanJob* _tmp250_ = NULL; + gdouble _tmp251_ = 0.0; + gdouble _tmp252_ = 0.0; +#line 1087 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp244_ = self->priv->handle; +#line 1087 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp245_ = option; +#line 1087 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp246_ = index; +#line 1087 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp247_ = option; +#line 1087 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp248_ = job; +#line 1087 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp249_ = _tmp248_->page_height; +#line 1087 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp250_ = job; +#line 1087 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp251_ = _tmp250_->dpi; +#line 1087 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp252_ = scanner_convert_page_size (self, _tmp247_, (gdouble) _tmp249_, _tmp251_); +#line 1087 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_fixed_or_int_option (self, _tmp244_, _tmp245_, _tmp246_, _tmp252_, NULL); +#line 10014 "scanner.c" + } else { + SANE_Handle _tmp253_ = {0}; + SANE_Option_Descriptor* _tmp254_ = NULL; + SANE_Int _tmp255_ = {0}; +#line 1089 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp253_ = self->priv->handle; +#line 1089 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp254_ = option; +#line 1089 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp255_ = index; +#line 1089 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_option_to_max (self, _tmp253_, _tmp254_, _tmp255_); +#line 10027 "scanner.c" + } + } +#line 1093 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp256_ = self->priv->handle; +#line 1093 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp257_ = SANE_NAME_PAGE_WIDTH; +#line 1093 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp259_ = scanner_get_option_by_name (self, _tmp256_, _tmp257_, &_tmp258_); +#line 1093 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp258_; +#line 1093 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp259_; +#line 1094 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp261_ = option; +#line 1094 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp261_ != NULL) { +#line 10044 "scanner.c" + ScanJob* _tmp262_ = NULL; + gint _tmp263_ = 0; +#line 1094 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp262_ = job; +#line 1094 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp263_ = _tmp262_->page_width; +#line 1094 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp260_ = ((gdouble) _tmp263_) > 0.0; +#line 10053 "scanner.c" + } else { +#line 1094 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp260_ = FALSE; +#line 10057 "scanner.c" + } +#line 1094 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp260_) { +#line 10061 "scanner.c" + SANE_Handle _tmp264_ = {0}; + SANE_Option_Descriptor* _tmp265_ = NULL; + SANE_Int _tmp266_ = {0}; + SANE_Option_Descriptor* _tmp267_ = NULL; + ScanJob* _tmp268_ = NULL; + gint _tmp269_ = 0; + ScanJob* _tmp270_ = NULL; + gdouble _tmp271_ = 0.0; + gdouble _tmp272_ = 0.0; +#line 1095 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp264_ = self->priv->handle; +#line 1095 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp265_ = option; +#line 1095 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp266_ = index; +#line 1095 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp267_ = option; +#line 1095 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp268_ = job; +#line 1095 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp269_ = _tmp268_->page_width; +#line 1095 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp270_ = job; +#line 1095 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp271_ = _tmp270_->dpi; +#line 1095 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp272_ = scanner_convert_page_size (self, _tmp267_, (gdouble) _tmp269_, _tmp271_); +#line 1095 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_fixed_or_int_option (self, _tmp264_, _tmp265_, _tmp266_, _tmp272_, NULL); +#line 10091 "scanner.c" + } +#line 1096 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp273_ = self->priv->handle; +#line 1096 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp274_ = SANE_NAME_PAGE_HEIGHT; +#line 1096 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp276_ = scanner_get_option_by_name (self, _tmp273_, _tmp274_, &_tmp275_); +#line 1096 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp275_; +#line 1096 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp276_; +#line 1097 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp278_ = option; +#line 1097 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp278_ != NULL) { +#line 10107 "scanner.c" + ScanJob* _tmp279_ = NULL; + gint _tmp280_ = 0; +#line 1097 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp279_ = job; +#line 1097 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp280_ = _tmp279_->page_height; +#line 1097 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp277_ = ((gdouble) _tmp280_) > 0.0; +#line 10116 "scanner.c" + } else { +#line 1097 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp277_ = FALSE; +#line 10120 "scanner.c" + } +#line 1097 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp277_) { +#line 10124 "scanner.c" + SANE_Handle _tmp281_ = {0}; + SANE_Option_Descriptor* _tmp282_ = NULL; + SANE_Int _tmp283_ = {0}; + SANE_Option_Descriptor* _tmp284_ = NULL; + ScanJob* _tmp285_ = NULL; + gint _tmp286_ = 0; + ScanJob* _tmp287_ = NULL; + gdouble _tmp288_ = 0.0; + gdouble _tmp289_ = 0.0; +#line 1098 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp281_ = self->priv->handle; +#line 1098 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp282_ = option; +#line 1098 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp283_ = index; +#line 1098 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp284_ = option; +#line 1098 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp285_ = job; +#line 1098 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp286_ = _tmp285_->page_height; +#line 1098 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp287_ = job; +#line 1098 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp288_ = _tmp287_->dpi; +#line 1098 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp289_ = scanner_convert_page_size (self, _tmp284_, (gdouble) _tmp286_, _tmp288_); +#line 1098 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_fixed_or_int_option (self, _tmp281_, _tmp282_, _tmp283_, _tmp289_, NULL); +#line 10154 "scanner.c" + } +#line 1100 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp290_ = self->priv->handle; +#line 1100 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp291_ = SANE_NAME_BRIGHTNESS; +#line 1100 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp293_ = scanner_get_option_by_name (self, _tmp290_, _tmp291_, &_tmp292_); +#line 1100 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp292_; +#line 1100 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp293_; +#line 1101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp294_ = option; +#line 1101 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp294_ != NULL) { +#line 10170 "scanner.c" + ScanJob* _tmp295_ = NULL; + gint _tmp296_ = 0; +#line 1103 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp295_ = job; +#line 1103 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp296_ = _tmp295_->brightness; +#line 1103 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp296_ != 0) { +#line 10179 "scanner.c" + gint brightness = 0; + SANE_Option_Descriptor* _tmp297_ = NULL; + ScanJob* _tmp298_ = NULL; + gint _tmp299_ = 0; + gint _tmp300_ = 0; + SANE_Handle _tmp301_ = {0}; + SANE_Option_Descriptor* _tmp302_ = NULL; + SANE_Int _tmp303_ = {0}; + gint _tmp304_ = 0; +#line 1105 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp297_ = option; +#line 1105 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp298_ = job; +#line 1105 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp299_ = _tmp298_->brightness; +#line 1105 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp300_ = scanner_scale_int (self, -100, 100, _tmp297_, _tmp299_); +#line 1105 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + brightness = _tmp300_; +#line 1106 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp301_ = self->priv->handle; +#line 1106 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp302_ = option; +#line 1106 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp303_ = index; +#line 1106 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp304_ = brightness; +#line 1106 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_int_option (self, _tmp301_, _tmp302_, _tmp303_, _tmp304_, NULL); +#line 10209 "scanner.c" + } + } +#line 1109 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp305_ = self->priv->handle; +#line 1109 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp306_ = SANE_NAME_CONTRAST; +#line 1109 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp308_ = scanner_get_option_by_name (self, _tmp305_, _tmp306_, &_tmp307_); +#line 1109 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp307_; +#line 1109 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp308_; +#line 1110 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp309_ = option; +#line 1110 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp309_ != NULL) { +#line 10226 "scanner.c" + ScanJob* _tmp310_ = NULL; + gint _tmp311_ = 0; +#line 1112 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp310_ = job; +#line 1112 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp311_ = _tmp310_->contrast; +#line 1112 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp311_ != 0) { +#line 10235 "scanner.c" + gint contrast = 0; + SANE_Option_Descriptor* _tmp312_ = NULL; + ScanJob* _tmp313_ = NULL; + gint _tmp314_ = 0; + gint _tmp315_ = 0; + SANE_Handle _tmp316_ = {0}; + SANE_Option_Descriptor* _tmp317_ = NULL; + SANE_Int _tmp318_ = {0}; + gint _tmp319_ = 0; +#line 1114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp312_ = option; +#line 1114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp313_ = job; +#line 1114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp314_ = _tmp313_->contrast; +#line 1114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp315_ = scanner_scale_int (self, -100, 100, _tmp312_, _tmp314_); +#line 1114 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + contrast = _tmp315_; +#line 1115 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp316_ = self->priv->handle; +#line 1115 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp317_ = option; +#line 1115 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp318_ = index; +#line 1115 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp319_ = contrast; +#line 1115 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_int_option (self, _tmp316_, _tmp317_, _tmp318_, _tmp319_, NULL); +#line 10265 "scanner.c" + } + } +#line 1120 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp320_ = self->priv->current_device; +#line 1120 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_strcmp0 (_tmp320_, "test") == 0) { +#line 10272 "scanner.c" + SANE_Handle _tmp321_ = {0}; + gint _tmp322_ = 0; + SANE_Option_Descriptor* _tmp323_ = NULL; + SANE_Option_Descriptor* _tmp324_ = NULL; + SANE_Handle _tmp328_ = {0}; + gint _tmp329_ = 0; + SANE_Option_Descriptor* _tmp330_ = NULL; + SANE_Option_Descriptor* _tmp331_ = NULL; + SANE_Handle _tmp335_ = {0}; + gint _tmp336_ = 0; + SANE_Option_Descriptor* _tmp337_ = NULL; + SANE_Option_Descriptor* _tmp338_ = NULL; + SANE_Handle _tmp342_ = {0}; + gint _tmp343_ = 0; + SANE_Option_Descriptor* _tmp344_ = NULL; + SANE_Option_Descriptor* _tmp345_ = NULL; + SANE_Handle _tmp349_ = {0}; + gint _tmp350_ = 0; + SANE_Option_Descriptor* _tmp351_ = NULL; + SANE_Option_Descriptor* _tmp352_ = NULL; +#line 1122 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp321_ = self->priv->handle; +#line 1122 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp323_ = scanner_get_option_by_name (self, _tmp321_, "hand-scanner", &_tmp322_); +#line 1122 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp322_; +#line 1122 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp323_; +#line 1123 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp324_ = option; +#line 1123 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp324_ != NULL) { +#line 10305 "scanner.c" + SANE_Handle _tmp325_ = {0}; + SANE_Option_Descriptor* _tmp326_ = NULL; + SANE_Int _tmp327_ = {0}; +#line 1124 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp325_ = self->priv->handle; +#line 1124 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp326_ = option; +#line 1124 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp327_ = index; +#line 1124 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_bool_option (self, _tmp325_, _tmp326_, _tmp327_, FALSE, NULL); +#line 10317 "scanner.c" + } +#line 1125 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp328_ = self->priv->handle; +#line 1125 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp330_ = scanner_get_option_by_name (self, _tmp328_, "three-pass", &_tmp329_); +#line 1125 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp329_; +#line 1125 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp330_; +#line 1126 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp331_ = option; +#line 1126 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp331_ != NULL) { +#line 10331 "scanner.c" + SANE_Handle _tmp332_ = {0}; + SANE_Option_Descriptor* _tmp333_ = NULL; + SANE_Int _tmp334_ = {0}; +#line 1127 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp332_ = self->priv->handle; +#line 1127 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp333_ = option; +#line 1127 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp334_ = index; +#line 1127 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_bool_option (self, _tmp332_, _tmp333_, _tmp334_, FALSE, NULL); +#line 10343 "scanner.c" + } +#line 1128 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp335_ = self->priv->handle; +#line 1128 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp337_ = scanner_get_option_by_name (self, _tmp335_, "test-picture", &_tmp336_); +#line 1128 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp336_; +#line 1128 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp337_; +#line 1129 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp338_ = option; +#line 1129 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp338_ != NULL) { +#line 10357 "scanner.c" + SANE_Handle _tmp339_ = {0}; + SANE_Option_Descriptor* _tmp340_ = NULL; + SANE_Int _tmp341_ = {0}; +#line 1130 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp339_ = self->priv->handle; +#line 1130 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp340_ = option; +#line 1130 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp341_ = index; +#line 1130 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_string_option (self, _tmp339_, _tmp340_, _tmp341_, "Color pattern", NULL); +#line 10369 "scanner.c" + } +#line 1131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp342_ = self->priv->handle; +#line 1131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp344_ = scanner_get_option_by_name (self, _tmp342_, "read-delay", &_tmp343_); +#line 1131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp343_; +#line 1131 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp344_; +#line 1132 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp345_ = option; +#line 1132 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp345_ != NULL) { +#line 10383 "scanner.c" + SANE_Handle _tmp346_ = {0}; + SANE_Option_Descriptor* _tmp347_ = NULL; + SANE_Int _tmp348_ = {0}; +#line 1133 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp346_ = self->priv->handle; +#line 1133 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp347_ = option; +#line 1133 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp348_ = index; +#line 1133 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_bool_option (self, _tmp346_, _tmp347_, _tmp348_, TRUE, NULL); +#line 10395 "scanner.c" + } +#line 1134 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp349_ = self->priv->handle; +#line 1134 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp351_ = scanner_get_option_by_name (self, _tmp349_, "read-delay-duration", &_tmp350_); +#line 1134 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + index = (SANE_Int) _tmp350_; +#line 1134 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + option = _tmp351_; +#line 1135 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp352_ = option; +#line 1135 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp352_ != NULL) { +#line 10409 "scanner.c" + SANE_Handle _tmp353_ = {0}; + SANE_Option_Descriptor* _tmp354_ = NULL; + SANE_Int _tmp355_ = {0}; +#line 1136 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp353_ = self->priv->handle; +#line 1136 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp354_ = option; +#line 1136 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp355_ = index; +#line 1136 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_int_option (self, _tmp353_, _tmp354_, _tmp355_, 200000, NULL); +#line 10421 "scanner.c" + } + } +#line 1139 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_START; +#line 1140 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 1140 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 10430 "scanner.c" + } +#line 1143 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp356_ = index; +#line 1143 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp357_ = option; +#line 1143 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_log_option (self, _tmp356_, _tmp357_); +#line 1146 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp358_ = option; +#line 1146 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp359_ = _tmp358_->type; +#line 1146 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp359_ == SANE_TYPE_GROUP) { +#line 1147 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 1147 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 10448 "scanner.c" + } +#line 1150 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp360_ = option; +#line 1150 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp361_ = _tmp360_->cap; +#line 1150 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if ((_tmp361_ & SANE_CAP_INACTIVE) != ((SANE_Int) 0)) { +#line 1151 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 1151 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 10460 "scanner.c" + } +#line 1154 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp362_ = option; +#line 1154 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp363_ = _tmp362_->name; +#line 1154 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp363_ == NULL) { +#line 1155 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 1155 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 10472 "scanner.c" + } +#line 1157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp364_ = self->priv->options; +#line 1157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp365_ = option; +#line 1157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp366_ = _tmp365_->name; +#line 1157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp367_ = g_strdup (_tmp366_); +#line 1157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp368_ = index; +#line 1157 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_hash_table_insert (_tmp364_, _tmp367_, (gpointer) ((gintptr) ((gint) _tmp368_))); +#line 879 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 10488 "scanner.c" +} + + +static gdouble scanner_convert_page_size (Scanner* self, SANE_Option_Descriptor* option, gdouble size, gdouble dpi) { + gdouble result = 0.0; + SANE_Option_Descriptor* _tmp0_ = NULL; + SANE_Unit _tmp1_ = 0; +#line 1160 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (self != NULL, 0.0); +#line 1160 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (option != NULL, 0.0); +#line 1162 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = option; +#line 1162 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = _tmp0_->unit; +#line 1162 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp1_ == SANE_UNIT_PIXEL) { +#line 10506 "scanner.c" + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; +#line 1163 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = dpi; +#line 1163 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = size; +#line 1163 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = (_tmp2_ * _tmp3_) / 254.0; +#line 1163 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 10517 "scanner.c" + } else { + SANE_Option_Descriptor* _tmp4_ = NULL; + SANE_Unit _tmp5_ = 0; +#line 1164 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = option; +#line 1164 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = _tmp4_->unit; +#line 1164 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp5_ == SANE_UNIT_MM) { +#line 10527 "scanner.c" + gdouble _tmp6_ = 0.0; +#line 1165 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = size; +#line 1165 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp6_ / 10.0; +#line 1165 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 10535 "scanner.c" + } else { +#line 1168 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:1168: Unable to set unsupported unit type"); +#line 1169 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = (gdouble) 0.0f; +#line 1169 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 10543 "scanner.c" + } + } +} + + +static SANE_Option_Descriptor* scanner_get_option_by_name (Scanner* self, SANE_Handle handle, const gchar* name, gint* index) { + gint _vala_index = 0; + SANE_Option_Descriptor* result = NULL; + GHashTable* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gconstpointer _tmp2_ = NULL; + gint _tmp3_ = 0; + SANE_Handle _tmp4_ = {0}; + gint _tmp5_ = 0; + SANE_Option_Descriptor* _tmp6_ = NULL; +#line 1173 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (self != NULL, NULL); +#line 1173 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 1175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = self->priv->options; +#line 1175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = name; +#line 1175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = g_hash_table_lookup (_tmp0_, _tmp1_); +#line 1175 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _vala_index = (gint) ((gintptr) _tmp2_); +#line 1176 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = _vala_index; +#line 1176 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp3_ == 0) { +#line 1177 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = NULL; +#line 1177 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (index) { +#line 1177 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *index = _vala_index; +#line 10581 "scanner.c" + } +#line 1177 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 10585 "scanner.c" + } +#line 1179 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = handle; +#line 1179 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = _vala_index; +#line 1179 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = sane_get_option_descriptor (_tmp4_, (SANE_Int) _tmp5_); +#line 1179 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp6_; +#line 1179 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (index) { +#line 1179 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *index = _vala_index; +#line 10599 "scanner.c" + } +#line 1179 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 10603 "scanner.c" +} + + +static void scanner_do_complete_document (Scanner* self) { + SANE_Handle _tmp0_ = {0}; + GList* _tmp1_ = NULL; + GList* _tmp2_ = NULL; + NotifyDocumentDone* _tmp3_ = NULL; + NotifyDocumentDone* _tmp4_ = NULL; +#line 1182 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 1184 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = self->priv->handle; +#line 1184 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + sane_cancel (_tmp0_); +#line 1185 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:1185: sane_cancel ()"); +#line 1187 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = self->priv->job_queue; +#line 1187 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->job_queue = g_list_remove_link (self->priv->job_queue, _tmp1_); +#line 1189 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_IDLE; +#line 1192 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = self->priv->job_queue; +#line 1192 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp2_ != NULL) { +#line 1194 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_OPEN; +#line 1195 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 10635 "scanner.c" + } +#line 1201 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = notify_document_done_new (); +#line 1201 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = _tmp3_; +#line 1201 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_notify (self, (Notify*) _tmp4_); +#line 1201 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _notify_unref0 (_tmp4_); +#line 1202 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_scanning (self, FALSE); +#line 10647 "scanner.c" +} + + +static void scanner_do_start (Scanner* self) { + SANE_Status status = 0; + NotifyExpectPage* _tmp0_ = NULL; + NotifyExpectPage* _tmp1_ = NULL; + SANE_Handle _tmp2_ = {0}; + SANE_Status _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + SANE_Status _tmp6_ = 0; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + SANE_Status _tmp9_ = 0; +#line 1205 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 1209 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = notify_expect_page_new (); +#line 1209 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = _tmp0_; +#line 1209 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_notify (self, (Notify*) _tmp1_); +#line 1209 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _notify_unref0 (_tmp1_); +#line 1211 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = self->priv->handle; +#line 1211 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = sane_start (_tmp2_); +#line 1211 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + status = _tmp3_; +#line 1212 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = self->priv->page_number; +#line 1212 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = self->priv->pass_number; +#line 1212 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = status; +#line 1212 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = sane_status_to_string (_tmp6_); +#line 1212 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = _tmp7_; +#line 1212 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:1212: sane_start (page=%d, pass=%d) -> %s", _tmp4_, _tmp5_, _tmp8_); +#line 1212 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp8_); +#line 1213 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = status; +#line 1213 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp9_ == SANE_STATUS_GOOD) { +#line 1214 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_GET_PARAMETERS; +#line 10699 "scanner.c" + } else { + SANE_Status _tmp10_ = 0; +#line 1215 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = status; +#line 1215 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp10_ == SANE_STATUS_NO_DOCS) { +#line 1216 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_do_complete_document (self); +#line 10708 "scanner.c" + } else { + SANE_Status _tmp11_ = 0; + const gchar* _tmp12_ = NULL; + SANE_Status _tmp13_ = 0; + const gchar* _tmp14_ = NULL; +#line 1219 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = status; +#line 1219 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = sane_strstatus (_tmp11_); +#line 1219 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:1219: Unable to start device: %s", _tmp12_); +#line 1220 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = status; +#line 1220 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = _ ("Unable to start scan"); +#line 1220 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_fail_scan (self, (gint) _tmp13_, _tmp14_); +#line 10726 "scanner.c" + } + } +} + + +static gchar* sane_frame_to_string (SANE_Frame frame) { + gchar* result = NULL; + SANE_Frame _tmp0_ = 0; +#line 103 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp0_ = frame; +#line 103 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + switch (_tmp0_) { +#line 103 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_FRAME_GRAY: +#line 10741 "scanner.c" + { + gchar* _tmp1_ = NULL; +#line 106 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp1_ = g_strdup ("SANE_FRAME_GRAY"); +#line 106 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp1_; +#line 106 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 10750 "scanner.c" + } +#line 103 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_FRAME_RGB: +#line 10754 "scanner.c" + { + gchar* _tmp2_ = NULL; +#line 108 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp2_ = g_strdup ("SANE_FRAME_RGB"); +#line 108 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp2_; +#line 108 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 10763 "scanner.c" + } +#line 103 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_FRAME_RED: +#line 10767 "scanner.c" + { + gchar* _tmp3_ = NULL; +#line 110 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp3_ = g_strdup ("SANE_FRAME_RED"); +#line 110 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp3_; +#line 110 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 10776 "scanner.c" + } +#line 103 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_FRAME_GREEN: +#line 10780 "scanner.c" + { + gchar* _tmp4_ = NULL; +#line 112 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp4_ = g_strdup ("SANE_FRAME_GREEN"); +#line 112 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp4_; +#line 112 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 10789 "scanner.c" + } +#line 103 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + case SANE_FRAME_BLUE: +#line 10793 "scanner.c" + { + gchar* _tmp5_ = NULL; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp5_ = g_strdup ("SANE_FRAME_BLUE"); +#line 114 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp5_; +#line 114 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 10802 "scanner.c" + } + default: + { + SANE_Frame _tmp6_ = 0; + gchar* _tmp7_ = NULL; +#line 116 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp6_ = frame; +#line 116 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + _tmp7_ = g_strdup_printf ("SANE_FRAME(%d)", (gint) _tmp6_); +#line 116 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + result = _tmp7_; +#line 116 "/home/bob/bzr/simple-scan/trunk/src/sane.vapi" + return result; +#line 10816 "scanner.c" + } + } +} + + +static void scanner_do_get_parameters (Scanner* self) { + SANE_Status status = 0; + SANE_Handle _tmp0_ = {0}; + SANE_Parameters _tmp1_ = {0}; + SANE_Status _tmp2_ = 0; + SANE_Status _tmp3_ = 0; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + SANE_Status _tmp6_ = 0; + ScanJob* job = NULL; + GList* _tmp11_ = NULL; + gconstpointer _tmp12_ = NULL; + ScanJob* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + SANE_Parameters _tmp15_ = {0}; + gboolean _tmp16_ = FALSE; + SANE_Parameters _tmp17_ = {0}; + SANE_Frame _tmp18_ = 0; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + SANE_Parameters _tmp21_ = {0}; + gint _tmp22_ = 0; + SANE_Parameters _tmp23_ = {0}; + gint _tmp24_ = 0; + SANE_Parameters _tmp25_ = {0}; + gint _tmp26_ = 0; + SANE_Parameters _tmp27_ = {0}; + gint _tmp28_ = 0; + ScanPageInfo* info = NULL; + ScanPageInfo* _tmp29_ = NULL; + ScanPageInfo* _tmp30_ = NULL; + SANE_Parameters _tmp31_ = {0}; + gint _tmp32_ = 0; + ScanPageInfo* _tmp33_ = NULL; + SANE_Parameters _tmp34_ = {0}; + gint _tmp35_ = 0; + ScanPageInfo* _tmp36_ = NULL; + SANE_Parameters _tmp37_ = {0}; + gint _tmp38_ = 0; + gboolean _tmp39_ = FALSE; + gboolean _tmp40_ = FALSE; + gboolean _tmp41_ = FALSE; + SANE_Parameters _tmp42_ = {0}; + gint _tmp43_ = 0; + gint _tmp53_ = 0; + SANE_Parameters _tmp54_ = {0}; + SANE_Frame _tmp55_ = 0; + ScanPageInfo* _tmp56_ = NULL; + ScanPageInfo* _tmp57_ = NULL; + ScanJob* _tmp58_ = NULL; + gdouble _tmp59_ = 0.0; + ScanPageInfo* _tmp60_ = NULL; + const gchar* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + gint _tmp63_ = 0; + gint _tmp64_ = 0; + gint buffer_size = 0; + SANE_Parameters _tmp71_ = {0}; + gint _tmp72_ = 0; + gint _tmp73_ = 0; + guchar* _tmp74_ = NULL; +#line 1226 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 1228 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = self->priv->handle; +#line 1228 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = sane_get_parameters (_tmp0_, &_tmp1_); +#line 1228 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->parameters = _tmp1_; +#line 1228 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + status = _tmp2_; +#line 1229 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = status; +#line 1229 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = sane_status_to_string (_tmp3_); +#line 1229 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = _tmp4_; +#line 1229 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:1229: sane_get_parameters () -> %s", _tmp5_); +#line 1229 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp5_); +#line 1230 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = status; +#line 1230 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp6_ != SANE_STATUS_GOOD) { +#line 10907 "scanner.c" + SANE_Status _tmp7_ = 0; + const gchar* _tmp8_ = NULL; + SANE_Status _tmp9_ = 0; + const gchar* _tmp10_ = NULL; +#line 1232 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = status; +#line 1232 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = sane_strstatus (_tmp7_); +#line 1232 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:1232: Unable to get device parameters: %s", _tmp8_); +#line 1233 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = status; +#line 1233 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = _ ("Error communicating with scanner"); +#line 1233 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_fail_scan (self, (gint) _tmp9_, _tmp10_); +#line 1236 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 10926 "scanner.c" + } +#line 1239 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = self->priv->job_queue; +#line 1239 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = _tmp11_->data; +#line 1239 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = _scan_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST ((ScanJob*) _tmp12_, TYPE_SCAN_JOB, ScanJob)); +#line 1239 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + job = _tmp13_; +#line 1243 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = self->priv->parameters; +#line 1243 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = _tmp15_.last_frame; +#line 1243 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp16_) { +#line 1243 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = "SANE_TRUE"; +#line 10944 "scanner.c" + } else { +#line 1243 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = "SANE_FALSE"; +#line 10948 "scanner.c" + } +#line 1241 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17_ = self->priv->parameters; +#line 1241 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = _tmp17_.format; +#line 1241 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19_ = sane_frame_to_string (_tmp18_); +#line 1241 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp20_ = _tmp19_; +#line 1241 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21_ = self->priv->parameters; +#line 1241 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp22_ = _tmp21_.bytes_per_line; +#line 1241 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp23_ = self->priv->parameters; +#line 1241 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp24_ = _tmp23_.pixels_per_line; +#line 1241 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_ = self->priv->parameters; +#line 1241 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26_ = _tmp25_.lines; +#line 1241 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp27_ = self->priv->parameters; +#line 1241 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp28_ = _tmp27_.depth; +#line 1241 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:1241: Parameters: format=%s last_frame=%s bytes_per_line=" \ +"%d pixels_per_line=%d lines=%d depth=%d", _tmp20_, _tmp14_, _tmp22_, _tmp24_, _tmp26_, _tmp28_); +#line 1241 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp20_); +#line 1249 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_ = scan_page_info_new (); +#line 1249 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + info = _tmp29_; +#line 1250 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_ = info; +#line 1250 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp31_ = self->priv->parameters; +#line 1250 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp32_ = _tmp31_.pixels_per_line; +#line 1250 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_->width = _tmp32_; +#line 1251 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_ = info; +#line 1251 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp34_ = self->priv->parameters; +#line 1251 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp35_ = _tmp34_.lines; +#line 1251 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_->height = _tmp35_; +#line 1252 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36_ = info; +#line 1252 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_ = self->priv->parameters; +#line 1252 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp38_ = _tmp37_.depth; +#line 1252 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36_->depth = _tmp38_; +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp42_ = self->priv->parameters; +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp43_ = _tmp42_.depth; +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp43_ == 8) { +#line 11012 "scanner.c" + SANE_Parameters _tmp44_ = {0}; + SANE_Frame _tmp45_ = 0; +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp44_ = self->priv->parameters; +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp45_ = _tmp44_.format; +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp41_ = _tmp45_ == SANE_FRAME_GRAY; +#line 11021 "scanner.c" + } else { +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp41_ = FALSE; +#line 11025 "scanner.c" + } +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp41_) { +#line 11029 "scanner.c" + ScanJob* _tmp46_ = NULL; + gint _tmp47_ = 0; +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp46_ = job; +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp47_ = _tmp46_->depth; +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp40_ = _tmp47_ == 2; +#line 11038 "scanner.c" + } else { +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp40_ = FALSE; +#line 11042 "scanner.c" + } +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp40_) { +#line 11046 "scanner.c" + ScanJob* _tmp48_ = NULL; + ScanMode _tmp49_ = 0; +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp48_ = job; +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp49_ = _tmp48_->scan_mode; +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp39_ = _tmp49_ == SCAN_MODE_GRAY; +#line 11055 "scanner.c" + } else { +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp39_ = FALSE; +#line 11059 "scanner.c" + } +#line 1255 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp39_) { +#line 11063 "scanner.c" + ScanPageInfo* _tmp50_ = NULL; + ScanJob* _tmp51_ = NULL; + gint _tmp52_ = 0; +#line 1256 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp50_ = info; +#line 1256 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp51_ = job; +#line 1256 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp52_ = _tmp51_->depth; +#line 1256 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp50_->depth = _tmp52_; +#line 11075 "scanner.c" + } +#line 1257 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_ = self->priv->parameters; +#line 1257 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp55_ = _tmp54_.format; +#line 1257 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp55_ == SANE_FRAME_GRAY) { +#line 1257 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp53_ = 1; +#line 11085 "scanner.c" + } else { +#line 1257 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp53_ = 3; +#line 11089 "scanner.c" + } +#line 1257 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp56_ = info; +#line 1257 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp56_->n_channels = _tmp53_; +#line 1258 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp57_ = info; +#line 1258 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp58_ = job; +#line 1258 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp59_ = _tmp58_->dpi; +#line 1258 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp57_->dpi = _tmp59_; +#line 1259 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp60_ = info; +#line 1259 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp61_ = self->priv->current_device; +#line 1259 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp62_ = g_strdup (_tmp61_); +#line 1259 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp60_->device); +#line 1259 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp60_->device = _tmp62_; +#line 1261 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp63_ = self->priv->page_number; +#line 1261 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp64_ = self->priv->notified_page; +#line 1261 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp63_ != _tmp64_) { +#line 11119 "scanner.c" + ScanJob* _tmp65_ = NULL; + gint _tmp66_ = 0; + ScanPageInfo* _tmp67_ = NULL; + NotifyGotPageInfo* _tmp68_ = NULL; + NotifyGotPageInfo* _tmp69_ = NULL; + gint _tmp70_ = 0; +#line 1263 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp65_ = job; +#line 1263 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp66_ = _tmp65_->id; +#line 1263 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp67_ = info; +#line 1263 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp68_ = notify_got_page_info_new (_tmp66_, _tmp67_); +#line 1263 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp69_ = _tmp68_; +#line 1263 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_notify (self, (Notify*) _tmp69_); +#line 1263 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _notify_unref0 (_tmp69_); +#line 1264 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp70_ = self->priv->page_number; +#line 1264 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->notified_page = _tmp70_; +#line 11144 "scanner.c" + } +#line 1268 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp71_ = self->priv->parameters; +#line 1268 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp72_ = _tmp71_.bytes_per_line; +#line 1268 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + buffer_size = _tmp72_ + 1; +#line 1269 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp73_ = buffer_size; +#line 1269 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp74_ = g_new0 (guchar, _tmp73_); +#line 1269 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->buffer = (g_free (self->priv->buffer), NULL); +#line 1269 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->buffer = _tmp74_; +#line 1269 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->buffer_length1 = _tmp73_; +#line 1269 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->_buffer_size_ = self->priv->buffer_length1; +#line 1270 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->n_used = 0; +#line 1271 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->line_count = 0; +#line 1272 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->pass_number = 0; +#line 1273 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_READ; +#line 1226 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_page_info_unref0 (info); +#line 1226 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 11176 "scanner.c" +} + + +static void scanner_do_complete_page (Scanner* self) { + ScanJob* job = NULL; + GList* _tmp0_ = NULL; + gconstpointer _tmp1_ = NULL; + ScanJob* _tmp2_ = NULL; + ScanJob* _tmp3_ = NULL; + gint _tmp4_ = 0; + NotifyPageDone* _tmp5_ = NULL; + NotifyPageDone* _tmp6_ = NULL; + SANE_Parameters _tmp7_ = {0}; + gboolean _tmp8_ = FALSE; + ScanJob* _tmp10_ = NULL; + ScanType _tmp11_ = 0; +#line 1276 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 1278 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = self->priv->job_queue; +#line 1278 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = _tmp0_->data; +#line 1278 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = _scan_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST ((ScanJob*) _tmp1_, TYPE_SCAN_JOB, ScanJob)); +#line 1278 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + job = _tmp2_; +#line 1280 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = job; +#line 1280 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = _tmp3_->id; +#line 1280 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = notify_page_done_new (_tmp4_); +#line 1280 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = _tmp5_; +#line 1280 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_notify (self, (Notify*) _tmp6_); +#line 1280 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _notify_unref0 (_tmp6_); +#line 1283 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = self->priv->parameters; +#line 1283 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = _tmp7_.last_frame; +#line 1283 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp8_) { +#line 11221 "scanner.c" + gint _tmp9_ = 0; +#line 1285 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = self->priv->pass_number; +#line 1285 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->pass_number = _tmp9_ + 1; +#line 1286 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_START; +#line 1287 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 1287 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 11233 "scanner.c" + } +#line 1291 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = job; +#line 1291 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = _tmp10_->type; +#line 1291 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp11_ != SCAN_TYPE_SINGLE) { +#line 11241 "scanner.c" + gint _tmp12_ = 0; + ScanJob* _tmp13_ = NULL; + gint _tmp14_ = 0; + NotifyPageDone* _tmp15_ = NULL; + NotifyPageDone* _tmp16_ = NULL; +#line 1293 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = self->priv->page_number; +#line 1293 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->page_number = _tmp12_ + 1; +#line 1294 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->pass_number = 0; +#line 1295 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = job; +#line 1295 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = _tmp13_->id; +#line 1295 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = notify_page_done_new (_tmp14_); +#line 1295 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = _tmp15_; +#line 1295 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_notify (self, (Notify*) _tmp16_); +#line 1295 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _notify_unref0 (_tmp16_); +#line 1296 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_START; +#line 1297 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 1297 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 11271 "scanner.c" + } +#line 1300 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_do_complete_document (self); +#line 1276 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 11277 "scanner.c" +} + + +static void scanner_do_read (Scanner* self) { + ScanJob* job = NULL; + GList* _tmp0_ = NULL; + gconstpointer _tmp1_ = NULL; + ScanJob* _tmp2_ = NULL; + gint n_to_read = 0; + guchar* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gint _tmp4_ = 0; + SANE_Int n_read = {0}; + guchar* b = NULL; + guchar* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + SANE_Status status = 0; + SANE_Handle _tmp6_ = {0}; + guchar* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + SANE_Int _tmp10_ = {0}; + SANE_Status _tmp11_ = 0; + gint _tmp12_ = 0; + SANE_Status _tmp13_ = 0; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + SANE_Int _tmp16_ = {0}; + SANE_Status _tmp17_ = 0; + SANE_Status _tmp29_ = 0; + gboolean full_read = FALSE; + gboolean _tmp34_ = FALSE; + gint _tmp35_ = 0; + gint _tmp38_ = 0; + SANE_Int _tmp39_ = {0}; + gint _tmp40_ = 0; + SANE_Parameters _tmp41_ = {0}; + gint _tmp42_ = 0; +#line 1303 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 1305 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = self->priv->job_queue; +#line 1305 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = _tmp0_->data; +#line 1305 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = _scan_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST ((ScanJob*) _tmp1_, TYPE_SCAN_JOB, ScanJob)); +#line 1305 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + job = _tmp2_; +#line 1308 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = self->priv->buffer; +#line 1308 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3__length1 = self->priv->buffer_length1; +#line 1308 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = self->priv->n_used; +#line 1308 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + n_to_read = _tmp3__length1 - _tmp4_; +#line 1311 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = self->priv->buffer; +#line 1311 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5__length1 = self->priv->buffer_length1; +#line 1311 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + b = (guchar*) _tmp5_; +#line 1312 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = self->priv->handle; +#line 1312 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = b; +#line 1312 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = self->priv->n_used; +#line 1312 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = n_to_read; +#line 1312 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = sane_read (_tmp6_, (guint8*) (_tmp7_ + _tmp8_), (SANE_Int) _tmp9_, &_tmp10_); +#line 1312 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + n_read = _tmp10_; +#line 1312 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + status = _tmp11_; +#line 1313 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = n_to_read; +#line 1313 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = status; +#line 1313 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = sane_status_to_string (_tmp13_); +#line 1313 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = _tmp14_; +#line 1313 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = n_read; +#line 1313 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:1313: sane_read (%d) -> (%s, %d)", _tmp12_, _tmp15_, (gint) _tmp16_); +#line 1313 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp15_); +#line 1316 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17_ = status; +#line 1316 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp17_ == SANE_STATUS_EOF) { +#line 11372 "scanner.c" + gboolean _tmp18_ = FALSE; + SANE_Parameters _tmp19_ = {0}; + gint _tmp20_ = 0; + gint _tmp27_ = 0; +#line 1318 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19_ = self->priv->parameters; +#line 1318 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp20_ = _tmp19_.lines; +#line 1318 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp20_ > 0) { +#line 11383 "scanner.c" + gint _tmp21_ = 0; + SANE_Parameters _tmp22_ = {0}; + gint _tmp23_ = 0; +#line 1318 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21_ = self->priv->line_count; +#line 1318 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp22_ = self->priv->parameters; +#line 1318 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp23_ = _tmp22_.lines; +#line 1318 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = _tmp21_ != _tmp23_; +#line 11395 "scanner.c" + } else { +#line 1318 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = FALSE; +#line 11399 "scanner.c" + } +#line 1318 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp18_) { +#line 11403 "scanner.c" + gint _tmp24_ = 0; + SANE_Parameters _tmp25_ = {0}; + gint _tmp26_ = 0; +#line 1319 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp24_ = self->priv->line_count; +#line 1319 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_ = self->priv->parameters; +#line 1319 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26_ = _tmp25_.lines; +#line 1319 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:1319: Scan completed with %d lines, expected %d lines", _tmp24_, _tmp26_); +#line 11415 "scanner.c" + } +#line 1320 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp27_ = self->priv->n_used; +#line 1320 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp27_ > 0) { +#line 11421 "scanner.c" + gint _tmp28_ = 0; +#line 1321 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp28_ = self->priv->n_used; +#line 1321 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:1321: Scan complete with %d bytes of unused data", _tmp28_); +#line 11427 "scanner.c" + } +#line 1322 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_do_complete_page (self); +#line 1323 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 1323 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 11435 "scanner.c" + } +#line 1327 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_ = status; +#line 1327 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp29_ != SANE_STATUS_GOOD) { +#line 11441 "scanner.c" + SANE_Status _tmp30_ = 0; + const gchar* _tmp31_ = NULL; + SANE_Status _tmp32_ = 0; + const gchar* _tmp33_ = NULL; +#line 1329 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_ = status; +#line 1329 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp31_ = sane_strstatus (_tmp30_); +#line 1329 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:1329: Unable to read frame from device: %s", _tmp31_); +#line 1330 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp32_ = status; +#line 1330 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_ = _ ("Error communicating with scanner"); +#line 1330 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_fail_scan (self, (gint) _tmp32_, _tmp33_); +#line 1333 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 1333 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 11462 "scanner.c" + } +#line 1336 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + full_read = FALSE; +#line 1337 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp35_ = self->priv->n_used; +#line 1337 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp35_ == 0) { +#line 11470 "scanner.c" + SANE_Int _tmp36_ = {0}; + guchar* _tmp37_ = NULL; + gint _tmp37__length1 = 0; +#line 1337 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36_ = n_read; +#line 1337 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_ = self->priv->buffer; +#line 1337 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37__length1 = self->priv->buffer_length1; +#line 1337 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp34_ = _tmp36_ == ((SANE_Int) _tmp37__length1); +#line 11482 "scanner.c" + } else { +#line 1337 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp34_ = FALSE; +#line 11486 "scanner.c" + } +#line 1337 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp34_) { +#line 1338 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + full_read = TRUE; +#line 11492 "scanner.c" + } +#line 1339 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp38_ = self->priv->n_used; +#line 1339 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp39_ = n_read; +#line 1339 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->n_used = _tmp38_ + ((gint) _tmp39_); +#line 1342 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp40_ = self->priv->n_used; +#line 1342 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp41_ = self->priv->parameters; +#line 1342 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp42_ = _tmp41_.bytes_per_line; +#line 1342 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp40_ >= _tmp42_) { +#line 11508 "scanner.c" + ScanLine* line = NULL; + ScanLine* _tmp43_ = NULL; + SANE_Parameters _tmp44_ = {0}; + SANE_Frame _tmp45_ = 0; + ScanLine* _tmp51_ = NULL; + SANE_Parameters _tmp52_ = {0}; + gint _tmp53_ = 0; + ScanLine* _tmp54_ = NULL; + SANE_Parameters _tmp55_ = {0}; + gint _tmp56_ = 0; + ScanLine* _tmp57_ = NULL; + guchar* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + ScanLine* _tmp59_ = NULL; + SANE_Parameters _tmp60_ = {0}; + gint _tmp61_ = 0; + ScanLine* _tmp62_ = NULL; + gint _tmp63_ = 0; + ScanLine* _tmp64_ = NULL; + gint _tmp65_ = 0; + ScanLine* _tmp66_ = NULL; + gint _tmp67_ = 0; + gint _tmp68_ = 0; + ScanLine* _tmp69_ = NULL; + gint _tmp70_ = 0; + gint buffer_size = 0; + ScanLine* _tmp71_ = NULL; + guchar* _tmp72_ = NULL; + gint _tmp72__length1 = 0; + gboolean _tmp73_ = FALSE; + gint _tmp77_ = 0; + guchar* _tmp78_ = NULL; + gint n_remaining = 0; + gint _tmp79_ = 0; + ScanLine* _tmp80_ = NULL; + gint _tmp81_ = 0; + ScanLine* _tmp82_ = NULL; + gint _tmp83_ = 0; + gboolean _tmp100_ = FALSE; + gboolean _tmp101_ = FALSE; + gboolean _tmp102_ = FALSE; + SANE_Parameters _tmp103_ = {0}; + gint _tmp104_ = 0; + ScanJob* _tmp153_ = NULL; + gint _tmp154_ = 0; + ScanLine* _tmp155_ = NULL; + NotifyGotLine* _tmp156_ = NULL; + NotifyGotLine* _tmp157_ = NULL; +#line 1344 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp43_ = scan_line_new (); +#line 1344 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + line = _tmp43_; +#line 1345 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp44_ = self->priv->parameters; +#line 1345 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp45_ = _tmp44_.format; +#line 1345 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + switch (_tmp45_) { +#line 1345 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_FRAME_GRAY: +#line 11569 "scanner.c" + { + ScanLine* _tmp46_ = NULL; +#line 1348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp46_ = line; +#line 1348 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp46_->channel = 0; +#line 1349 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 11578 "scanner.c" + } +#line 1345 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_FRAME_RGB: +#line 11582 "scanner.c" + { + ScanLine* _tmp47_ = NULL; +#line 1351 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp47_ = line; +#line 1351 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp47_->channel = -1; +#line 1352 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 11591 "scanner.c" + } +#line 1345 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_FRAME_RED: +#line 11595 "scanner.c" + { + ScanLine* _tmp48_ = NULL; +#line 1354 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp48_ = line; +#line 1354 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp48_->channel = 0; +#line 1355 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 11604 "scanner.c" + } +#line 1345 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_FRAME_GREEN: +#line 11608 "scanner.c" + { + ScanLine* _tmp49_ = NULL; +#line 1357 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp49_ = line; +#line 1357 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp49_->channel = 1; +#line 1358 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 11617 "scanner.c" + } +#line 1345 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SANE_FRAME_BLUE: +#line 11621 "scanner.c" + { + ScanLine* _tmp50_ = NULL; +#line 1360 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp50_ = line; +#line 1360 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp50_->channel = 2; +#line 1361 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 11630 "scanner.c" + } + default: +#line 1345 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 11635 "scanner.c" + } +#line 1363 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp51_ = line; +#line 1363 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp52_ = self->priv->parameters; +#line 1363 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp53_ = _tmp52_.pixels_per_line; +#line 1363 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp51_->width = _tmp53_; +#line 1364 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_ = line; +#line 1364 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp55_ = self->priv->parameters; +#line 1364 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp56_ = _tmp55_.depth; +#line 1364 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_->depth = _tmp56_; +#line 1365 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp57_ = line; +#line 1365 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp58_ = self->priv->buffer; +#line 1365 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp58__length1 = self->priv->buffer_length1; +#line 1365 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->buffer = NULL; +#line 1365 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->buffer_length1 = 0; +#line 1365 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp57_->data = (g_free (_tmp57_->data), NULL); +#line 1365 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp57_->data = _tmp58_; +#line 1365 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp57_->data_length1 = _tmp58__length1; +#line 1366 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp59_ = line; +#line 1366 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp60_ = self->priv->parameters; +#line 1366 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp61_ = _tmp60_.bytes_per_line; +#line 1366 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp59_->data_length = _tmp61_; +#line 1367 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp62_ = line; +#line 1367 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp63_ = self->priv->line_count; +#line 1367 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp62_->number = _tmp63_; +#line 1368 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp64_ = line; +#line 1368 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp65_ = self->priv->n_used; +#line 1368 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp66_ = line; +#line 1368 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp67_ = _tmp66_->data_length; +#line 1368 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp64_->n_lines = _tmp65_ / _tmp67_; +#line 1370 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp68_ = self->priv->line_count; +#line 1370 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp69_ = line; +#line 1370 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp70_ = _tmp69_->n_lines; +#line 1370 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->line_count = _tmp68_ + _tmp70_; +#line 1373 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp71_ = line; +#line 1373 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp72_ = _tmp71_->data; +#line 1373 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp72__length1 = _tmp71_->data_length1; +#line 1373 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + buffer_size = _tmp72__length1; +#line 1374 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp73_ = full_read; +#line 1374 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp73_) { +#line 11713 "scanner.c" + gint _tmp74_ = 0; + SANE_Parameters _tmp75_ = {0}; + gint _tmp76_ = 0; +#line 1375 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp74_ = buffer_size; +#line 1375 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp75_ = self->priv->parameters; +#line 1375 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp76_ = _tmp75_.bytes_per_line; +#line 1375 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + buffer_size = _tmp74_ + _tmp76_; +#line 11725 "scanner.c" + } +#line 1377 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp77_ = buffer_size; +#line 1377 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp78_ = g_new0 (guchar, _tmp77_); +#line 1377 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->buffer = (g_free (self->priv->buffer), NULL); +#line 1377 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->buffer = _tmp78_; +#line 1377 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->buffer_length1 = _tmp77_; +#line 1377 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->_buffer_size_ = self->priv->buffer_length1; +#line 1378 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp79_ = self->priv->n_used; +#line 1378 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp80_ = line; +#line 1378 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp81_ = _tmp80_->n_lines; +#line 1378 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp82_ = line; +#line 1378 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp83_ = _tmp82_->data_length; +#line 1378 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + n_remaining = _tmp79_ - (_tmp81_ * _tmp83_); +#line 1379 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->n_used = 0; +#line 11753 "scanner.c" + { + gint i = 0; +#line 1380 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = 0; +#line 11758 "scanner.c" + { + gboolean _tmp84_ = FALSE; +#line 1380 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp84_ = TRUE; +#line 1380 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 11765 "scanner.c" + gint _tmp86_ = 0; + gint _tmp87_ = 0; + guchar* _tmp88_ = NULL; + gint _tmp88__length1 = 0; + gint _tmp89_ = 0; + ScanLine* _tmp90_ = NULL; + guchar* _tmp91_ = NULL; + gint _tmp91__length1 = 0; + gint _tmp92_ = 0; + ScanLine* _tmp93_ = NULL; + gint _tmp94_ = 0; + ScanLine* _tmp95_ = NULL; + gint _tmp96_ = 0; + guchar _tmp97_ = '\0'; + guchar _tmp98_ = '\0'; + gint _tmp99_ = 0; +#line 1380 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp84_) { +#line 11784 "scanner.c" + gint _tmp85_ = 0; +#line 1380 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp85_ = i; +#line 1380 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = _tmp85_ + 1; +#line 11790 "scanner.c" + } +#line 1380 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp84_ = FALSE; +#line 1380 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp86_ = i; +#line 1380 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp87_ = n_remaining; +#line 1380 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!(_tmp86_ < _tmp87_)) { +#line 1380 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 11802 "scanner.c" + } +#line 1382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp88_ = self->priv->buffer; +#line 1382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp88__length1 = self->priv->buffer_length1; +#line 1382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp89_ = i; +#line 1382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp90_ = line; +#line 1382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp91_ = _tmp90_->data; +#line 1382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp91__length1 = _tmp90_->data_length1; +#line 1382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp92_ = i; +#line 1382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp93_ = line; +#line 1382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp94_ = _tmp93_->n_lines; +#line 1382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp95_ = line; +#line 1382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp96_ = _tmp95_->data_length; +#line 1382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp97_ = _tmp91_[_tmp92_ + (_tmp94_ * _tmp96_)]; +#line 1382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp88_[_tmp89_] = _tmp97_; +#line 1382 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp98_ = _tmp88_[_tmp89_]; +#line 1383 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp99_ = self->priv->n_used; +#line 1383 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->n_used = _tmp99_ + 1; +#line 11836 "scanner.c" + } + } + } +#line 1388 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp103_ = self->priv->parameters; +#line 1388 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp104_ = _tmp103_.depth; +#line 1388 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp104_ == 8) { +#line 11846 "scanner.c" + SANE_Parameters _tmp105_ = {0}; + SANE_Frame _tmp106_ = 0; +#line 1388 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp105_ = self->priv->parameters; +#line 1388 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp106_ = _tmp105_.format; +#line 1388 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp102_ = _tmp106_ == SANE_FRAME_GRAY; +#line 11855 "scanner.c" + } else { +#line 1388 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp102_ = FALSE; +#line 11859 "scanner.c" + } +#line 1388 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp102_) { +#line 11863 "scanner.c" + ScanJob* _tmp107_ = NULL; + gint _tmp108_ = 0; +#line 1389 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp107_ = job; +#line 1389 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp108_ = _tmp107_->depth; +#line 1389 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp101_ = _tmp108_ == 2; +#line 11872 "scanner.c" + } else { +#line 1388 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp101_ = FALSE; +#line 11876 "scanner.c" + } +#line 1388 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp101_) { +#line 11880 "scanner.c" + ScanJob* _tmp109_ = NULL; + ScanMode _tmp110_ = 0; +#line 1389 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp109_ = job; +#line 1389 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp110_ = _tmp109_->scan_mode; +#line 1389 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp100_ = _tmp110_ == SCAN_MODE_GRAY; +#line 11889 "scanner.c" + } else { +#line 1388 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp100_ = FALSE; +#line 11893 "scanner.c" + } +#line 1388 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp100_) { +#line 11897 "scanner.c" + guchar block = '\0'; + gint write_offset = 0; + gint block_shift = 0; + ScanLine* _tmp150_ = NULL; + ScanLine* _tmp151_ = NULL; + gint _tmp152_ = 0; +#line 1391 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + block = (guchar) 0; +#line 1392 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + write_offset = 0; +#line 1393 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + block_shift = 6; +#line 11910 "scanner.c" + { + gint i = 0; +#line 1394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = 0; +#line 11915 "scanner.c" + { + gboolean _tmp111_ = FALSE; +#line 1394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp111_ = TRUE; +#line 1394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 11922 "scanner.c" + gint _tmp113_ = 0; + ScanLine* _tmp114_ = NULL; + gint _tmp115_ = 0; + gint offset = 0; + gint _tmp116_ = 0; + ScanLine* _tmp117_ = NULL; + gint _tmp118_ = 0; + gint _tmp143_ = 0; +#line 1394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp111_) { +#line 11933 "scanner.c" + gint _tmp112_ = 0; +#line 1394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp112_ = i; +#line 1394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + i = _tmp112_ + 1; +#line 11939 "scanner.c" + } +#line 1394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp111_ = FALSE; +#line 1394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp113_ = i; +#line 1394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp114_ = line; +#line 1394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp115_ = _tmp114_->n_lines; +#line 1394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!(_tmp113_ < _tmp115_)) { +#line 1394 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 11953 "scanner.c" + } +#line 1396 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp116_ = i; +#line 1396 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp117_ = line; +#line 1396 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp118_ = _tmp117_->data_length; +#line 1396 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + offset = _tmp116_ * _tmp118_; +#line 11963 "scanner.c" + { + gint x = 0; +#line 1397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + x = 0; +#line 11968 "scanner.c" + { + gboolean _tmp119_ = FALSE; +#line 1397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp119_ = TRUE; +#line 1397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 11975 "scanner.c" + gint _tmp121_ = 0; + ScanLine* _tmp122_ = NULL; + gint _tmp123_ = 0; + guchar p = '\0'; + ScanLine* _tmp124_ = NULL; + guchar* _tmp125_ = NULL; + gint _tmp125__length1 = 0; + gint _tmp126_ = 0; + gint _tmp127_ = 0; + guchar _tmp128_ = '\0'; + guchar sample = '\0'; + guchar _tmp129_ = '\0'; + guchar _tmp132_ = '\0'; + guchar _tmp133_ = '\0'; + gint _tmp134_ = 0; + gint _tmp135_ = 0; +#line 1397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp119_) { +#line 11994 "scanner.c" + gint _tmp120_ = 0; +#line 1397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp120_ = x; +#line 1397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + x = _tmp120_ + 1; +#line 12000 "scanner.c" + } +#line 1397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp119_ = FALSE; +#line 1397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp121_ = x; +#line 1397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp122_ = line; +#line 1397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp123_ = _tmp122_->width; +#line 1397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!(_tmp121_ < _tmp123_)) { +#line 1397 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 12014 "scanner.c" + } +#line 1399 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp124_ = line; +#line 1399 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp125_ = _tmp124_->data; +#line 1399 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp125__length1 = _tmp124_->data_length1; +#line 1399 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp126_ = offset; +#line 1399 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp127_ = x; +#line 1399 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp128_ = _tmp125_[_tmp126_ + _tmp127_]; +#line 1399 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + p = _tmp128_; +#line 1402 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp129_ = p; +#line 1402 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (((gint) _tmp129_) >= 192) { +#line 1403 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + sample = (guchar) 3; +#line 12036 "scanner.c" + } else { + guchar _tmp130_ = '\0'; +#line 1404 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp130_ = p; +#line 1404 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (((gint) _tmp130_) >= 128) { +#line 1405 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + sample = (guchar) 2; +#line 12045 "scanner.c" + } else { + guchar _tmp131_ = '\0'; +#line 1406 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp131_ = p; +#line 1406 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (((gint) _tmp131_) >= 64) { +#line 1407 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + sample = (guchar) 1; +#line 12054 "scanner.c" + } else { +#line 1409 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + sample = (guchar) 0; +#line 12058 "scanner.c" + } + } + } +#line 1411 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp132_ = block; +#line 1411 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp133_ = sample; +#line 1411 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp134_ = block_shift; +#line 1411 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + block = _tmp132_ | (_tmp133_ << _tmp134_); +#line 1412 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp135_ = block_shift; +#line 1412 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp135_ == 0) { +#line 12074 "scanner.c" + ScanLine* _tmp136_ = NULL; + guchar* _tmp137_ = NULL; + gint _tmp137__length1 = 0; + gint _tmp138_ = 0; + guchar _tmp139_ = '\0'; + guchar _tmp140_ = '\0'; + gint _tmp141_ = 0; +#line 1414 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp136_ = line; +#line 1414 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp137_ = _tmp136_->data; +#line 1414 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp137__length1 = _tmp136_->data_length1; +#line 1414 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp138_ = write_offset; +#line 1414 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp139_ = block; +#line 1414 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp137_[_tmp138_] = _tmp139_; +#line 1414 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp140_ = _tmp137_[_tmp138_]; +#line 1415 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp141_ = write_offset; +#line 1415 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + write_offset = _tmp141_ + 1; +#line 1416 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + block = (guchar) 0; +#line 1417 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + block_shift = 6; +#line 12104 "scanner.c" + } else { + gint _tmp142_ = 0; +#line 1420 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp142_ = block_shift; +#line 1420 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + block_shift = _tmp142_ - 2; +#line 12111 "scanner.c" + } + } + } + } +#line 1424 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp143_ = block_shift; +#line 1424 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp143_ != 6) { +#line 12120 "scanner.c" + ScanLine* _tmp144_ = NULL; + guchar* _tmp145_ = NULL; + gint _tmp145__length1 = 0; + gint _tmp146_ = 0; + guchar _tmp147_ = '\0'; + guchar _tmp148_ = '\0'; + gint _tmp149_ = 0; +#line 1426 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp144_ = line; +#line 1426 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp145_ = _tmp144_->data; +#line 1426 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp145__length1 = _tmp144_->data_length1; +#line 1426 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp146_ = write_offset; +#line 1426 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp147_ = block; +#line 1426 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp145_[_tmp146_] = _tmp147_; +#line 1426 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp148_ = _tmp145_[_tmp146_]; +#line 1427 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp149_ = write_offset; +#line 1427 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + write_offset = _tmp149_ + 1; +#line 1428 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + block = (guchar) 0; +#line 1429 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + block_shift = 6; +#line 12150 "scanner.c" + } + } + } + } +#line 1433 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp150_ = line; +#line 1433 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp151_ = line; +#line 1433 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp152_ = _tmp151_->width; +#line 1433 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp150_->data_length = ((_tmp152_ * 2) + 7) / 8; +#line 12163 "scanner.c" + } +#line 1436 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp153_ = job; +#line 1436 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp154_ = _tmp153_->id; +#line 1436 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp155_ = line; +#line 1436 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp156_ = notify_got_line_new (_tmp154_, _tmp155_); +#line 1436 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp157_ = _tmp156_; +#line 1436 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_notify (self, (Notify*) _tmp157_); +#line 1436 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _notify_unref0 (_tmp157_); +#line 1342 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_line_unref0 (line); +#line 12181 "scanner.c" + } +#line 1303 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (job); +#line 12185 "scanner.c" +} + + +static void _scanner_authorization_cb_sane_authcallback (const gchar* resource, gchar* username, gchar* password) { +#line 1445 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_authorization_cb (resource, username, -1, password, -1); +#line 12192 "scanner.c" +} + + +static void* scanner_scan_thread (Scanner* self) { + void* result = NULL; + SANE_Int version_code = {0}; + SANE_Status status = 0; + SANE_Int _tmp0_ = {0}; + SANE_Status _tmp1_ = 0; + SANE_Status _tmp2_ = 0; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + SANE_Status _tmp5_ = 0; + SANE_Int _tmp8_ = {0}; + gint _tmp9_ = 0; + SANE_Int _tmp10_ = {0}; + gint _tmp11_ = 0; + SANE_Int _tmp12_ = {0}; + gint _tmp13_ = 0; +#line 1440 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (self != NULL, NULL); +#line 1442 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_IDLE; +#line 1445 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = sane_init (&_tmp0_, _scanner_authorization_cb_sane_authcallback); +#line 1445 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + version_code = _tmp0_; +#line 1445 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + status = _tmp1_; +#line 1446 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = status; +#line 1446 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = sane_status_to_string (_tmp2_); +#line 1446 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = _tmp3_; +#line 1446 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:1446: sane_init () -> %s", _tmp4_); +#line 1446 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp4_); +#line 1447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = status; +#line 1447 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp5_ != SANE_STATUS_GOOD) { +#line 12236 "scanner.c" + SANE_Status _tmp6_ = 0; + const gchar* _tmp7_ = NULL; +#line 1449 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = status; +#line 1449 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = sane_strstatus (_tmp6_); +#line 1449 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_warning ("scanner.vala:1449: Unable to initialize SANE backend: %s", _tmp7_); +#line 1450 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = NULL; +#line 1450 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 12249 "scanner.c" + } +#line 1452 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = version_code; +#line 1452 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = SANE_VERSION_MAJOR (_tmp8_); +#line 1452 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = version_code; +#line 1452 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = SANE_VERSION_MINOR (_tmp10_); +#line 1452 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = version_code; +#line 1452 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = SANE_VERSION_BUILD (_tmp12_); +#line 1452 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:1452: SANE version %d.%d.%d", _tmp9_, _tmp11_, _tmp13_); +#line 1458 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_redetect (self); +#line 1460 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + while (TRUE) { +#line 12269 "scanner.c" + gboolean _tmp14_ = FALSE; + ScanState _tmp15_ = 0; +#line 1460 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = scanner_handle_requests (self); +#line 1460 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!_tmp14_) { +#line 1460 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 12278 "scanner.c" + } +#line 1462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = self->priv->state; +#line 1462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + switch (_tmp15_) { +#line 1462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_STATE_IDLE: +#line 12286 "scanner.c" + { + GList* _tmp16_ = NULL; +#line 1465 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = self->priv->job_queue; +#line 1465 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp16_ != NULL) { +#line 1467 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_set_scanning (self, TRUE); +#line 1468 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->state = SCAN_STATE_OPEN; +#line 12297 "scanner.c" + } +#line 1470 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 12301 "scanner.c" + } +#line 1462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_STATE_REDETECT: +#line 12305 "scanner.c" + { +#line 1472 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_do_redetect (self); +#line 1473 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 12311 "scanner.c" + } +#line 1462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_STATE_OPEN: +#line 12315 "scanner.c" + { +#line 1475 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_do_open (self); +#line 1476 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 12321 "scanner.c" + } +#line 1462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_STATE_GET_OPTION: +#line 12325 "scanner.c" + { +#line 1478 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_do_get_option (self); +#line 1479 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 12331 "scanner.c" + } +#line 1462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_STATE_START: +#line 12335 "scanner.c" + { +#line 1481 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_do_start (self); +#line 1482 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 12341 "scanner.c" + } +#line 1462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_STATE_GET_PARAMETERS: +#line 12345 "scanner.c" + { +#line 1484 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_do_get_parameters (self); +#line 1485 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 12351 "scanner.c" + } +#line 1462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_STATE_READ: +#line 12355 "scanner.c" + { +#line 1487 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_do_read (self); +#line 1488 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 12361 "scanner.c" + } + default: +#line 1462 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + break; +#line 12366 "scanner.c" + } + } +#line 1492 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = NULL; +#line 1492 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 12373 "scanner.c" +} + + +static gpointer _scanner_scan_thread_gthread_func (gpointer self) { + gpointer result; + result = scanner_scan_thread ((Scanner*) self); +#line 1499 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_unref (self); +#line 1499 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 12384 "scanner.c" +} + + +void scanner_start (Scanner* self) { + GError * _inner_error_ = NULL; +#line 1495 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 12392 "scanner.c" + { + GThread* _tmp0_ = NULL; + GThread* _tmp1_ = NULL; + GThread* _tmp2_ = NULL; +#line 1499 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = g_thread_try_new ("scan-thread", _scanner_scan_thread_gthread_func, scanner_ref (self), &_inner_error_); +#line 1499 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = _tmp1_; +#line 1499 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_inner_error_ != NULL) { +#line 12403 "scanner.c" + goto __catch15_g_error; + } +#line 1499 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = _tmp0_; +#line 1499 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = NULL; +#line 1499 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_thread_unref0 (self->priv->thread); +#line 1499 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->thread = _tmp2_; +#line 1497 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_thread_unref0 (_tmp0_); +#line 12416 "scanner.c" + } + goto __finally15; + __catch15_g_error: + { + GError* e = NULL; + GError* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 1497 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + e = _inner_error_; +#line 1497 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _inner_error_ = NULL; +#line 1503 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = e; +#line 1503 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = _tmp3_->message; +#line 1503 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_critical ("scanner.vala:1503: Unable to create thread: %s", _tmp4_); +#line 1497 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_error_free0 (e); +#line 12436 "scanner.c" + } + __finally15: +#line 1497 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_inner_error_ != NULL) { +#line 1497 "/home/bob/bzr/simple-scan/trunk/src/scanner.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 1497 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_clear_error (&_inner_error_); +#line 1497 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 12447 "scanner.c" + } +} + + +void scanner_redetect (Scanner* self) { + gboolean _tmp0_ = FALSE; + GAsyncQueue* _tmp1_ = NULL; + RequestRedetect* _tmp2_ = NULL; +#line 1507 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 1509 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = self->priv->need_redetect; +#line 1509 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp0_) { +#line 1510 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return; +#line 12464 "scanner.c" + } +#line 1511 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->need_redetect = TRUE; +#line 1513 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:1513: Requesting redetection of scan devices"); +#line 1515 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = self->priv->request_queue; +#line 1515 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = request_redetect_new (); +#line 1515 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_async_queue_push (_tmp1_, (Request*) _tmp2_); +#line 12476 "scanner.c" +} + + +gboolean scanner_is_scanning (Scanner* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 1518 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (self != NULL, FALSE); +#line 1520 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = self->priv->scanning; +#line 1520 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp0_; +#line 1520 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 12491 "scanner.c" +} + + +static gchar* scanner_get_scan_mode_string (Scanner* self, ScanMode mode) { + gchar* result = NULL; + ScanMode _tmp0_ = 0; +#line 1523 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (self != NULL, NULL); +#line 1525 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = mode; +#line 1525 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + switch (_tmp0_) { +#line 1525 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_MODE_DEFAULT: +#line 12506 "scanner.c" + { + gchar* _tmp1_ = NULL; +#line 1528 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = g_strdup ("ScanMode.DEFAULT"); +#line 1528 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp1_; +#line 1528 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 12515 "scanner.c" + } +#line 1525 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_MODE_COLOR: +#line 12519 "scanner.c" + { + gchar* _tmp2_ = NULL; +#line 1530 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = g_strdup ("ScanMode.COLOR"); +#line 1530 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp2_; +#line 1530 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 12528 "scanner.c" + } +#line 1525 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_MODE_GRAY: +#line 12532 "scanner.c" + { + gchar* _tmp3_ = NULL; +#line 1532 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = g_strdup ("ScanMode.GRAY"); +#line 1532 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp3_; +#line 1532 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 12541 "scanner.c" + } +#line 1525 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_MODE_LINEART: +#line 12545 "scanner.c" + { + gchar* _tmp4_ = NULL; +#line 1534 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = g_strdup ("ScanMode.LINEART"); +#line 1534 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp4_; +#line 1534 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 12554 "scanner.c" + } + default: + { + ScanMode _tmp5_ = 0; + gchar* _tmp6_ = NULL; +#line 1536 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = mode; +#line 1536 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = g_strdup_printf ("%d", (gint) _tmp5_); +#line 1536 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp6_; +#line 1536 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 12568 "scanner.c" + } + } +} + + +static gchar* scanner_get_scan_type_string (Scanner* self, ScanType type) { + gchar* result = NULL; + ScanType _tmp0_ = 0; +#line 1540 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (self != NULL, NULL); +#line 1542 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = type; +#line 1542 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + switch (_tmp0_) { +#line 1542 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_TYPE_SINGLE: +#line 12585 "scanner.c" + { + gchar* _tmp1_ = NULL; +#line 1545 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = g_strdup ("ScanType.SINGLE"); +#line 1545 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp1_; +#line 1545 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 12594 "scanner.c" + } +#line 1542 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_TYPE_ADF_FRONT: +#line 12598 "scanner.c" + { + gchar* _tmp2_ = NULL; +#line 1547 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = g_strdup ("ScanType.ADF_FRONT"); +#line 1547 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp2_; +#line 1547 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 12607 "scanner.c" + } +#line 1542 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_TYPE_ADF_BACK: +#line 12611 "scanner.c" + { + gchar* _tmp3_ = NULL; +#line 1549 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = g_strdup ("ScanType.ADF_BACK"); +#line 1549 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp3_; +#line 1549 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 12620 "scanner.c" + } +#line 1542 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + case SCAN_TYPE_ADF_BOTH: +#line 12624 "scanner.c" + { + gchar* _tmp4_ = NULL; +#line 1551 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = g_strdup ("ScanType.ADF_BOTH"); +#line 1551 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp4_; +#line 1551 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 12633 "scanner.c" + } + default: + { + ScanType _tmp5_ = 0; + gchar* _tmp6_ = NULL; +#line 1553 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = type; +#line 1553 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = g_strdup_printf ("%d", (gint) _tmp5_); +#line 1553 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + result = _tmp6_; +#line 1553 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return result; +#line 12647 "scanner.c" + } + } +} + + +void scanner_scan (Scanner* self, const gchar* device, ScanOptions* options) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + ScanOptions* _tmp3_ = NULL; + gint _tmp4_ = 0; + ScanOptions* _tmp5_ = NULL; + ScanMode _tmp6_ = 0; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + ScanOptions* _tmp9_ = NULL; + gint _tmp10_ = 0; + ScanOptions* _tmp11_ = NULL; + ScanType _tmp12_ = 0; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + ScanOptions* _tmp15_ = NULL; + gint _tmp16_ = 0; + ScanOptions* _tmp17_ = NULL; + gint _tmp18_ = 0; + ScanOptions* _tmp19_ = NULL; + gint _tmp20_ = 0; + ScanOptions* _tmp21_ = NULL; + gint _tmp22_ = 0; + RequestStartScan* request = NULL; + RequestStartScan* _tmp23_ = NULL; + ScanJob* _tmp24_ = NULL; + ScanJob* _tmp25_ = NULL; + gint _tmp26_ = 0; + ScanJob* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + ScanJob* _tmp30_ = NULL; + ScanOptions* _tmp31_ = NULL; + gint _tmp32_ = 0; + ScanJob* _tmp33_ = NULL; + ScanOptions* _tmp34_ = NULL; + ScanMode _tmp35_ = 0; + ScanJob* _tmp36_ = NULL; + ScanOptions* _tmp37_ = NULL; + gint _tmp38_ = 0; + ScanJob* _tmp39_ = NULL; + ScanOptions* _tmp40_ = NULL; + ScanType _tmp41_ = 0; + ScanJob* _tmp42_ = NULL; + ScanOptions* _tmp43_ = NULL; + gint _tmp44_ = 0; + ScanJob* _tmp45_ = NULL; + ScanOptions* _tmp46_ = NULL; + gint _tmp47_ = 0; + ScanJob* _tmp48_ = NULL; + ScanOptions* _tmp49_ = NULL; + gint _tmp50_ = 0; + ScanJob* _tmp51_ = NULL; + ScanOptions* _tmp52_ = NULL; + gint _tmp53_ = 0; + GAsyncQueue* _tmp54_ = NULL; + Request* _tmp55_ = NULL; +#line 1557 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 1557 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (options != NULL); +#line 1560 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = device; +#line 1560 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp1_ != NULL) { +#line 12718 "scanner.c" + const gchar* _tmp2_ = NULL; +#line 1560 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = device; +#line 1560 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = _tmp2_; +#line 12724 "scanner.c" + } else { +#line 1560 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = "(null)"; +#line 12728 "scanner.c" + } +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = options; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = _tmp3_->dpi; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp5_ = options; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp6_ = _tmp5_->scan_mode; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp7_ = scanner_get_scan_mode_string (self, _tmp6_); +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp8_ = _tmp7_; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp9_ = options; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp10_ = _tmp9_->depth; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp11_ = options; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp12_ = _tmp11_->type; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp13_ = scanner_get_scan_type_string (self, _tmp12_); +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp14_ = _tmp13_; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp15_ = options; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp16_ = _tmp15_->paper_width; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp17_ = options; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp18_ = _tmp17_->paper_height; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp19_ = options; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp20_ = _tmp19_->brightness; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp21_ = options; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp22_ = _tmp21_->contrast; +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:1559: Scanner.scan (\"%s\", dpi=%d, scan_mode=%s, depth=%" \ +"d, type=%s, paper_width=%d, paper_height=%d, brightness=%d, contrast=%" \ +"d)", _tmp0_, _tmp4_, _tmp8_, _tmp10_, _tmp14_, _tmp16_, _tmp18_, _tmp20_, _tmp22_); +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp14_); +#line 1559 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp8_); +#line 1563 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp23_ = request_start_scan_new (); +#line 1563 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + request = _tmp23_; +#line 1564 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp24_ = scan_job_new (); +#line 1564 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _scan_job_unref0 (request->job); +#line 1564 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + request->job = _tmp24_; +#line 1565 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_ = request->job; +#line 1565 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp26_ = self->job_id; +#line 1565 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->job_id = _tmp26_ + 1; +#line 1565 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp25_->id = _tmp26_; +#line 1566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp27_ = request->job; +#line 1566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp28_ = device; +#line 1566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp29_ = g_strdup (_tmp28_); +#line 1566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (_tmp27_->device); +#line 1566 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp27_->device = _tmp29_; +#line 1567 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_ = request->job; +#line 1567 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp31_ = options; +#line 1567 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp32_ = _tmp31_->dpi; +#line 1567 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp30_->dpi = (gdouble) _tmp32_; +#line 1568 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_ = request->job; +#line 1568 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp34_ = options; +#line 1568 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp35_ = _tmp34_->scan_mode; +#line 1568 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp33_->scan_mode = _tmp35_; +#line 1569 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36_ = request->job; +#line 1569 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp37_ = options; +#line 1569 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp38_ = _tmp37_->depth; +#line 1569 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp36_->depth = _tmp38_; +#line 1570 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp39_ = request->job; +#line 1570 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp40_ = options; +#line 1570 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp41_ = _tmp40_->type; +#line 1570 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp39_->type = _tmp41_; +#line 1571 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp42_ = request->job; +#line 1571 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp43_ = options; +#line 1571 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp44_ = _tmp43_->paper_width; +#line 1571 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp42_->page_width = _tmp44_; +#line 1572 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp45_ = request->job; +#line 1572 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp46_ = options; +#line 1572 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp47_ = _tmp46_->paper_height; +#line 1572 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp45_->page_height = _tmp47_; +#line 1573 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp48_ = request->job; +#line 1573 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp49_ = options; +#line 1573 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp50_ = _tmp49_->brightness; +#line 1573 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp48_->brightness = _tmp50_; +#line 1574 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp51_ = request->job; +#line 1574 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp52_ = options; +#line 1574 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp53_ = _tmp52_->contrast; +#line 1574 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp51_->contrast = _tmp53_; +#line 1575 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp54_ = self->priv->request_queue; +#line 1575 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp55_ = _request_ref0 ((Request*) request); +#line 1575 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_async_queue_push (_tmp54_, _tmp55_); +#line 1557 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _request_unref0 (request); +#line 12876 "scanner.c" +} + + +void scanner_cancel (Scanner* self) { + gint _tmp0_ = 0; + GAsyncQueue* _tmp1_ = NULL; + RequestCancel* _tmp2_ = NULL; +#line 1578 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 1580 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = self->job_id; +#line 1580 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->first_job_id = _tmp0_; +#line 1581 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = self->priv->request_queue; +#line 1581 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = request_cancel_new (); +#line 1581 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_async_queue_push (_tmp1_, (Request*) _tmp2_); +#line 12896 "scanner.c" +} + + +static gpointer _g_thread_ref0 (gpointer self) { +#line 1592 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return self ? g_thread_ref (self) : NULL; +#line 12903 "scanner.c" +} + + +void scanner_free (Scanner* self) { + GAsyncQueue* _tmp0_ = NULL; + RequestQuit* _tmp1_ = NULL; + GThread* _tmp2_ = NULL; +#line 1584 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (self != NULL); +#line 1586 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:1586: Stopping scan thread"); +#line 1588 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp0_ = self->priv->request_queue; +#line 1588 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp1_ = request_quit_new (); +#line 1588 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_async_queue_push (_tmp0_, (Request*) _tmp1_); +#line 1590 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp2_ = self->priv->thread; +#line 1590 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (_tmp2_ != NULL) { +#line 12925 "scanner.c" + GThread* _tmp3_ = NULL; + GThread* _tmp4_ = NULL; +#line 1592 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp3_ = self->priv->thread; +#line 1592 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _tmp4_ = _g_thread_ref0 (_tmp3_); +#line 1592 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_thread_join (_tmp4_); +#line 1593 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_thread_unref0 (self->priv->thread); +#line 1593 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->thread = NULL; +#line 12938 "scanner.c" + } +#line 1596 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + sane_exit (); +#line 1597 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_debug ("scanner.vala:1597: sane_exit ()"); +#line 12944 "scanner.c" +} + + +static void g_cclosure_user_marshal_VOID__SCAN_PAGE_INFO (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__SCAN_PAGE_INFO) (gpointer data1, gpointer arg_1, gpointer data2); + register GMarshalFunc_VOID__SCAN_PAGE_INFO callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (n_param_values == 2); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + data1 = closure->data; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + data2 = param_values->data[0].v_pointer; +#line 12963 "scanner.c" + } else { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + data1 = param_values->data[0].v_pointer; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + data2 = closure->data; +#line 12969 "scanner.c" + } +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + callback = (GMarshalFunc_VOID__SCAN_PAGE_INFO) (marshal_data ? marshal_data : cc->callback); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + callback (data1, value_get_scan_page_info (param_values + 1), data2); +#line 12975 "scanner.c" +} + + +static void g_cclosure_user_marshal_VOID__SCAN_LINE (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__SCAN_LINE) (gpointer data1, gpointer arg_1, gpointer data2); + register GMarshalFunc_VOID__SCAN_LINE callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (n_param_values == 2); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + data1 = closure->data; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + data2 = param_values->data[0].v_pointer; +#line 12994 "scanner.c" + } else { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + data1 = param_values->data[0].v_pointer; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + data2 = closure->data; +#line 13000 "scanner.c" + } +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + callback = (GMarshalFunc_VOID__SCAN_LINE) (marshal_data ? marshal_data : cc->callback); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + callback (data1, value_get_scan_line (param_values + 1), data2); +#line 13006 "scanner.c" +} + + +static void g_cclosure_user_marshal_VOID__INT_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__INT_STRING) (gpointer data1, gint arg_1, const char* arg_2, gpointer data2); + register GMarshalFunc_VOID__INT_STRING callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (n_param_values == 3); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + data1 = closure->data; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + data2 = param_values->data[0].v_pointer; +#line 13025 "scanner.c" + } else { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + data1 = param_values->data[0].v_pointer; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + data2 = closure->data; +#line 13031 "scanner.c" + } +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + callback = (GMarshalFunc_VOID__INT_STRING) (marshal_data ? marshal_data : cc->callback); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + callback (data1, g_value_get_int (param_values + 1), g_value_get_string (param_values + 2), data2); +#line 13037 "scanner.c" +} + + +static void value_scanner_init (GValue* value) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 13044 "scanner.c" +} + + +static void value_scanner_free_value (GValue* value) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (value->data[0].v_pointer) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_unref (value->data[0].v_pointer); +#line 13053 "scanner.c" + } +} + + +static void value_scanner_copy_value (const GValue* src_value, GValue* dest_value) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (src_value->data[0].v_pointer) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = scanner_ref (src_value->data[0].v_pointer); +#line 13063 "scanner.c" + } else { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + dest_value->data[0].v_pointer = NULL; +#line 13067 "scanner.c" + } +} + + +static gpointer value_scanner_peek_pointer (const GValue* value) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 13075 "scanner.c" +} + + +static gchar* value_scanner_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (collect_values[0].v_pointer) { +#line 13082 "scanner.c" + Scanner* object; + object = collect_values[0].v_pointer; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (object->parent_instance.g_class == NULL) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 13089 "scanner.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.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 13093 "scanner.c" + } +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = scanner_ref (object); +#line 13097 "scanner.c" + } else { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 13101 "scanner.c" + } +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 13105 "scanner.c" +} + + +static gchar* value_scanner_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + Scanner** object_p; + object_p = collect_values[0].v_pointer; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!object_p) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 13116 "scanner.c" + } +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (!value->data[0].v_pointer) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = NULL; +#line 13122 "scanner.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = value->data[0].v_pointer; +#line 13126 "scanner.c" + } else { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + *object_p = scanner_ref (value->data[0].v_pointer); +#line 13130 "scanner.c" + } +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return NULL; +#line 13134 "scanner.c" +} + + +GParamSpec* param_spec_scanner (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecScanner* spec; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SCANNER), NULL); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return G_PARAM_SPEC (spec); +#line 13148 "scanner.c" +} + + +gpointer value_get_scanner (const GValue* value) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCANNER), NULL); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return value->data[0].v_pointer; +#line 13157 "scanner.c" +} + + +void value_set_scanner (GValue* value, gpointer v_object) { + Scanner* old; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCANNER)); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SCANNER)); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_ref (value->data[0].v_pointer); +#line 13177 "scanner.c" + } else { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 13181 "scanner.c" + } +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_unref (old); +#line 13187 "scanner.c" + } +} + + +void value_take_scanner (GValue* value, gpointer v_object) { + Scanner* old; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCANNER)); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + old = value->data[0].v_pointer; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (v_object) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SCANNER)); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = v_object; +#line 13206 "scanner.c" + } else { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + value->data[0].v_pointer = NULL; +#line 13210 "scanner.c" + } +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (old) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_unref (old); +#line 13216 "scanner.c" + } +} + + +static void scanner_class_init (ScannerClass * klass) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + scanner_parent_class = g_type_class_peek_parent (klass); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + SCANNER_CLASS (klass)->finalize = scanner_finalize; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_class_add_private (klass, sizeof (ScannerPrivate)); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_new ("update_devices", TYPE_SCANNER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_new ("request_authorization", TYPE_SCANNER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_new ("expect_page", TYPE_SCANNER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_new ("got_page_info", TYPE_SCANNER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__SCAN_PAGE_INFO, G_TYPE_NONE, 1, TYPE_SCAN_PAGE_INFO); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_new ("got_line", TYPE_SCANNER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__SCAN_LINE, G_TYPE_NONE, 1, TYPE_SCAN_LINE); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_new ("scan_failed", TYPE_SCANNER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__INT_STRING, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_STRING); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_new ("page_done", TYPE_SCANNER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_new ("document_done", TYPE_SCANNER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_signal_new ("scanning_changed", TYPE_SCANNER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 13246 "scanner.c" +} + + +static void scanner_instance_init (Scanner * self) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv = SCANNER_GET_PRIVATE (self); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->ref_count = 1; +#line 13255 "scanner.c" +} + + +static void scanner_finalize (Scanner* obj) { + Scanner * self; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SCANNER, Scanner); +#line 214 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_thread_unref0 (self->priv->thread); +#line 217 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_async_queue_unref0 (self->priv->request_queue); +#line 220 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_async_queue_unref0 (self->priv->notify_queue); +#line 223 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_async_queue_unref0 (self->priv->authorize_queue); +#line 229 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->priv->default_device); +#line 234 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + __g_list_free__scan_job_unref0_0 (self->priv->job_queue); +#line 239 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_free0 (self->priv->current_device); +#line 247 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + _g_hash_table_unref0 (self->priv->options); +#line 250 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + self->priv->buffer = (g_free (self->priv->buffer), NULL); +#line 13281 "scanner.c" +} + + +GType scanner_get_type (void) { + static volatile gsize scanner_type_id__volatile = 0; + if (g_once_init_enter (&scanner_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_scanner_init, value_scanner_free_value, value_scanner_copy_value, value_scanner_peek_pointer, "p", value_scanner_collect_value, "p", value_scanner_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ScannerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) scanner_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Scanner), 0, (GInstanceInitFunc) scanner_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType scanner_type_id; + scanner_type_id = g_type_register_fundamental (g_type_fundamental_next (), "Scanner", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&scanner_type_id__volatile, scanner_type_id); + } + return scanner_type_id__volatile; +} + + +gpointer scanner_ref (gpointer instance) { + Scanner* self; + self = instance; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_atomic_int_inc (&self->ref_count); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + return instance; +#line 13306 "scanner.c" +} + + +void scanner_unref (gpointer instance) { + Scanner* self; + self = instance; +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + SCANNER_GET_CLASS (self)->finalize (self); +#line 208 "/home/bob/bzr/simple-scan/trunk/src/scanner.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 13319 "scanner.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); +} + + + |