diff options
Diffstat (limited to 'src/camera/CameraTable.c')
-rw-r--r-- | src/camera/CameraTable.c | 4549 |
1 files changed, 4549 insertions, 0 deletions
diff --git a/src/camera/CameraTable.c b/src/camera/CameraTable.c new file mode 100644 index 0000000..f758943 --- /dev/null +++ b/src/camera/CameraTable.c @@ -0,0 +1,4549 @@ +/* CameraTable.c generated by valac 0.32.1, the Vala compiler + * generated from CameraTable.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include <glib.h> +#include <glib-object.h> +#include <gphoto2/gphoto2-camera.h> +#include <gphoto.h> +#include <stdlib.h> +#include <string.h> +#include <gudev/gudev.h> +#include <gphoto2/gphoto2-context.h> +#include <gphoto2/gphoto2-abilities-list.h> +#include <gio/gio.h> +#include <gee.h> +#include <gtk/gtk.h> +#include <gphoto2/gphoto2-result.h> +#include <gphoto2/gphoto2-port-result.h> +#include <stdio.h> +#include <gphoto2/gphoto2-port-info-list.h> +#include <gphoto2/gphoto2-list.h> +#include <gobject/gvaluecollector.h> + + +#define TYPE_DISCOVERED_CAMERA (discovered_camera_get_type ()) +#define DISCOVERED_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DISCOVERED_CAMERA, DiscoveredCamera)) +#define DISCOVERED_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DISCOVERED_CAMERA, DiscoveredCameraClass)) +#define IS_DISCOVERED_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DISCOVERED_CAMERA)) +#define IS_DISCOVERED_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DISCOVERED_CAMERA)) +#define DISCOVERED_CAMERA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DISCOVERED_CAMERA, DiscoveredCameraClass)) + +typedef struct _DiscoveredCamera DiscoveredCamera; +typedef struct _DiscoveredCameraClass DiscoveredCameraClass; +typedef struct _DiscoveredCameraPrivate DiscoveredCameraPrivate; +#define _gp_camera_unref0(var) ((var == NULL) ? NULL : (var = (gp_camera_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _ParamSpecDiscoveredCamera ParamSpecDiscoveredCamera; + +#define TYPE_CAMERA_TABLE (camera_table_get_type ()) +#define CAMERA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_TABLE, CameraTable)) +#define CAMERA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_TABLE, CameraTableClass)) +#define IS_CAMERA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_TABLE)) +#define IS_CAMERA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_TABLE)) +#define CAMERA_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_TABLE, CameraTableClass)) + +typedef struct _CameraTable CameraTable; +typedef struct _CameraTableClass CameraTableClass; +typedef struct _CameraTablePrivate CameraTablePrivate; + +#define TYPE_ONE_SHOT_SCHEDULER (one_shot_scheduler_get_type ()) +#define ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler)) +#define ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) +#define IS_ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ONE_SHOT_SCHEDULER)) +#define IS_ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ONE_SHOT_SCHEDULER)) +#define ONE_SHOT_SCHEDULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) + +typedef struct _OneShotScheduler OneShotScheduler; +typedef struct _OneShotSchedulerClass OneShotSchedulerClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _one_shot_scheduler_unref0(var) ((var == NULL) ? NULL : (var = (one_shot_scheduler_unref (var), NULL))) +#define _gp_context_unref0(var) ((var == NULL) ? NULL : (var = (gp_context_unref (var), NULL))) +#define _gp_abilities_list_free0(var) ((var == NULL) ? NULL : (var = (gp_abilities_list_free (var), NULL))) + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_APP_WINDOW (app_window_get_type ()) +#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow)) +#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass)) +#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW)) +#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW)) +#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass)) + +typedef struct _AppWindow AppWindow; +typedef struct _AppWindowClass AppWindowClass; + +#define TYPE_LIBRARY_WINDOW (library_window_get_type ()) +#define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow)) +#define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass)) +#define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW)) +#define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW)) +#define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass)) + +typedef struct _LibraryWindow LibraryWindow; +typedef struct _LibraryWindowClass LibraryWindowClass; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _camera_table_unref0(var) ((var == NULL) ? NULL : (var = (camera_table_unref (var), NULL))) +#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL))) +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) +#define _gp_port_info_list_free0(var) ((var == NULL) ? NULL : (var = (gp_port_info_list_free (var), NULL))) +#define _gp_list_unref0(var) ((var == NULL) ? NULL : (var = (gp_list_unref (var), NULL))) +#define _discovered_camera_unref0(var) ((var == NULL) ? NULL : (var = (discovered_camera_unref (var), NULL))) +typedef struct _ParamSpecCameraTable ParamSpecCameraTable; +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _DiscoveredCamera { + GTypeInstance parent_instance; + volatile int ref_count; + DiscoveredCameraPrivate * priv; + Camera* gcamera; + gchar* uri; + gchar* display_name; + gchar* icon; +}; + +struct _DiscoveredCameraClass { + GTypeClass parent_class; + void (*finalize) (DiscoveredCamera *self); +}; + +struct _ParamSpecDiscoveredCamera { + GParamSpec parent_instance; +}; + +struct _CameraTable { + GTypeInstance parent_instance; + volatile int ref_count; + CameraTablePrivate * priv; +}; + +struct _CameraTableClass { + GTypeClass parent_class; + void (*finalize) (CameraTable *self); +}; + +struct _CameraTablePrivate { + GUdevClient* client; + OneShotScheduler* camera_update_scheduler; + GPContext* null_context; + CameraAbilitiesList* abilities_list; + GVolumeMonitor* volume_monitor; + GeeHashMap* camera_map; +}; + +typedef void (*OneShotCallback) (void* user_data); +typedef enum { + GPHOTO_ERROR_LIBRARY +} GPhotoError; +#define GPHOTO_ERROR gphoto_error_quark () +struct _ParamSpecCameraTable { + GParamSpec parent_instance; +}; + + +static gpointer discovered_camera_parent_class = NULL; +static gpointer camera_table_parent_class = NULL; +static CameraTable* camera_table_instance; +static CameraTable* camera_table_instance = NULL; + +gpointer discovered_camera_ref (gpointer instance); +void discovered_camera_unref (gpointer instance); +GParamSpec* param_spec_discovered_camera (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_discovered_camera (GValue* value, gpointer v_object); +void value_take_discovered_camera (GValue* value, gpointer v_object); +gpointer value_get_discovered_camera (const GValue* value); +GType discovered_camera_get_type (void) G_GNUC_CONST; +enum { + DISCOVERED_CAMERA_DUMMY_PROPERTY +}; +DiscoveredCamera* discovered_camera_new (Camera* gcamera, const gchar* uri, const gchar* display_name, const gchar* icon); +DiscoveredCamera* discovered_camera_construct (GType object_type, Camera* gcamera, const gchar* uri, const gchar* display_name, const gchar* icon); +static void discovered_camera_finalize (DiscoveredCamera* obj); +gpointer camera_table_ref (gpointer instance); +void camera_table_unref (gpointer instance); +GParamSpec* param_spec_camera_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_camera_table (GValue* value, gpointer v_object); +void value_take_camera_table (GValue* value, gpointer v_object); +gpointer value_get_camera_table (const GValue* value); +GType camera_table_get_type (void) G_GNUC_CONST; +gpointer one_shot_scheduler_ref (gpointer instance); +void one_shot_scheduler_unref (gpointer instance); +GParamSpec* param_spec_one_shot_scheduler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_one_shot_scheduler (GValue* value, gpointer v_object); +void value_take_one_shot_scheduler (GValue* value, gpointer v_object); +gpointer value_get_one_shot_scheduler (const GValue* value); +GType one_shot_scheduler_get_type (void) G_GNUC_CONST; +#define CAMERA_TABLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CAMERA_TABLE, CameraTablePrivate)) +enum { + CAMERA_TABLE_DUMMY_PROPERTY +}; +#define CAMERA_TABLE_UPDATE_DELAY_MSEC 1000 +static CameraTable* camera_table_new (void); +static CameraTable* camera_table_construct (GType object_type); +static void camera_table_on_update_cameras (CameraTable* self); +static void _camera_table_on_update_cameras_one_shot_callback (gpointer self); +OneShotScheduler* one_shot_scheduler_new (const gchar* name, OneShotCallback callback, void* callback_target); +OneShotScheduler* one_shot_scheduler_construct (GType object_type, const gchar* name, OneShotCallback callback, void* callback_target); +static void camera_table_on_udev_event (CameraTable* self, const gchar* action, GUdevDevice* device); +static void _camera_table_on_udev_event_g_udev_client_uevent (GUdevClient* _sender, const gchar* action, GUdevDevice* device, gpointer self); +void camera_table_on_volume_changed (CameraTable* self, GVolume* volume); +static void _camera_table_on_volume_changed_g_volume_monitor_volume_changed (GVolumeMonitor* _sender, GVolume* volume, gpointer self); +static void _camera_table_on_volume_changed_g_volume_monitor_volume_added (GVolumeMonitor* _sender, GVolume* volume, gpointer self); +static gboolean camera_table_delayed_init (CameraTable* self); +static gboolean _camera_table_delayed_init_gsource_func (gpointer self); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +GType library_window_get_type (void) G_GNUC_CONST; +void library_window_set_page_switching_enabled (LibraryWindow* self, gboolean should_enable); +GQuark gphoto_error_quark (void); +static void camera_table_init_camera_table (CameraTable* self, GError** error); +static void camera_table_update_camera_table (CameraTable* self, GError** error); +CameraTable* camera_table_get_instance (void); +GeeIterable* camera_table_get_cameras (CameraTable* self); +gint camera_table_get_count (CameraTable* self); +DiscoveredCamera* camera_table_get_for_uri (CameraTable* self, const gchar* uri); +static void camera_table_do_op (CameraTable* self, int res, const gchar* op, GError** error); +static gchar** camera_table_get_all_usb_cameras (CameraTable* self, int* result_length1); +static void _vala_array_add141 (gchar*** array, int* length, int* size, gchar* value); +static void _g_object_unref0_ (gpointer var); +static void _g_list_free__g_object_unref0_ (GList* self); +static gboolean camera_table_usb_esp (CameraTable* self, gint current_camera_count, gchar** usb_cameras, int usb_cameras_length1, const gchar* port, gchar** full_port); +gchar* camera_table_get_port_uri (const gchar* port); +gchar* camera_table_get_port_path (const gchar* port); +static gchar* camera_table_get_name_for_uuid (CameraTable* self, const gchar* uuid); +static gchar* camera_table_get_icon_for_uuid (CameraTable* self, const gchar* uuid); +static void _vala_array_add142 (DiscoveredCamera*** array, int* length, int* size, DiscoveredCamera* value); +void one_shot_scheduler_after_timeout (OneShotScheduler* self, guint msec, gboolean reschedule); +static void g_cclosure_user_marshal_VOID__DISCOVERED_CAMERA (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void camera_table_finalize (CameraTable* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + +static const gchar* CAMERA_TABLE_SUBSYSTEMS[3] = {"usb", "block", NULL}; + +static gpointer _GPHOTO_REF_CAMERA0 (gpointer self) { +#line 14 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return self ? GPHOTO_REF_CAMERA (self) : NULL; +#line 245 "CameraTable.c" +} + + +DiscoveredCamera* discovered_camera_construct (GType object_type, Camera* gcamera, const gchar* uri, const gchar* display_name, const gchar* icon) { + DiscoveredCamera* self = NULL; + Camera* _tmp0_ = NULL; + Camera* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 13 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (gcamera != NULL, NULL); +#line 13 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (uri != NULL, NULL); +#line 13 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (display_name != NULL, NULL); +#line 13 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self = (DiscoveredCamera*) g_type_create_instance (object_type); +#line 14 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = gcamera; +#line 14 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = _GPHOTO_REF_CAMERA0 (_tmp0_); +#line 14 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (self->gcamera); +#line 14 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->gcamera = _tmp1_; +#line 15 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = uri; +#line 15 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 15 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (self->uri); +#line 15 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->uri = _tmp3_; +#line 16 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = display_name; +#line 16 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 16 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (self->display_name); +#line 16 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->display_name = _tmp5_; +#line 17 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = icon; +#line 17 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 17 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (self->icon); +#line 17 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->icon = _tmp7_; +#line 13 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return self; +#line 301 "CameraTable.c" +} + + +DiscoveredCamera* discovered_camera_new (Camera* gcamera, const gchar* uri, const gchar* display_name, const gchar* icon) { +#line 13 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return discovered_camera_construct (TYPE_DISCOVERED_CAMERA, gcamera, uri, display_name, icon); +#line 308 "CameraTable.c" +} + + +static void value_discovered_camera_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 315 "CameraTable.c" +} + + +static void value_discovered_camera_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + discovered_camera_unref (value->data[0].v_pointer); +#line 324 "CameraTable.c" + } +} + + +static void value_discovered_camera_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + dest_value->data[0].v_pointer = discovered_camera_ref (src_value->data[0].v_pointer); +#line 334 "CameraTable.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + dest_value->data[0].v_pointer = NULL; +#line 338 "CameraTable.c" + } +} + + +static gpointer value_discovered_camera_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return value->data[0].v_pointer; +#line 346 "CameraTable.c" +} + + +static gchar* value_discovered_camera_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (collect_values[0].v_pointer) { +#line 353 "CameraTable.c" + DiscoveredCamera* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 360 "CameraTable.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.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 364 "CameraTable.c" + } +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = discovered_camera_ref (object); +#line 368 "CameraTable.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 372 "CameraTable.c" + } +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return NULL; +#line 376 "CameraTable.c" +} + + +static gchar* value_discovered_camera_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + DiscoveredCamera** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 387 "CameraTable.c" + } +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *object_p = NULL; +#line 393 "CameraTable.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *object_p = value->data[0].v_pointer; +#line 397 "CameraTable.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *object_p = discovered_camera_ref (value->data[0].v_pointer); +#line 401 "CameraTable.c" + } +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return NULL; +#line 405 "CameraTable.c" +} + + +GParamSpec* param_spec_discovered_camera (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecDiscoveredCamera* spec; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_DISCOVERED_CAMERA), NULL); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return G_PARAM_SPEC (spec); +#line 419 "CameraTable.c" +} + + +gpointer value_get_discovered_camera (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DISCOVERED_CAMERA), NULL); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return value->data[0].v_pointer; +#line 428 "CameraTable.c" +} + + +void value_set_discovered_camera (GValue* value, gpointer v_object) { + DiscoveredCamera* old; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DISCOVERED_CAMERA)); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DISCOVERED_CAMERA)); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + discovered_camera_ref (value->data[0].v_pointer); +#line 448 "CameraTable.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 452 "CameraTable.c" + } +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + discovered_camera_unref (old); +#line 458 "CameraTable.c" + } +} + + +void value_take_discovered_camera (GValue* value, gpointer v_object) { + DiscoveredCamera* old; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DISCOVERED_CAMERA)); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DISCOVERED_CAMERA)); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = v_object; +#line 477 "CameraTable.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 481 "CameraTable.c" + } +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + discovered_camera_unref (old); +#line 487 "CameraTable.c" + } +} + + +static void discovered_camera_class_init (DiscoveredCameraClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + discovered_camera_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + ((DiscoveredCameraClass *) klass)->finalize = discovered_camera_finalize; +#line 497 "CameraTable.c" +} + + +static void discovered_camera_instance_init (DiscoveredCamera * self) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->ref_count = 1; +#line 504 "CameraTable.c" +} + + +static void discovered_camera_finalize (DiscoveredCamera* obj) { + DiscoveredCamera * self; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DISCOVERED_CAMERA, DiscoveredCamera); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_handlers_destroy (self); +#line 8 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (self->gcamera); +#line 9 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (self->uri); +#line 10 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (self->display_name); +#line 11 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (self->icon); +#line 522 "CameraTable.c" +} + + +GType discovered_camera_get_type (void) { + static volatile gsize discovered_camera_type_id__volatile = 0; + if (g_once_init_enter (&discovered_camera_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_discovered_camera_init, value_discovered_camera_free_value, value_discovered_camera_copy_value, value_discovered_camera_peek_pointer, "p", value_discovered_camera_collect_value, "p", value_discovered_camera_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (DiscoveredCameraClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) discovered_camera_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DiscoveredCamera), 0, (GInstanceInitFunc) discovered_camera_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 discovered_camera_type_id; + discovered_camera_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DiscoveredCamera", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&discovered_camera_type_id__volatile, discovered_camera_type_id); + } + return discovered_camera_type_id__volatile; +} + + +gpointer discovered_camera_ref (gpointer instance) { + DiscoveredCamera* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return instance; +#line 547 "CameraTable.c" +} + + +void discovered_camera_unref (gpointer instance) { + DiscoveredCamera* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + DISCOVERED_CAMERA_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 560 "CameraTable.c" + } +} + + +static void _camera_table_on_update_cameras_one_shot_callback (gpointer self) { +#line 42 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_on_update_cameras ((CameraTable*) self); +#line 568 "CameraTable.c" +} + + +static void _camera_table_on_udev_event_g_udev_client_uevent (GUdevClient* _sender, const gchar* action, GUdevDevice* device, gpointer self) { +#line 46 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_on_udev_event ((CameraTable*) self, action, device); +#line 575 "CameraTable.c" +} + + +static void _camera_table_on_volume_changed_g_volume_monitor_volume_changed (GVolumeMonitor* _sender, GVolume* volume, gpointer self) { +#line 48 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_on_volume_changed ((CameraTable*) self, volume); +#line 582 "CameraTable.c" +} + + +static void _camera_table_on_volume_changed_g_volume_monitor_volume_added (GVolumeMonitor* _sender, GVolume* volume, gpointer self) { +#line 49 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_on_volume_changed ((CameraTable*) self, volume); +#line 589 "CameraTable.c" +} + + +static gboolean _camera_table_delayed_init_gsource_func (gpointer self) { + gboolean result; + result = camera_table_delayed_init ((CameraTable*) self); +#line 54 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 598 "CameraTable.c" +} + + +static CameraTable* camera_table_construct (GType object_type) { + CameraTable* self = NULL; + OneShotScheduler* _tmp0_ = NULL; + GUdevClient* _tmp1_ = NULL; + GVolumeMonitor* _tmp2_ = NULL; + GVolumeMonitor* _tmp3_ = NULL; + GVolumeMonitor* _tmp4_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self = (CameraTable*) g_type_create_instance (object_type); +#line 42 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = one_shot_scheduler_new ("CameraTable update scheduler", _camera_table_on_update_cameras_one_shot_callback, self); +#line 42 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _one_shot_scheduler_unref0 (self->priv->camera_update_scheduler); +#line 42 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv->camera_update_scheduler = _tmp0_; +#line 46 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = self->priv->client; +#line 46 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_connect (_tmp1_, "uevent", (GCallback) _camera_table_on_udev_event_g_udev_client_uevent, self); +#line 47 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = g_volume_monitor_get (); +#line 47 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (self->priv->volume_monitor); +#line 47 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv->volume_monitor = _tmp2_; +#line 48 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = self->priv->volume_monitor; +#line 48 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_connect (_tmp3_, "volume-changed", (GCallback) _camera_table_on_volume_changed_g_volume_monitor_volume_changed, self); +#line 49 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = self->priv->volume_monitor; +#line 49 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_connect (_tmp4_, "volume-added", (GCallback) _camera_table_on_volume_changed_g_volume_monitor_volume_added, self); +#line 54 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 500, _camera_table_delayed_init_gsource_func, camera_table_ref (self), camera_table_unref); +#line 41 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return self; +#line 639 "CameraTable.c" +} + + +static CameraTable* camera_table_new (void) { +#line 41 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return camera_table_construct (TYPE_CAMERA_TABLE); +#line 646 "CameraTable.c" +} + + +static gboolean camera_table_delayed_init (CameraTable* self) { + gboolean result = FALSE; + AppWindow* _tmp0_ = NULL; + LibraryWindow* _tmp1_ = NULL; + AppWindow* _tmp6_ = NULL; + LibraryWindow* _tmp7_ = NULL; + GError * _inner_error_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), FALSE); +#line 60 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = app_window_get_instance (); +#line 60 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 60 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + library_window_set_page_switching_enabled (_tmp1_, FALSE); +#line 60 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_tmp1_); +#line 667 "CameraTable.c" + { +#line 63 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_init_camera_table (self, &_inner_error_); +#line 63 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 63 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 675 "CameraTable.c" + goto __catch54_gphoto_error; + } +#line 63 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 63 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 63 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return FALSE; +#line 684 "CameraTable.c" + } + } + goto __finally54; + __catch54_gphoto_error: + { + GError* err = NULL; + GError* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + err = _inner_error_; +#line 62 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _inner_error_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = err; +#line 65 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = _tmp2_->message; +#line 65 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_warning ("CameraTable.vala:65: Unable to initialize camera table: %s", _tmp3_); +#line 67 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = FALSE; +#line 67 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_error_free0 (err); +#line 67 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 709 "CameraTable.c" + } + __finally54: +#line 62 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 62 "/home/jens/Source/shotwell/src/camera/CameraTable.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 62 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 62 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return FALSE; +#line 720 "CameraTable.c" + } + { +#line 71 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_update_camera_table (self, &_inner_error_); +#line 71 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 71 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 729 "CameraTable.c" + goto __catch55_gphoto_error; + } +#line 71 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 71 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 71 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return FALSE; +#line 738 "CameraTable.c" + } + } + goto __finally55; + __catch55_gphoto_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 70 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + err = _inner_error_; +#line 70 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _inner_error_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = err; +#line 73 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = _tmp4_->message; +#line 73 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_warning ("CameraTable.vala:73: Unable to update camera table: %s", _tmp5_); +#line 70 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_error_free0 (err); +#line 759 "CameraTable.c" + } + __finally55: +#line 70 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 70 "/home/jens/Source/shotwell/src/camera/CameraTable.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 70 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 70 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return FALSE; +#line 770 "CameraTable.c" + } +#line 78 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = app_window_get_instance (); +#line 78 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 78 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + library_window_set_page_switching_enabled (_tmp7_, TRUE); +#line 78 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_tmp7_); +#line 79 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = FALSE; +#line 79 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 784 "CameraTable.c" +} + + +static gpointer _camera_table_ref0 (gpointer self) { +#line 86 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return self ? camera_table_ref (self) : NULL; +#line 791 "CameraTable.c" +} + + +CameraTable* camera_table_get_instance (void) { + CameraTable* result = NULL; + CameraTable* _tmp0_ = NULL; + CameraTable* _tmp2_ = NULL; + CameraTable* _tmp3_ = NULL; +#line 83 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = camera_table_instance; +#line 83 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp0_ == NULL) { +#line 804 "CameraTable.c" + CameraTable* _tmp1_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = camera_table_new (); +#line 84 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _camera_table_unref0 (camera_table_instance); +#line 84 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_instance = _tmp1_; +#line 812 "CameraTable.c" + } +#line 86 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = camera_table_instance; +#line 86 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = _camera_table_ref0 (_tmp2_); +#line 86 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = _tmp3_; +#line 86 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 822 "CameraTable.c" +} + + +GeeIterable* camera_table_get_cameras (CameraTable* self) { + GeeIterable* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; +#line 89 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), NULL); +#line 90 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = self->priv->camera_map; +#line 90 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 90 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = _tmp1_; +#line 90 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable); +#line 90 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 843 "CameraTable.c" +} + + +gint camera_table_get_count (CameraTable* self) { + gint result = 0; + GeeHashMap* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 93 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), 0); +#line 94 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = self->priv->camera_map; +#line 94 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = gee_abstract_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 94 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = _tmp1_; +#line 94 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = _tmp2_; +#line 94 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 864 "CameraTable.c" +} + + +DiscoveredCamera* camera_table_get_for_uri (CameraTable* self, const gchar* uri) { + DiscoveredCamera* result = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), NULL); +#line 97 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (uri != NULL, NULL); +#line 98 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = self->priv->camera_map; +#line 98 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = uri; +#line 98 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 98 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = (DiscoveredCamera*) _tmp2_; +#line 98 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 887 "CameraTable.c" +} + + +static void camera_table_do_op (CameraTable* self, int res, const gchar* op, GError** error) { + int _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (IS_CAMERA_TABLE (self)); +#line 101 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (op != NULL); +#line 102 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = res; +#line 102 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp0_ != GP_OK) { +#line 902 "CameraTable.c" + int _tmp1_ = 0; + const gchar* _tmp2_ = NULL; + int _tmp3_ = 0; + const gchar* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = res; +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = op; +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = res; +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = gp_port_result_as_string (_tmp3_); +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = g_error_new (GPHOTO_ERROR, GPHOTO_ERROR_LIBRARY, "[%d] Unable to %s: %s", (gint) _tmp1_, _tmp2_, _tmp4_); +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _inner_error_ = _tmp5_; +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 926 "CameraTable.c" + } else { +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.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 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 934 "CameraTable.c" + } + } +} + + +static void camera_table_init_camera_table (CameraTable* self, GError** error) { + CameraAbilitiesList* _tmp0_ = NULL; + int _tmp1_ = 0; + CameraAbilitiesList* _tmp2_ = NULL; + GPContext* _tmp3_ = NULL; + int _tmp4_ = 0; + GError * _inner_error_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (IS_CAMERA_TABLE (self)); +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = gp_abilities_list_new (&_tmp0_); +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_abilities_list_free0 (self->priv->abilities_list); +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv->abilities_list = _tmp0_; +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp1_, "create camera abilities list", &_inner_error_); +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 965 "CameraTable.c" + } else { +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.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 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 973 "CameraTable.c" + } + } +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = self->priv->abilities_list; +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = self->priv->null_context; +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = gp_abilities_list_load (_tmp2_, _tmp3_); +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp4_, "load camera abilities list", &_inner_error_); +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 992 "CameraTable.c" + } else { +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.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 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 1000 "CameraTable.c" + } + } +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return self ? g_object_ref (self) : NULL; +#line 1009 "CameraTable.c" +} + + +static void _vala_array_add141 (gchar*** array, int* length, int* size, gchar* value) { +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if ((*length) == (*size)) { +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 1020 "CameraTable.c" + } +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (*array)[(*length)++] = value; +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (*array)[*length] = NULL; +#line 1026 "CameraTable.c" +} + + +static void _g_object_unref0_ (gpointer var) { +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (var == NULL) ? NULL : (var = (g_object_unref (var), NULL)); +#line 1033 "CameraTable.c" +} + + +static void _g_list_free__g_object_unref0_ (GList* self) { +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_list_foreach (self, (GFunc) _g_object_unref0_, NULL); +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_list_free (self); +#line 1042 "CameraTable.c" +} + + +static gchar** camera_table_get_all_usb_cameras (CameraTable* self, int* result_length1) { + gchar** result = NULL; + gchar** cameras = NULL; + gchar** _tmp0_ = NULL; + gint cameras_length1 = 0; + gint _cameras_size_ = 0; + GList* device_list = NULL; + GUdevClient* _tmp1_ = NULL; + GList* _tmp2_ = NULL; + GList* _tmp3_ = NULL; + gchar** _tmp25_ = NULL; + gint _tmp25__length1 = 0; +#line 111 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), NULL); +#line 112 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 112 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + cameras = _tmp0_; +#line 112 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + cameras_length1 = 0; +#line 112 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _cameras_size_ = cameras_length1; +#line 114 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = self->priv->client; +#line 114 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = g_udev_client_query_by_subsystem (_tmp1_, NULL); +#line 114 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + device_list = _tmp2_; +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = device_list; +#line 1076 "CameraTable.c" + { + GList* device_collection = NULL; + GList* device_it = NULL; +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + device_collection = _tmp3_; +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + for (device_it = device_collection; device_it != NULL; device_it = device_it->next) { +#line 1084 "CameraTable.c" + GUdevDevice* _tmp4_ = NULL; + GUdevDevice* device = NULL; +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = _g_object_ref0 ((GUdevDevice*) device_it->data); +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + device = _tmp4_; +#line 1091 "CameraTable.c" + { + gchar* device_file = NULL; + GUdevDevice* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + const gchar* _tmp10_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = device; +#line 116 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = g_udev_device_get_device_file (_tmp5_); +#line 116 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 116 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + device_file = _tmp7_; +#line 120 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp10_ = device_file; +#line 120 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp10_ != NULL) { +#line 1112 "CameraTable.c" + GUdevDevice* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 121 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp11_ = device; +#line 121 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp12_ = g_udev_device_has_property (_tmp11_, "ID_GPHOTO2"); +#line 121 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp9_ = _tmp12_; +#line 1121 "CameraTable.c" + } else { +#line 120 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp9_ = FALSE; +#line 1125 "CameraTable.c" + } +#line 120 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp9_) { +#line 1129 "CameraTable.c" + GUdevDevice* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 122 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp13_ = device; +#line 122 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp14_ = g_udev_device_has_property (_tmp13_, "GPHOTO2_DRIVER"); +#line 122 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp8_ = _tmp14_; +#line 1138 "CameraTable.c" + } else { +#line 120 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp8_ = FALSE; +#line 1142 "CameraTable.c" + } +#line 117 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp8_) { +#line 1146 "CameraTable.c" + gint camera_bus = 0; + gint camera_device = 0; + const gchar* _tmp15_ = NULL; + gint _tmp16_ = 0; + gchar* camera = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar** _tmp22_ = NULL; + gint _tmp22__length1 = 0; + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp15_ = device_file; +#line 128 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp16_ = sscanf (_tmp15_, "/dev/bus/usb/%d/%d", &camera_bus, &camera_device); +#line 128 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp16_ < 2) { +#line 1166 "CameraTable.c" + const gchar* _tmp17_ = NULL; +#line 129 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp17_ = device_file; +#line 129 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_critical ("CameraTable.vala:129: get_all_usb_cameras: Failed to scanf device file" \ +" %s", _tmp17_); +#line 131 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (device_file); +#line 131 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (device); +#line 131 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + continue; +#line 1178 "CameraTable.c" + } +#line 133 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp18_ = camera_bus; +#line 133 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp19_ = camera_device; +#line 133 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp20_ = g_strdup_printf ("usb:%.3d,%.3d", _tmp18_, _tmp19_); +#line 133 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera = _tmp20_; +#line 134 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp21_ = camera; +#line 134 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:134: USB camera detected at %s", _tmp21_); +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp22_ = cameras; +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp22__length1 = cameras_length1; +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp23_ = camera; +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp24_ = g_strdup (_tmp23_); +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _vala_array_add141 (&cameras, &cameras_length1, &_cameras_size_, _tmp24_); +#line 117 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (camera); +#line 1204 "CameraTable.c" + } +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (device_file); +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (device); +#line 1210 "CameraTable.c" + } + } + } +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp25_ = cameras; +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp25__length1 = cameras_length1; +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (result_length1) { +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *result_length1 = _tmp25__length1; +#line 1222 "CameraTable.c" + } +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = _tmp25_; +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + __g_list_free__g_object_unref0_0 (device_list); +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1230 "CameraTable.c" +} + + +static gboolean camera_table_usb_esp (CameraTable* self, gint current_camera_count, gchar** usb_cameras, int usb_cameras_length1, const gchar* port, gchar** full_port) { + gchar* _vala_full_port = NULL; + gboolean result = FALSE; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gint _tmp4_ = 0; + const gchar* _tmp11_ = NULL; + gint bus = 0; + gint device = 0; + const gchar* _tmp13_ = NULL; + gint _tmp14_ = 0; + gchar** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + const gchar* _tmp30_ = NULL; +#line 150 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), FALSE); +#line 150 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (port != NULL, FALSE); +#line 153 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = current_camera_count; +#line 153 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _vala_assert (_tmp0_ > 0, "current_camera_count > 0"); +#line 155 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = current_camera_count; +#line 155 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = port; +#line 155 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:155: USB ESP: current_camera_count=%d port=%s", _tmp1_, _tmp2_); +#line 157 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 157 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _vala_full_port = NULL; +#line 160 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = current_camera_count; +#line 160 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp4_ == 1) { +#line 1272 "CameraTable.c" + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 160 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = usb_cameras; +#line 160 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5__length1 = usb_cameras_length1; +#line 160 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = _tmp5__length1 == 1; +#line 1281 "CameraTable.c" + } else { +#line 160 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = FALSE; +#line 1285 "CameraTable.c" + } +#line 160 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp3_) { +#line 1289 "CameraTable.c" + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = usb_cameras; +#line 161 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6__length1 = usb_cameras_length1; +#line 161 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = _tmp6_[0]; +#line 161 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 161 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 161 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _vala_full_port = _tmp8_; +#line 163 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp9_ = port; +#line 163 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp10_ = _vala_full_port; +#line 163 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:163: USB ESP: port=%s full_port=%s", _tmp9_, _tmp10_); +#line 165 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = TRUE; +#line 165 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (full_port) { +#line 165 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *full_port = _vala_full_port; +#line 1320 "CameraTable.c" + } else { +#line 165 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 1324 "CameraTable.c" + } +#line 165 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1328 "CameraTable.c" + } +#line 169 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp11_ = port; +#line 169 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (g_strcmp0 (_tmp11_, "usb:") == 0) { +#line 1334 "CameraTable.c" + const gchar* _tmp12_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp12_ = port; +#line 170 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:170: USB ESP: Skipping %s", _tmp12_); +#line 172 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = FALSE; +#line 172 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (full_port) { +#line 172 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *full_port = _vala_full_port; +#line 1346 "CameraTable.c" + } else { +#line 172 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 1350 "CameraTable.c" + } +#line 172 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1354 "CameraTable.c" + } +#line 177 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp13_ = port; +#line 177 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp14_ = sscanf (_tmp13_, "usb:%d,%d", &bus, &device); +#line 177 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp14_ < 2) { +#line 1362 "CameraTable.c" + const gchar* _tmp15_ = NULL; +#line 178 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp15_ = port; +#line 178 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_critical ("CameraTable.vala:178: USB ESP: Failed to scanf %s", _tmp15_); +#line 180 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = FALSE; +#line 180 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (full_port) { +#line 180 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *full_port = _vala_full_port; +#line 1374 "CameraTable.c" + } else { +#line 180 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 1378 "CameraTable.c" + } +#line 180 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1382 "CameraTable.c" + } +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp16_ = usb_cameras; +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp16__length1 = usb_cameras_length1; +#line 1388 "CameraTable.c" + { + gchar** usb_camera_collection = NULL; + gint usb_camera_collection_length1 = 0; + gint _usb_camera_collection_size_ = 0; + gint usb_camera_it = 0; +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_camera_collection = _tmp16_; +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_camera_collection_length1 = _tmp16__length1; +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + for (usb_camera_it = 0; usb_camera_it < _tmp16__length1; usb_camera_it = usb_camera_it + 1) { +#line 1400 "CameraTable.c" + gchar* _tmp17_ = NULL; + gchar* usb_camera = NULL; +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp17_ = g_strdup (usb_camera_collection[usb_camera_it]); +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_camera = _tmp17_; +#line 1407 "CameraTable.c" + { + gint camera_bus = 0; + gint camera_device = 0; + const gchar* _tmp18_ = NULL; + gint _tmp19_ = 0; + gboolean _tmp21_ = FALSE; + gint _tmp22_ = 0; + gint _tmp23_ = 0; +#line 185 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp18_ = usb_camera; +#line 185 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp19_ = sscanf (_tmp18_, "usb:%d,%d", &camera_bus, &camera_device); +#line 185 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp19_ < 2) { +#line 1422 "CameraTable.c" + const gchar* _tmp20_ = NULL; +#line 186 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp20_ = usb_camera; +#line 186 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_critical ("CameraTable.vala:186: USB ESP: Failed to scanf %s", _tmp20_); +#line 188 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (usb_camera); +#line 188 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + continue; +#line 1432 "CameraTable.c" + } +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp22_ = bus; +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp23_ = camera_bus; +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp22_ == _tmp23_) { +#line 1440 "CameraTable.c" + gint _tmp24_ = 0; + gint _tmp25_ = 0; +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp24_ = device; +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp25_ = camera_device; +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp21_ = _tmp24_ == _tmp25_; +#line 1449 "CameraTable.c" + } else { +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp21_ = FALSE; +#line 1453 "CameraTable.c" + } +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp21_) { +#line 1457 "CameraTable.c" + const gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp26_ = port; +#line 192 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp27_ = g_strdup (_tmp26_); +#line 192 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 192 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _vala_full_port = _tmp27_; +#line 194 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp28_ = port; +#line 194 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp29_ = _vala_full_port; +#line 194 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:194: USB ESP: port=%s full_port=%s", _tmp28_, _tmp29_); +#line 196 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = TRUE; +#line 196 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (usb_camera); +#line 196 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (full_port) { +#line 196 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *full_port = _vala_full_port; +#line 1484 "CameraTable.c" + } else { +#line 196 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 1488 "CameraTable.c" + } +#line 196 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1492 "CameraTable.c" + } +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (usb_camera); +#line 1496 "CameraTable.c" + } + } + } +#line 200 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp30_ = port; +#line 200 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:200: USB ESP: No matching bus/device found for port=%" \ +"s", _tmp30_); +#line 202 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = FALSE; +#line 202 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (full_port) { +#line 202 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *full_port = _vala_full_port; +#line 1510 "CameraTable.c" + } else { +#line 202 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 1514 "CameraTable.c" + } +#line 202 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1518 "CameraTable.c" +} + + +gchar* camera_table_get_port_uri (const gchar* port) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 205 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (port != NULL, NULL); +#line 206 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = port; +#line 206 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = g_strdup_printf ("gphoto2://[%s]/", _tmp0_); +#line 206 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = _tmp1_; +#line 206 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1536 "CameraTable.c" +} + + +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 1559 "CameraTable.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1567 "CameraTable.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1579 "CameraTable.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 1603 "CameraTable.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 1609 "CameraTable.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 1613 "CameraTable.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 1617 "CameraTable.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 1629 "CameraTable.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 1639 "CameraTable.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 1645 "CameraTable.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 1659 "CameraTable.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 1669 "CameraTable.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 1675 "CameraTable.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 1684 "CameraTable.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1704 "CameraTable.c" +} + + +static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (old != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (replacement != NULL, NULL); +#line 1717 "CameraTable.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 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = old; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_regex_escape_string (_tmp0_, -1); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _tmp1_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp2_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + regex = _tmp4_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 1748 "CameraTable.c" + goto __catch56_g_regex_error; + } +#line 1382 "/usr/share/vala-0.32/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 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 1757 "CameraTable.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = regex; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = replacement; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) -1, 0, _tmp7_, 0, &_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 1773 "CameraTable.c" + goto __catch56_g_regex_error; + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/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 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 1784 "CameraTable.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = _tmp5_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = NULL; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp9_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp5_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1798 "CameraTable.c" + } + goto __finally56; + __catch56_g_regex_error: + { + GError* e = NULL; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + e = _inner_error_; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _inner_error_ = NULL; +#line 1385 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_assert_not_reached (); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_error_free0 (e); +#line 1812 "CameraTable.c" + } + __finally56: +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1381 "/usr/share/vala-0.32/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 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 1823 "CameraTable.c" + } +} + + +gchar* camera_table_get_port_path (const gchar* port) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 209 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (port != NULL, NULL); +#line 211 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = port; +#line 211 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = g_str_has_prefix (_tmp1_, "usb:"); +#line 211 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp2_) { +#line 1841 "CameraTable.c" + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = port; +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = string_substring (_tmp3_, (glong) 4, (glong) -1); +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = _tmp4_; +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = string_replace (_tmp5_, ",", "/"); +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = _tmp6_; +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp8_ = g_strdup_printf ("/dev/bus/usb/%s", _tmp7_); +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp0_); +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = _tmp8_; +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp7_); +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp5_); +#line 1868 "CameraTable.c" + } else { +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp0_); +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = NULL; +#line 1874 "CameraTable.c" + } +#line 211 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = _tmp0_; +#line 211 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1880 "CameraTable.c" +} + + +static gchar* camera_table_get_name_for_uuid (CameraTable* self, const gchar* uuid) { + gchar* result = NULL; + GVolumeMonitor* _tmp0_ = NULL; + GList* _tmp1_ = NULL; +#line 215 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), NULL); +#line 215 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (uuid != NULL, NULL); +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = self->priv->volume_monitor; +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = g_volume_monitor_get_volumes (_tmp0_); +#line 1896 "CameraTable.c" + { + GList* volume_collection = NULL; + GList* volume_it = NULL; +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + volume_collection = _tmp1_; +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + for (volume_it = volume_collection; volume_it != NULL; volume_it = volume_it->next) { +#line 1904 "CameraTable.c" + GVolume* _tmp2_ = NULL; + GVolume* volume = NULL; +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = _g_object_ref0 ((GVolume*) volume_it->data); +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + volume = _tmp2_; +#line 1911 "CameraTable.c" + { + GVolume* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 217 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = volume; +#line 217 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = g_volume_get_identifier (_tmp3_, G_VOLUME_IDENTIFIER_KIND_UUID); +#line 217 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = _tmp4_; +#line 217 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = uuid; +#line 217 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = g_strcmp0 (_tmp5_, _tmp6_) == 0; +#line 217 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp5_); +#line 217 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp7_) { +#line 1932 "CameraTable.c" + GVolume* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 218 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp8_ = volume; +#line 218 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp9_ = g_volume_get_name (_tmp8_); +#line 218 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = _tmp9_; +#line 218 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (volume); +#line 218 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + __g_list_free__g_object_unref0_0 (volume_collection); +#line 218 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1947 "CameraTable.c" + } +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (volume); +#line 1951 "CameraTable.c" + } + } +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + __g_list_free__g_object_unref0_0 (volume_collection); +#line 1956 "CameraTable.c" + } +#line 221 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = NULL; +#line 221 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1962 "CameraTable.c" +} + + +static gchar* camera_table_get_icon_for_uuid (CameraTable* self, const gchar* uuid) { + gchar* result = NULL; + GVolumeMonitor* _tmp0_ = NULL; + GList* _tmp1_ = NULL; +#line 224 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), NULL); +#line 224 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (uuid != NULL, NULL); +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = self->priv->volume_monitor; +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = g_volume_monitor_get_volumes (_tmp0_); +#line 1978 "CameraTable.c" + { + GList* volume_collection = NULL; + GList* volume_it = NULL; +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + volume_collection = _tmp1_; +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + for (volume_it = volume_collection; volume_it != NULL; volume_it = volume_it->next) { +#line 1986 "CameraTable.c" + GVolume* _tmp2_ = NULL; + GVolume* volume = NULL; +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = _g_object_ref0 ((GVolume*) volume_it->data); +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + volume = _tmp2_; +#line 1993 "CameraTable.c" + { + GVolume* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 226 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = volume; +#line 226 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = g_volume_get_identifier (_tmp3_, G_VOLUME_IDENTIFIER_KIND_UUID); +#line 226 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = _tmp4_; +#line 226 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = uuid; +#line 226 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = g_strcmp0 (_tmp5_, _tmp6_) == 0; +#line 226 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp5_); +#line 226 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp7_) { +#line 2014 "CameraTable.c" + GVolume* _tmp8_ = NULL; + GIcon* _tmp9_ = NULL; + GIcon* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp8_ = volume; +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp9_ = g_volume_get_icon (_tmp8_); +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp10_ = _tmp9_; +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp11_ = g_icon_to_string (_tmp10_); +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp12_ = _tmp11_; +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_tmp10_); +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = _tmp12_; +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (volume); +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + __g_list_free__g_object_unref0_0 (volume_collection); +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 2040 "CameraTable.c" + } +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (volume); +#line 2044 "CameraTable.c" + } + } +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + __g_list_free__g_object_unref0_0 (volume_collection); +#line 2049 "CameraTable.c" + } +#line 230 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = NULL; +#line 230 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 2055 "CameraTable.c" +} + + +static gpointer _discovered_camera_ref0 (gpointer self) { +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return self ? discovered_camera_ref (self) : NULL; +#line 2062 "CameraTable.c" +} + + +static void _vala_array_add142 (DiscoveredCamera*** array, int* length, int* size, DiscoveredCamera* value) { +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if ((*length) == (*size)) { +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *array = g_renew (DiscoveredCamera*, *array, (*size) + 1); +#line 2073 "CameraTable.c" + } +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (*array)[(*length)++] = value; +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (*array)[*length] = NULL; +#line 2079 "CameraTable.c" +} + + +static void camera_table_update_camera_table (CameraTable* self, GError** error) { + GPPortInfoList* port_info_list = NULL; + GPPortInfoList* _tmp0_ = NULL; + int _tmp1_ = 0; + GPPortInfoList* _tmp2_ = NULL; + int _tmp3_ = 0; + CameraList* camera_list = NULL; + CameraList* _tmp4_ = NULL; + int _tmp5_ = 0; + CameraAbilitiesList* _tmp6_ = NULL; + GPPortInfoList* _tmp7_ = NULL; + CameraList* _tmp8_ = NULL; + GPContext* _tmp9_ = NULL; + int _tmp10_ = 0; + GeeHashMap* detected_map = NULL; + GeeHashMap* _tmp11_ = NULL; + gchar** usb_cameras = NULL; + gint _tmp12_ = 0; + gchar** _tmp13_ = NULL; + gint usb_cameras_length1 = 0; + gint _usb_cameras_size_ = 0; + DiscoveredCamera** missing = NULL; + DiscoveredCamera** _tmp47_ = NULL; + gint missing_length1 = 0; + gint _missing_size_ = 0; + DiscoveredCamera** _tmp80_ = NULL; + gint _tmp80__length1 = 0; + GError * _inner_error_ = NULL; +#line 233 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (IS_CAMERA_TABLE (self)); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = gp_port_info_list_new (&_tmp0_); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + port_info_list = _tmp0_; +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp1_, "create port list", &_inner_error_); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2131 "CameraTable.c" + } else { +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.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 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2141 "CameraTable.c" + } + } +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = port_info_list; +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = gp_port_info_list_load (_tmp2_); +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp3_, "load port list", &_inner_error_); +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2160 "CameraTable.c" + } else { +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.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 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2170 "CameraTable.c" + } + } +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = gp_list_new (&_tmp4_); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_list = _tmp4_; +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp5_, "create camera list", &_inner_error_); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2193 "CameraTable.c" + } else { +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.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 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2205 "CameraTable.c" + } + } +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = self->priv->abilities_list; +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = port_info_list; +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp8_ = camera_list; +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp9_ = self->priv->null_context; +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp10_ = gp_abilities_list_detect (_tmp6_, _tmp7_, _tmp8_, _tmp9_); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp10_, "detect cameras", &_inner_error_); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2232 "CameraTable.c" + } else { +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.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 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2244 "CameraTable.c" + } + } +#line 243 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp11_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 243 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + detected_map = _tmp11_; +#line 246 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp13_ = camera_table_get_all_usb_cameras (self, &_tmp12_); +#line 246 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = _tmp13_; +#line 246 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras_length1 = _tmp12_; +#line 246 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _usb_cameras_size_ = usb_cameras_length1; +#line 2259 "CameraTable.c" + { + gint ctr = 0; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + ctr = 0; +#line 2264 "CameraTable.c" + { + gboolean _tmp14_ = FALSE; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp14_ = TRUE; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + while (TRUE) { +#line 2271 "CameraTable.c" + gint _tmp16_ = 0; + CameraList* _tmp17_ = NULL; + gint _tmp18_ = 0; + gchar* name = NULL; + CameraList* _tmp19_ = NULL; + gint _tmp20_ = 0; + const gchar* _tmp21_ = NULL; + int _tmp22_ = 0; + gchar* _tmp23_ = NULL; + gchar* port = NULL; + CameraList* _tmp24_ = NULL; + gint _tmp25_ = 0; + const gchar* _tmp26_ = NULL; + int _tmp27_ = 0; + gchar* _tmp28_ = NULL; + gint _tmp29_ = 0; + CameraList* _tmp30_ = NULL; + gint _tmp31_ = 0; + const gchar* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; + GeeHashMap* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!_tmp14_) { +#line 2299 "CameraTable.c" + gint _tmp15_ = 0; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp15_ = ctr; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + ctr = _tmp15_ + 1; +#line 2305 "CameraTable.c" + } +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp14_ = FALSE; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp16_ = ctr; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp17_ = camera_list; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp18_ = gp_list_count (_tmp17_); +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!(_tmp16_ < _tmp18_)) { +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + break; +#line 2319 "CameraTable.c" + } +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp19_ = camera_list; +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp20_ = ctr; +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp22_ = gp_list_get_name (_tmp19_, _tmp20_, &_tmp21_); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp23_ = g_strdup (_tmp21_); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + name = _tmp23_; +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp22_, "get detected camera name", &_inner_error_); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2353 "CameraTable.c" + } else { +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.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 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2371 "CameraTable.c" + } + } +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp24_ = camera_list; +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp25_ = ctr; +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp27_ = gp_list_get_value (_tmp24_, _tmp25_, &_tmp26_); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp28_ = g_strdup (_tmp26_); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + port = _tmp28_; +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp27_, "get detected camera port", &_inner_error_); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2408 "CameraTable.c" + } else { +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.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 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2428 "CameraTable.c" + } + } +#line 256 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp29_ = ctr; +#line 256 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp30_ = camera_list; +#line 256 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp31_ = gp_list_count (_tmp30_); +#line 256 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp32_ = name; +#line 256 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp33_ = port; +#line 256 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:256: Detected %d/%d %s @ %s", _tmp29_ + 1, _tmp31_, _tmp32_, _tmp33_); +#line 259 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp34_ = port; +#line 259 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp35_ = g_str_has_prefix (_tmp34_, "usb:"); +#line 259 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp35_) { +#line 2449 "CameraTable.c" + gchar* full_port = NULL; + CameraList* _tmp36_ = NULL; + gint _tmp37_ = 0; + gchar** _tmp38_ = NULL; + gint _tmp38__length1 = 0; + const gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gboolean _tmp41_ = FALSE; + const gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp36_ = camera_list; +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp37_ = gp_list_count (_tmp36_); +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp38_ = usb_cameras; +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp38__length1 = usb_cameras_length1; +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp39_ = port; +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp41_ = camera_table_usb_esp (self, _tmp37_, _tmp38_, _tmp38__length1, _tmp39_, &_tmp40_); +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (full_port); +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + full_port = _tmp40_; +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!_tmp41_) { +#line 262 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (full_port); +#line 262 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 262 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 262 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + continue; +#line 2486 "CameraTable.c" + } +#line 264 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp42_ = full_port; +#line 264 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp43_ = g_strdup (_tmp42_); +#line 264 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 264 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + port = _tmp43_; +#line 259 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (full_port); +#line 2498 "CameraTable.c" + } +#line 267 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp44_ = detected_map; +#line 267 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp45_ = port; +#line 267 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp46_ = name; +#line 267 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp45_, _tmp46_); +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 2512 "CameraTable.c" + } + } + } +#line 271 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp47_ = g_new0 (DiscoveredCamera*, 0 + 1); +#line 271 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = _tmp47_; +#line 271 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing_length1 = 0; +#line 271 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _missing_size_ = missing_length1; +#line 2524 "CameraTable.c" + { + GeeIterator* _camera_it = NULL; + GeeHashMap* _tmp48_ = NULL; + GeeCollection* _tmp49_ = NULL; + GeeCollection* _tmp50_ = NULL; + GeeCollection* _tmp51_ = NULL; + GeeIterator* _tmp52_ = NULL; + GeeIterator* _tmp53_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp48_ = self->priv->camera_map; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp49_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, GEE_TYPE_MAP, GeeMap)); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp50_ = _tmp49_; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp51_ = _tmp50_; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp52_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp53_ = _tmp52_; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_tmp51_); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _camera_it = _tmp53_; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + while (TRUE) { +#line 2551 "CameraTable.c" + GeeIterator* _tmp54_ = NULL; + gboolean _tmp55_ = FALSE; + DiscoveredCamera* camera = NULL; + GeeIterator* _tmp56_ = NULL; + gpointer _tmp57_ = NULL; + GPPortInfo port_info = {0}; + gchar* tmp_path = NULL; + DiscoveredCamera* _tmp58_ = NULL; + Camera* _tmp59_ = NULL; + GPPortInfo _tmp60_ = {0}; + int _tmp61_ = 0; + const gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + CameraAbilities abilities = {0}; + DiscoveredCamera* _tmp64_ = NULL; + Camera* _tmp65_ = NULL; + CameraAbilities _tmp66_ = {0}; + int _tmp67_ = 0; + GeeHashMap* _tmp68_ = NULL; + const gchar* _tmp69_ = NULL; + gboolean _tmp70_ = FALSE; + CameraAbilities _tmp74_ = {0}; + const gchar* _tmp75_ = NULL; + const gchar* _tmp76_ = NULL; + DiscoveredCamera** _tmp77_ = NULL; + gint _tmp77__length1 = 0; + DiscoveredCamera* _tmp78_ = NULL; + DiscoveredCamera* _tmp79_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp54_ = _camera_it; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp55_ = gee_iterator_next (_tmp54_); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!_tmp55_) { +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + break; +#line 2588 "CameraTable.c" + } +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp56_ = _camera_it; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp57_ = gee_iterator_get (_tmp56_); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera = (DiscoveredCamera*) _tmp57_; +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp58_ = camera; +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp59_ = _tmp58_->gcamera; +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp61_ = gp_camera_get_port_info (_tmp59_, &_tmp60_); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + port_info = _tmp60_; +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp61_, "retrieve missing camera port information", &_inner_error_); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_camera_it); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2634 "CameraTable.c" + } else { +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_camera_it); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.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 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2660 "CameraTable.c" + } + } +#line 279 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + gp_port_info_get_path (port_info, &_tmp62_); +#line 279 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 279 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp63_ = g_strdup (_tmp62_); +#line 279 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + tmp_path = _tmp63_; +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp64_ = camera; +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp65_ = _tmp64_->gcamera; +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp67_ = gp_camera_get_abilities (_tmp65_, &_tmp66_); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + abilities = _tmp66_; +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp67_, "retrieve camera abilities", &_inner_error_); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_camera_it); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2711 "CameraTable.c" + } else { +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_camera_it); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.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 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2739 "CameraTable.c" + } + } +#line 284 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp68_ = detected_map; +#line 284 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp69_ = tmp_path; +#line 284 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp70_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp69_); +#line 284 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp70_) { +#line 2750 "CameraTable.c" + CameraAbilities _tmp71_ = {0}; + const gchar* _tmp72_ = NULL; + const gchar* _tmp73_ = NULL; +#line 285 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp71_ = abilities; +#line 285 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp72_ = _tmp71_.model; +#line 285 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp73_ = tmp_path; +#line 285 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:285: Found camera for %s @ %s in detected map", _tmp72_, _tmp73_); +#line 287 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 287 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 287 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 287 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 287 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + continue; +#line 2772 "CameraTable.c" + } +#line 290 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp74_ = abilities; +#line 290 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp75_ = _tmp74_.model; +#line 290 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp76_ = tmp_path; +#line 290 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:290: %s @ %s missing", _tmp75_, _tmp76_); +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp77_ = missing; +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp77__length1 = missing_length1; +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp78_ = camera; +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp79_ = _discovered_camera_ref0 (_tmp78_); +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _vala_array_add142 (&missing, &missing_length1, &_missing_size_, _tmp79_); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 2800 "CameraTable.c" + } +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_camera_it); +#line 2804 "CameraTable.c" + } +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp80_ = missing; +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp80__length1 = missing_length1; +#line 2810 "CameraTable.c" + { + DiscoveredCamera** camera_collection = NULL; + gint camera_collection_length1 = 0; + gint _camera_collection_size_ = 0; + gint camera_it = 0; +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_collection = _tmp80_; +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_collection_length1 = _tmp80__length1; +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + for (camera_it = 0; camera_it < _tmp80__length1; camera_it = camera_it + 1) { +#line 2822 "CameraTable.c" + DiscoveredCamera* _tmp81_ = NULL; + DiscoveredCamera* camera = NULL; +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp81_ = _discovered_camera_ref0 (camera_collection[camera_it]); +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera = _tmp81_; +#line 2829 "CameraTable.c" + { + GPPortInfo port_info = {0}; + gchar* tmp_path = NULL; + DiscoveredCamera* _tmp82_ = NULL; + Camera* _tmp83_ = NULL; + GPPortInfo _tmp84_ = {0}; + int _tmp85_ = 0; + const gchar* _tmp86_ = NULL; + gchar* _tmp87_ = NULL; + CameraAbilities abilities = {0}; + DiscoveredCamera* _tmp88_ = NULL; + Camera* _tmp89_ = NULL; + CameraAbilities _tmp90_ = {0}; + int _tmp91_ = 0; + CameraAbilities _tmp92_ = {0}; + const gchar* _tmp93_ = NULL; + const gchar* _tmp94_ = NULL; + GeeHashMap* _tmp95_ = NULL; + const gchar* _tmp96_ = NULL; + gchar* _tmp97_ = NULL; + gchar* _tmp98_ = NULL; + DiscoveredCamera* _tmp99_ = NULL; +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp82_ = camera; +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp83_ = _tmp82_->gcamera; +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp85_ = gp_camera_get_port_info (_tmp83_, &_tmp84_); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + port_info = _tmp84_; +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp85_, "retrieve missing camera port information", &_inner_error_); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2888 "CameraTable.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.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 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2912 "CameraTable.c" + } + } +#line 302 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + gp_port_info_get_path (port_info, &_tmp86_); +#line 302 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 302 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp87_ = g_strdup (_tmp86_); +#line 302 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + tmp_path = _tmp87_; +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp88_ = camera; +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp89_ = _tmp88_->gcamera; +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp91_ = gp_camera_get_abilities (_tmp89_, &_tmp90_); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + abilities = _tmp90_; +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp91_, "retrieve missing camera abilities", &_inner_error_); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2961 "CameraTable.c" + } else { +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.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 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2987 "CameraTable.c" + } + } +#line 307 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp92_ = abilities; +#line 307 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp93_ = _tmp92_.model; +#line 307 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp94_ = tmp_path; +#line 307 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:307: Removing from camera table: %s @ %s", _tmp93_, _tmp94_); +#line 309 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp95_ = self->priv->camera_map; +#line 309 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp96_ = tmp_path; +#line 309 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp97_ = camera_table_get_port_uri (_tmp96_); +#line 309 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp98_ = _tmp97_; +#line 309 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp95_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp98_, NULL); +#line 309 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp98_); +#line 311 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp99_ = camera; +#line 311 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_emit_by_name (self, "camera-removed", _tmp99_); +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 3022 "CameraTable.c" + } + } + } + { + GeeIterator* _port_it = NULL; + GeeHashMap* _tmp100_ = NULL; + GeeSet* _tmp101_ = NULL; + GeeSet* _tmp102_ = NULL; + GeeSet* _tmp103_ = NULL; + GeeIterator* _tmp104_ = NULL; + GeeIterator* _tmp105_ = NULL; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp100_ = detected_map; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp101_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp100_, GEE_TYPE_MAP, GeeMap)); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp102_ = _tmp101_; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp103_ = _tmp102_; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp104_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp103_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp105_ = _tmp104_; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_tmp103_); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _port_it = _tmp105_; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + while (TRUE) { +#line 3052 "CameraTable.c" + GeeIterator* _tmp106_ = NULL; + gboolean _tmp107_ = FALSE; + gchar* port = NULL; + GeeIterator* _tmp108_ = NULL; + gpointer _tmp109_ = NULL; + gchar* name = NULL; + GeeHashMap* _tmp110_ = NULL; + const gchar* _tmp111_ = NULL; + gpointer _tmp112_ = NULL; + gchar* display_name = NULL; + gchar* icon = NULL; + gchar* uri = NULL; + const gchar* _tmp113_ = NULL; + gchar* _tmp114_ = NULL; + GeeHashMap* _tmp115_ = NULL; + const gchar* _tmp116_ = NULL; + gboolean _tmp117_ = FALSE; + gchar* path = NULL; + const gchar* _tmp120_ = NULL; + gchar* _tmp121_ = NULL; + const gchar* _tmp122_ = NULL; + const gchar* _tmp142_ = NULL; + gint index = 0; + GPPortInfoList* _tmp145_ = NULL; + const gchar* _tmp146_ = NULL; + gint _tmp147_ = 0; + gint _tmp148_ = 0; + GPPortInfo port_info = {0}; + gchar* tmp_path = NULL; + GPPortInfoList* _tmp153_ = NULL; + gint _tmp154_ = 0; + GPPortInfo _tmp155_ = {0}; + int _tmp156_ = 0; + const gchar* _tmp157_ = NULL; + gchar* _tmp158_ = NULL; + gchar* _tmp159_ = NULL; + const gchar* _tmp160_ = NULL; + gchar* _tmp161_ = NULL; + const gchar* _tmp162_ = NULL; + const gchar* _tmp163_ = NULL; + CameraAbilitiesList* _tmp164_ = NULL; + const gchar* _tmp165_ = NULL; + gint _tmp166_ = 0; + gint _tmp167_ = 0; + CameraAbilities camera_abilities = {0}; + CameraAbilitiesList* _tmp172_ = NULL; + gint _tmp173_ = 0; + CameraAbilities _tmp174_ = {0}; + int _tmp175_ = 0; + const gchar* _tmp176_ = NULL; + gchar* _tmp177_ = NULL; + gchar* _tmp178_ = NULL; + Camera* gcamera = NULL; + Camera* _tmp179_ = NULL; + int _tmp180_ = 0; + const gchar* _tmp181_ = NULL; + gchar* _tmp182_ = NULL; + gchar* _tmp183_ = NULL; + Camera* _tmp184_ = NULL; + CameraAbilities _tmp185_ = {0}; + int _tmp186_ = 0; + const gchar* _tmp187_ = NULL; + gchar* _tmp188_ = NULL; + gchar* _tmp189_ = NULL; + Camera* _tmp190_ = NULL; + GPPortInfo _tmp191_ = {0}; + int _tmp192_ = 0; + const gchar* _tmp193_ = NULL; + const gchar* _tmp194_ = NULL; + gchar* _tmp195_ = NULL; + gchar* _tmp196_ = NULL; + const gchar* _tmp197_ = NULL; + const gchar* _tmp198_ = NULL; + DiscoveredCamera* camera = NULL; + Camera* _tmp199_ = NULL; + const gchar* _tmp200_ = NULL; + const gchar* _tmp201_ = NULL; + const gchar* _tmp202_ = NULL; + DiscoveredCamera* _tmp203_ = NULL; + GeeHashMap* _tmp204_ = NULL; + const gchar* _tmp205_ = NULL; + DiscoveredCamera* _tmp206_ = NULL; + DiscoveredCamera* _tmp207_ = NULL; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp106_ = _port_it; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp107_ = gee_iterator_next (_tmp106_); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!_tmp107_) { +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + break; +#line 3144 "CameraTable.c" + } +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp108_ = _port_it; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp109_ = gee_iterator_get (_tmp108_); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + port = (gchar*) _tmp109_; +#line 316 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp110_ = detected_map; +#line 316 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp111_ = port; +#line 316 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp112_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp110_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp111_); +#line 316 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + name = (gchar*) _tmp112_; +#line 317 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + display_name = NULL; +#line 318 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + icon = NULL; +#line 319 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp113_ = port; +#line 319 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp114_ = camera_table_get_port_uri (_tmp113_); +#line 319 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + uri = _tmp114_; +#line 321 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp115_ = self->priv->camera_map; +#line 321 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp116_ = uri; +#line 321 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp117_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp115_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp116_); +#line 321 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp117_) { +#line 3178 "CameraTable.c" + const gchar* _tmp118_ = NULL; + const gchar* _tmp119_ = NULL; +#line 323 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp118_ = name; +#line 323 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp119_ = port; +#line 323 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:323: %s @ %s already registered, skipping", _tmp118_, _tmp119_); +#line 325 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 325 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 325 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 325 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 325 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 325 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + continue; +#line 3199 "CameraTable.c" + } +#line 329 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp120_ = port; +#line 329 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp121_ = camera_table_get_port_path (_tmp120_); +#line 329 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + path = _tmp121_; +#line 330 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp122_ = path; +#line 330 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (NULL != _tmp122_) { +#line 3211 "CameraTable.c" + GUdevDevice* device = NULL; + GUdevClient* _tmp123_ = NULL; + const gchar* _tmp124_ = NULL; + GUdevDevice* _tmp125_ = NULL; + gchar* serial = NULL; + GUdevDevice* _tmp126_ = NULL; + const gchar* _tmp127_ = NULL; + gchar* _tmp128_ = NULL; + const gchar* _tmp129_ = NULL; + const gchar* _tmp134_ = NULL; + const gchar* _tmp138_ = NULL; +#line 331 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp123_ = self->priv->client; +#line 331 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp124_ = path; +#line 331 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp125_ = g_udev_client_query_by_device_file (_tmp123_, _tmp124_); +#line 331 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + device = _tmp125_; +#line 332 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp126_ = device; +#line 332 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp127_ = g_udev_device_get_property (_tmp126_, "ID_SERIAL_SHORT"); +#line 332 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp128_ = g_strdup (_tmp127_); +#line 332 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + serial = _tmp128_; +#line 333 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp129_ = serial; +#line 333 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (NULL != _tmp129_) { +#line 3243 "CameraTable.c" + const gchar* _tmp130_ = NULL; + gchar* _tmp131_ = NULL; + const gchar* _tmp132_ = NULL; + gchar* _tmp133_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp130_ = serial; +#line 335 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp131_ = camera_table_get_name_for_uuid (self, _tmp130_); +#line 335 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 335 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + display_name = _tmp131_; +#line 336 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp132_ = serial; +#line 336 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp133_ = camera_table_get_icon_for_uuid (self, _tmp132_); +#line 336 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 336 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + icon = _tmp133_; +#line 3264 "CameraTable.c" + } +#line 338 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp134_ = display_name; +#line 338 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (NULL == _tmp134_) { +#line 3270 "CameraTable.c" + GUdevDevice* _tmp135_ = NULL; + const gchar* _tmp136_ = NULL; + gchar* _tmp137_ = NULL; +#line 339 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp135_ = device; +#line 339 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp136_ = g_udev_device_get_sysfs_attr (_tmp135_, "product"); +#line 339 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp137_ = g_strdup (_tmp136_); +#line 339 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 339 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + display_name = _tmp137_; +#line 3284 "CameraTable.c" + } +#line 341 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp138_ = display_name; +#line 341 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (NULL == _tmp138_) { +#line 3290 "CameraTable.c" + GUdevDevice* _tmp139_ = NULL; + const gchar* _tmp140_ = NULL; + gchar* _tmp141_ = NULL; +#line 342 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp139_ = device; +#line 342 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp140_ = g_udev_device_get_property (_tmp139_, "ID_MODEL"); +#line 342 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp141_ = g_strdup (_tmp140_); +#line 342 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 342 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + display_name = _tmp141_; +#line 3304 "CameraTable.c" + } +#line 330 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (serial); +#line 330 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (device); +#line 3310 "CameraTable.c" + } +#line 345 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp142_ = display_name; +#line 345 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (NULL == _tmp142_) { +#line 3316 "CameraTable.c" + const gchar* _tmp143_ = NULL; + gchar* _tmp144_ = NULL; +#line 347 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp143_ = name; +#line 347 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp144_ = g_strdup (_tmp143_); +#line 347 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 347 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + display_name = _tmp144_; +#line 3327 "CameraTable.c" + } +#line 350 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp145_ = port_info_list; +#line 350 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp146_ = port; +#line 350 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp147_ = gp_port_info_list_lookup_path (_tmp145_, _tmp146_); +#line 350 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + index = _tmp147_; +#line 351 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp148_ = index; +#line 351 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp148_ < 0) { +#line 3341 "CameraTable.c" + gint _tmp149_ = 0; + const gchar* _tmp150_ = NULL; + gchar* _tmp151_ = NULL; + gchar* _tmp152_ = NULL; +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp149_ = index; +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp150_ = port; +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp151_ = g_strdup_printf ("lookup port %s", _tmp150_); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp152_ = _tmp151_; +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, (int) _tmp149_, _tmp152_, &_inner_error_); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp152_); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3390 "CameraTable.c" + } else { +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.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 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3422 "CameraTable.c" + } + } + } +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp153_ = port_info_list; +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp154_ = index; +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp156_ = gp_port_info_list_get_info (_tmp153_, _tmp154_, &_tmp155_); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + port_info = _tmp155_; +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp157_ = port; +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp158_ = g_strdup_printf ("get port info for %s", _tmp157_); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp159_ = _tmp158_; +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp156_, _tmp159_, &_inner_error_); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp159_); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3482 "CameraTable.c" + } else { +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.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 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3518 "CameraTable.c" + } + } +#line 358 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + gp_port_info_get_path (port_info, &_tmp160_); +#line 358 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 358 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp161_ = g_strdup (_tmp160_); +#line 358 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + tmp_path = _tmp161_; +#line 361 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp162_ = port; +#line 361 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp163_ = tmp_path; +#line 361 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _vala_assert (g_strcmp0 (_tmp162_, _tmp163_) == 0, "port == tmp_path"); +#line 363 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp164_ = self->priv->abilities_list; +#line 363 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp165_ = name; +#line 363 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp166_ = gp_abilities_list_lookup_model (_tmp164_, _tmp165_); +#line 363 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + index = _tmp166_; +#line 364 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp167_ = index; +#line 364 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp167_ < 0) { +#line 3547 "CameraTable.c" + gint _tmp168_ = 0; + const gchar* _tmp169_ = NULL; + gchar* _tmp170_ = NULL; + gchar* _tmp171_ = NULL; +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp168_ = index; +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp169_ = name; +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp170_ = g_strdup_printf ("lookup camera model %s", _tmp169_); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp171_ = _tmp170_; +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, (int) _tmp168_, _tmp171_, &_inner_error_); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp171_); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3600 "CameraTable.c" + } else { +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.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 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3636 "CameraTable.c" + } + } + } +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp172_ = self->priv->abilities_list; +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp173_ = index; +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp175_ = gp_abilities_list_get_abilities (_tmp172_, _tmp173_, &_tmp174_); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_abilities = _tmp174_; +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp176_ = name; +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp177_ = g_strdup_printf ("lookup camera abilities for %s", _tmp176_); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp178_ = _tmp177_; +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp175_, _tmp178_, &_inner_error_); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp178_); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3698 "CameraTable.c" + } else { +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.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 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3736 "CameraTable.c" + } + } +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp180_ = gp_camera_new (&_tmp179_); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + gcamera = _tmp179_; +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp181_ = name; +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp182_ = g_strdup_printf ("create camera object for %s", _tmp181_); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp183_ = _tmp182_; +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp180_, _tmp183_, &_inner_error_); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp183_); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3795 "CameraTable.c" + } else { +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.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 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3835 "CameraTable.c" + } + } +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp184_ = gcamera; +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp185_ = camera_abilities; +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp186_ = gp_camera_set_abilities (_tmp184_, _tmp185_); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp187_ = name; +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp188_ = g_strdup_printf ("set camera abilities for %s", _tmp187_); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp189_ = _tmp188_; +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp186_, _tmp189_, &_inner_error_); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp189_); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3894 "CameraTable.c" + } else { +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.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 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3934 "CameraTable.c" + } + } +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp190_ = gcamera; +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp191_ = port_info; +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp192_ = gp_camera_set_port_info (_tmp190_, _tmp191_); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp193_ = name; +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp194_ = port; +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp195_ = g_strdup_printf ("set port info for %s on %s", _tmp193_, _tmp194_); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp196_ = _tmp195_; +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp192_, _tmp196_, &_inner_error_); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp196_); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3995 "CameraTable.c" + } else { +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.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 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 4035 "CameraTable.c" + } + } +#line 376 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp197_ = name; +#line 376 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp198_ = port; +#line 376 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:376: Adding to camera table: %s @ %s", _tmp197_, _tmp198_); +#line 378 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp199_ = gcamera; +#line 378 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp200_ = uri; +#line 378 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp201_ = display_name; +#line 378 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp202_ = icon; +#line 378 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp203_ = discovered_camera_new (_tmp199_, _tmp200_, _tmp201_, _tmp202_); +#line 378 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera = _tmp203_; +#line 379 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp204_ = self->priv->camera_map; +#line 379 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp205_ = uri; +#line 379 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp206_ = camera; +#line 379 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp204_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp205_, _tmp206_); +#line 381 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp207_ = camera; +#line 381 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_emit_by_name (self, "camera-added", _tmp207_); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 4090 "CameraTable.c" + } +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 4094 "CameraTable.c" + } +#line 233 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 233 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 233 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 233 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 233 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 4106 "CameraTable.c" +} + + +static void camera_table_on_udev_event (CameraTable* self, const gchar* action, GUdevDevice* device) { + const gchar* _tmp0_ = NULL; + GUdevDevice* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + OneShotScheduler* _tmp3_ = NULL; +#line 385 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (IS_CAMERA_TABLE (self)); +#line 385 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (action != NULL); +#line 385 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_UDEV_IS_DEVICE (device)); +#line 386 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = action; +#line 386 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = device; +#line 386 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = g_udev_device_get_name (_tmp1_); +#line 386 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:386: udev event: %s on %s", _tmp0_, _tmp2_); +#line 390 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = self->priv->camera_update_scheduler; +#line 390 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + one_shot_scheduler_after_timeout (_tmp3_, (guint) CAMERA_TABLE_UPDATE_DELAY_MSEC, TRUE); +#line 4133 "CameraTable.c" +} + + +void camera_table_on_volume_changed (CameraTable* self, GVolume* volume) { + OneShotScheduler* _tmp0_ = NULL; +#line 393 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (IS_CAMERA_TABLE (self)); +#line 393 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_IS_VOLUME (volume)); +#line 394 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = self->priv->camera_update_scheduler; +#line 394 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + one_shot_scheduler_after_timeout (_tmp0_, (guint) CAMERA_TABLE_UPDATE_DELAY_MSEC, TRUE); +#line 4147 "CameraTable.c" +} + + +static void camera_table_on_update_cameras (CameraTable* self) { + GError * _inner_error_ = NULL; +#line 397 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (IS_CAMERA_TABLE (self)); +#line 4155 "CameraTable.c" + { + CameraTable* _tmp0_ = NULL; + CameraTable* _tmp1_ = NULL; +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = camera_table_get_instance (); +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = _tmp0_; +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_update_camera_table (_tmp1_, &_inner_error_); +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _camera_table_unref0 (_tmp1_); +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 4171 "CameraTable.c" + goto __catch57_gphoto_error; + } +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 4180 "CameraTable.c" + } + } + goto __finally57; + __catch57_gphoto_error: + { + GError* err = NULL; + GError* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 398 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + err = _inner_error_; +#line 398 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _inner_error_ = NULL; +#line 401 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = err; +#line 401 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = _tmp2_->message; +#line 401 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_warning ("CameraTable.vala:401: Error updating camera table: %s", _tmp3_); +#line 398 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_error_free0 (err); +#line 4201 "CameraTable.c" + } + __finally57: +#line 398 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 398 "/home/jens/Source/shotwell/src/camera/CameraTable.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 398 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 398 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 4212 "CameraTable.c" + } +} + + +static void g_cclosure_user_marshal_VOID__DISCOVERED_CAMERA (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__DISCOVERED_CAMERA) (gpointer data1, gpointer arg_1, gpointer data2); + register GMarshalFunc_VOID__DISCOVERED_CAMERA callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (n_param_values == 2); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + data1 = closure->data; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + data2 = param_values->data[0].v_pointer; +#line 4232 "CameraTable.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + data1 = param_values->data[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + data2 = closure->data; +#line 4238 "CameraTable.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + callback = (GMarshalFunc_VOID__DISCOVERED_CAMERA) (marshal_data ? marshal_data : cc->callback); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + callback (data1, value_get_discovered_camera (param_values + 1), data2); +#line 4244 "CameraTable.c" +} + + +static void value_camera_table_init (GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 4251 "CameraTable.c" +} + + +static void value_camera_table_free_value (GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_unref (value->data[0].v_pointer); +#line 4260 "CameraTable.c" + } +} + + +static void value_camera_table_copy_value (const GValue* src_value, GValue* dest_value) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (src_value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + dest_value->data[0].v_pointer = camera_table_ref (src_value->data[0].v_pointer); +#line 4270 "CameraTable.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + dest_value->data[0].v_pointer = NULL; +#line 4274 "CameraTable.c" + } +} + + +static gpointer value_camera_table_peek_pointer (const GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return value->data[0].v_pointer; +#line 4282 "CameraTable.c" +} + + +static gchar* value_camera_table_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (collect_values[0].v_pointer) { +#line 4289 "CameraTable.c" + CameraTable* object; + object = collect_values[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (object->parent_instance.g_class == NULL) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4296 "CameraTable.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.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 4300 "CameraTable.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = camera_table_ref (object); +#line 4304 "CameraTable.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 4308 "CameraTable.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return NULL; +#line 4312 "CameraTable.c" +} + + +static gchar* value_camera_table_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + CameraTable** object_p; + object_p = collect_values[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!object_p) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 4323 "CameraTable.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *object_p = NULL; +#line 4329 "CameraTable.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *object_p = value->data[0].v_pointer; +#line 4333 "CameraTable.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *object_p = camera_table_ref (value->data[0].v_pointer); +#line 4337 "CameraTable.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return NULL; +#line 4341 "CameraTable.c" +} + + +GParamSpec* param_spec_camera_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecCameraTable* spec; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_CAMERA_TABLE), NULL); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return G_PARAM_SPEC (spec); +#line 4355 "CameraTable.c" +} + + +gpointer value_get_camera_table (const GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_CAMERA_TABLE), NULL); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return value->data[0].v_pointer; +#line 4364 "CameraTable.c" +} + + +void value_set_camera_table (GValue* value, gpointer v_object) { + CameraTable* old; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_CAMERA_TABLE)); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + old = value->data[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (v_object) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_CAMERA_TABLE)); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = v_object; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_ref (value->data[0].v_pointer); +#line 4384 "CameraTable.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 4388 "CameraTable.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (old) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_unref (old); +#line 4394 "CameraTable.c" + } +} + + +void value_take_camera_table (GValue* value, gpointer v_object) { + CameraTable* old; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_CAMERA_TABLE)); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + old = value->data[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (v_object) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_CAMERA_TABLE)); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = v_object; +#line 4413 "CameraTable.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 4417 "CameraTable.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (old) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_unref (old); +#line 4423 "CameraTable.c" + } +} + + +static void camera_table_class_init (CameraTableClass * klass) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_parent_class = g_type_class_peek_parent (klass); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + ((CameraTableClass *) klass)->finalize = camera_table_finalize; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_type_class_add_private (klass, sizeof (CameraTablePrivate)); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_new ("camera_added", TYPE_CAMERA_TABLE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__DISCOVERED_CAMERA, G_TYPE_NONE, 1, TYPE_DISCOVERED_CAMERA); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_new ("camera_removed", TYPE_CAMERA_TABLE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__DISCOVERED_CAMERA, G_TYPE_NONE, 1, TYPE_DISCOVERED_CAMERA); +#line 4439 "CameraTable.c" +} + + +static void camera_table_instance_init (CameraTable * self) { + GUdevClient* _tmp0_ = NULL; + GPContext* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv = CAMERA_TABLE_GET_PRIVATE (self); +#line 29 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = g_udev_client_new (CAMERA_TABLE_SUBSYSTEMS); +#line 29 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv->client = _tmp0_; +#line 30 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv->camera_update_scheduler = NULL; +#line 31 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = gp_context_new (); +#line 31 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv->null_context = _tmp1_; +#line 35 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, TYPE_DISCOVERED_CAMERA, (GBoxedCopyFunc) discovered_camera_ref, discovered_camera_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 35 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv->camera_map = _tmp2_; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->ref_count = 1; +#line 4465 "CameraTable.c" +} + + +static void camera_table_finalize (CameraTable* obj) { + CameraTable * self; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CAMERA_TABLE, CameraTable); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_handlers_destroy (self); +#line 29 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (self->priv->client); +#line 30 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _one_shot_scheduler_unref0 (self->priv->camera_update_scheduler); +#line 31 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_context_unref0 (self->priv->null_context); +#line 32 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_abilities_list_free0 (self->priv->abilities_list); +#line 33 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (self->priv->volume_monitor); +#line 35 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (self->priv->camera_map); +#line 4487 "CameraTable.c" +} + + +GType camera_table_get_type (void) { + static volatile gsize camera_table_type_id__volatile = 0; + if (g_once_init_enter (&camera_table_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_camera_table_init, value_camera_table_free_value, value_camera_table_copy_value, value_camera_table_peek_pointer, "p", value_camera_table_collect_value, "p", value_camera_table_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (CameraTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) camera_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CameraTable), 0, (GInstanceInitFunc) camera_table_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 camera_table_type_id; + camera_table_type_id = g_type_register_fundamental (g_type_fundamental_next (), "CameraTable", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&camera_table_type_id__volatile, camera_table_type_id); + } + return camera_table_type_id__volatile; +} + + +gpointer camera_table_ref (gpointer instance) { + CameraTable* self; + self = instance; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_atomic_int_inc (&self->ref_count); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return instance; +#line 4512 "CameraTable.c" +} + + +void camera_table_unref (gpointer instance) { + CameraTable* self; + self = instance; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + CAMERA_TABLE_GET_CLASS (self)->finalize (self); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 4525 "CameraTable.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); +} + + + |