summaryrefslogtreecommitdiff
path: root/src/LibraryMonitor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/LibraryMonitor.c')
-rw-r--r--src/LibraryMonitor.c8885
1 files changed, 8885 insertions, 0 deletions
diff --git a/src/LibraryMonitor.c b/src/LibraryMonitor.c
new file mode 100644
index 0000000..d7cdd2e
--- /dev/null
+++ b/src/LibraryMonitor.c
@@ -0,0 +1,8885 @@
+/* LibraryMonitor.c generated by valac 0.32.1, the Vala compiler
+ * generated from LibraryMonitor.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU LGPL (version 2.1 or later).
+ * See the COPYING file in this distribution.
+ */
+/**/
+/* LibraryMonitor uses DirectoryMonitor to track assets in the user's library directory and make*/
+/* sure they're reflected in the application.*/
+/**/
+/* NOTE: There appears to be a bug where prior versions of Shotwell (<= 0.6.x) were not*/
+/* properly loading the file modification timestamp during import. This was no issue*/
+/* before but becomes imperative now with file monitoring. A "proper" algorithm is*/
+/* to reimport an entire photo if the modification time in the database is different*/
+/* than the file's, but that's Real Bad when the user first turns on monitoring, as it*/
+/* will cause a lot of reimports (think of a 10,000 photo database) and will blow away*/
+/* ALL transformations, as they are now suspect.*/
+/**/
+/* So: If the modification time is zero and filesize is the same, simply update the*/
+/* timestamp in the database and move on.*/
+/**/
+/* TODO: Although it seems highly unlikely that a file's timestamp could change but the file size*/
+/* has not and the file really be "changed", it *is* possible, even in the case of complex little*/
+/* animals like photo files. We could be more liberal and treat this case as a metadata-changed*/
+/* situation (since that's a likely case).*/
+/**/
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gio/gio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+#include <time.h>
+#include <gobject/gvaluecollector.h>
+
+
+#define TYPE_LIBRARY_MONITOR_POOL (library_monitor_pool_get_type ())
+#define LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPool))
+#define LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass))
+#define IS_LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR_POOL))
+#define IS_LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR_POOL))
+#define LIBRARY_MONITOR_POOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass))
+
+typedef struct _LibraryMonitorPool LibraryMonitorPool;
+typedef struct _LibraryMonitorPoolClass LibraryMonitorPoolClass;
+typedef struct _LibraryMonitorPoolPrivate LibraryMonitorPoolPrivate;
+
+#define TYPE_DIRECTORY_MONITOR (directory_monitor_get_type ())
+#define DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitor))
+#define DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass))
+#define IS_DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECTORY_MONITOR))
+#define IS_DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECTORY_MONITOR))
+#define DIRECTORY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass))
+
+typedef struct _DirectoryMonitor DirectoryMonitor;
+typedef struct _DirectoryMonitorClass DirectoryMonitorClass;
+
+#define TYPE_LIBRARY_MONITOR (library_monitor_get_type ())
+#define LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitor))
+#define LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR, LibraryMonitorClass))
+#define IS_LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR))
+#define IS_LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR))
+#define LIBRARY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitorClass))
+
+typedef struct _LibraryMonitor LibraryMonitor;
+typedef struct _LibraryMonitorClass LibraryMonitorClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _library_monitor_pool_unref0(var) ((var == NULL) ? NULL : (var = (library_monitor_pool_unref (var), NULL)))
+typedef struct _ParamSpecLibraryMonitorPool ParamSpecLibraryMonitorPool;
+typedef struct _DirectoryMonitorPrivate DirectoryMonitorPrivate;
+typedef struct _LibraryMonitorPrivate LibraryMonitorPrivate;
+
+#define TYPE_WORKERS (workers_get_type ())
+#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers))
+#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass))
+#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS))
+#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS))
+#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass))
+
+typedef struct _Workers Workers;
+typedef struct _WorkersClass WorkersClass;
+
+#define TYPE_MEDIA_MONITOR (media_monitor_get_type ())
+#define MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_MONITOR, MediaMonitor))
+#define MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_MONITOR, MediaMonitorClass))
+#define IS_MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_MONITOR))
+#define IS_MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_MONITOR))
+#define MEDIA_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_MONITOR, MediaMonitorClass))
+
+typedef struct _MediaMonitor MediaMonitor;
+typedef struct _MediaMonitorClass MediaMonitorClass;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
+#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
+#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
+#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
+#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+
+typedef struct _ThumbnailSource ThumbnailSource;
+typedef struct _ThumbnailSourceClass ThumbnailSourceClass;
+
+#define TYPE_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+
+#define TYPE_MONITORABLE (monitorable_get_type ())
+#define MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE, Monitorable))
+#define IS_MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE))
+#define MONITORABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MONITORABLE, MonitorableIface))
+
+typedef struct _Monitorable Monitorable;
+typedef struct _MonitorableIface MonitorableIface;
+
+#define TYPE_BATCH_IMPORT (batch_import_get_type ())
+#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport))
+#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass))
+#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT))
+#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT))
+#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass))
+
+typedef struct _BatchImport BatchImport;
+typedef struct _BatchImportClass BatchImportClass;
+
+#define TYPE_BATCH_IMPORT_ROLL (batch_import_roll_get_type ())
+#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll))
+#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass))
+#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL))
+#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL))
+#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass))
+
+typedef struct _BatchImportRoll BatchImportRoll;
+typedef struct _BatchImportRollClass BatchImportRollClass;
+
+#define LIBRARY_MONITOR_TYPE_VERIFY_JOB (library_monitor_verify_job_get_type ())
+#define LIBRARY_MONITOR_VERIFY_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_MONITOR_TYPE_VERIFY_JOB, LibraryMonitorVerifyJob))
+#define LIBRARY_MONITOR_VERIFY_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_MONITOR_TYPE_VERIFY_JOB, LibraryMonitorVerifyJobClass))
+#define LIBRARY_MONITOR_IS_VERIFY_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_MONITOR_TYPE_VERIFY_JOB))
+#define LIBRARY_MONITOR_IS_VERIFY_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_MONITOR_TYPE_VERIFY_JOB))
+#define LIBRARY_MONITOR_VERIFY_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_MONITOR_TYPE_VERIFY_JOB, LibraryMonitorVerifyJobClass))
+
+typedef struct _LibraryMonitorVerifyJob LibraryMonitorVerifyJob;
+typedef struct _LibraryMonitorVerifyJobClass LibraryMonitorVerifyJobClass;
+
+#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ())
+#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade))
+#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE))
+#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE))
+#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+
+typedef struct _ConfigurationFacade ConfigurationFacade;
+typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass;
+
+#define CONFIG_TYPE_FACADE (config_facade_get_type ())
+#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade))
+#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE))
+#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE))
+#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+
+typedef struct _ConfigFacade ConfigFacade;
+typedef struct _ConfigFacadeClass ConfigFacadeClass;
+
+#define TYPE_TIMED_QUEUE (timed_queue_get_type ())
+#define TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TIMED_QUEUE, TimedQueue))
+#define TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TIMED_QUEUE, TimedQueueClass))
+#define IS_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TIMED_QUEUE))
+#define IS_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TIMED_QUEUE))
+#define TIMED_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TIMED_QUEUE, TimedQueueClass))
+
+typedef struct _TimedQueue TimedQueue;
+typedef struct _TimedQueueClass TimedQueueClass;
+
+#define TYPE_HASH_TIMED_QUEUE (hash_timed_queue_get_type ())
+#define HASH_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HASH_TIMED_QUEUE, HashTimedQueue))
+#define HASH_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HASH_TIMED_QUEUE, HashTimedQueueClass))
+#define IS_HASH_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HASH_TIMED_QUEUE))
+#define IS_HASH_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HASH_TIMED_QUEUE))
+#define HASH_TIMED_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HASH_TIMED_QUEUE, HashTimedQueueClass))
+
+typedef struct _HashTimedQueue HashTimedQueue;
+typedef struct _HashTimedQueueClass HashTimedQueueClass;
+#define _workers_unref0(var) ((var == NULL) ? NULL : (var = (workers_unref (var), NULL)))
+#define _batch_import_roll_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_roll_unref (var), NULL)))
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
+#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
+#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
+#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
+#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+
+typedef struct _MediaSourceCollection MediaSourceCollection;
+typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ())
+#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry))
+#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+
+typedef struct _MediaCollectionRegistry MediaCollectionRegistry;
+typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass;
+#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL)))
+
+#define MEDIA_MONITOR_TYPE_DISCOVERED_FILE (media_monitor_discovered_file_get_type ())
+
+#define TYPE_TOMBSTONE_SOURCE_COLLECTION (tombstone_source_collection_get_type ())
+#define TOMBSTONE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollection))
+#define TOMBSTONE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollectionClass))
+#define IS_TOMBSTONE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION))
+#define IS_TOMBSTONE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE_SOURCE_COLLECTION))
+#define TOMBSTONE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollectionClass))
+
+typedef struct _TombstoneSourceCollection TombstoneSourceCollection;
+typedef struct _TombstoneSourceCollectionClass TombstoneSourceCollectionClass;
+
+#define TYPE_BACKGROUND_JOB (background_job_get_type ())
+#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob))
+#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass))
+#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB))
+#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB))
+#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass))
+
+typedef struct _BackgroundJob BackgroundJob;
+typedef struct _BackgroundJobClass BackgroundJobClass;
+
+#define LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB (library_monitor_find_move_job_get_type ())
+#define LIBRARY_MONITOR_FIND_MOVE_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, LibraryMonitorFindMoveJob))
+#define LIBRARY_MONITOR_FIND_MOVE_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, LibraryMonitorFindMoveJobClass))
+#define LIBRARY_MONITOR_IS_FIND_MOVE_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB))
+#define LIBRARY_MONITOR_IS_FIND_MOVE_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB))
+#define LIBRARY_MONITOR_FIND_MOVE_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, LibraryMonitorFindMoveJobClass))
+
+typedef struct _LibraryMonitorFindMoveJob LibraryMonitorFindMoveJob;
+typedef struct _LibraryMonitorFindMoveJobClass LibraryMonitorFindMoveJobClass;
+#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL)))
+typedef struct _LibraryMonitorAsyncDiscoveryCompletedData LibraryMonitorAsyncDiscoveryCompletedData;
+typedef struct _BackgroundJobPrivate BackgroundJobPrivate;
+
+#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ())
+typedef struct _LibraryMonitorFindMoveJobPrivate LibraryMonitorFindMoveJobPrivate;
+
+#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ())
+#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank))
+#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass))
+#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK))
+#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK))
+#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass))
+
+typedef struct _SourceHoldingTank SourceHoldingTank;
+typedef struct _SourceHoldingTankClass SourceHoldingTankClass;
+
+#define TYPE_DATABASE_SOURCE_HOLDING_TANK (database_source_holding_tank_get_type ())
+#define DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTank))
+#define DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass))
+#define IS_DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK))
+#define IS_DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK))
+#define DATABASE_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass))
+
+typedef struct _DatabaseSourceHoldingTank DatabaseSourceHoldingTank;
+typedef struct _DatabaseSourceHoldingTankClass DatabaseSourceHoldingTankClass;
+
+#define TYPE_MEDIA_SOURCE_HOLDING_TANK (media_source_holding_tank_get_type ())
+#define MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank))
+#define MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass))
+#define IS_MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK))
+#define IS_MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK))
+#define MEDIA_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass))
+
+typedef struct _MediaSourceHoldingTank MediaSourceHoldingTank;
+typedef struct _MediaSourceHoldingTankClass MediaSourceHoldingTankClass;
+#define _source_holding_tank_unref0(var) ((var == NULL) ? NULL : (var = (source_holding_tank_unref (var), NULL)))
+#define _library_monitor_verify_job_unref0(var) ((var == NULL) ? NULL : (var = (library_monitor_verify_job_unref (var), NULL)))
+typedef struct _LibraryMonitorVerifyJobPrivate LibraryMonitorVerifyJobPrivate;
+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
+typedef struct _LibraryMonitorVerifyMonitorableData LibraryMonitorVerifyMonitorableData;
+
+#define TYPE_BATCH_IMPORT_JOB (batch_import_job_get_type ())
+#define BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJob))
+#define BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass))
+#define IS_BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_JOB))
+#define IS_BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_JOB))
+#define BATCH_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass))
+
+typedef struct _BatchImportJob BatchImportJob;
+typedef struct _BatchImportJobClass BatchImportJobClass;
+
+#define TYPE_FILE_IMPORT_JOB (file_import_job_get_type ())
+#define FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FILE_IMPORT_JOB, FileImportJob))
+#define FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FILE_IMPORT_JOB, FileImportJobClass))
+#define IS_FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FILE_IMPORT_JOB))
+#define IS_FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FILE_IMPORT_JOB))
+#define FILE_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FILE_IMPORT_JOB, FileImportJobClass))
+
+typedef struct _FileImportJob FileImportJob;
+typedef struct _FileImportJobClass FileImportJobClass;
+#define _batch_import_job_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_job_unref (var), NULL)))
+
+#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ())
+#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest))
+#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass))
+#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST))
+#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST))
+#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass))
+
+typedef struct _ImportManifest ImportManifest;
+typedef struct _ImportManifestClass ImportManifestClass;
+typedef struct _ImportManifestPrivate ImportManifestPrivate;
+
+#define TYPE_BATCH_IMPORT_RESULT (batch_import_result_get_type ())
+#define BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResult))
+#define BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass))
+#define IS_BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_RESULT))
+#define IS_BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_RESULT))
+#define BATCH_IMPORT_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass))
+
+typedef struct _BatchImportResult BatchImportResult;
+typedef struct _BatchImportResultClass BatchImportResultClass;
+typedef struct _BatchImportResultPrivate BatchImportResultPrivate;
+
+#define TYPE_IMPORT_RESULT (import_result_get_type ())
+
+#define TYPE_DUPLICATED_FILE (duplicated_file_get_type ())
+#define DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DUPLICATED_FILE, DuplicatedFile))
+#define DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DUPLICATED_FILE, DuplicatedFileClass))
+#define IS_DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DUPLICATED_FILE))
+#define IS_DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DUPLICATED_FILE))
+#define DUPLICATED_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DUPLICATED_FILE, DuplicatedFileClass))
+
+typedef struct _DuplicatedFile DuplicatedFile;
+typedef struct _DuplicatedFileClass DuplicatedFileClass;
+#define _batch_import_result_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_result_unref (var), NULL)))
+
+#define TYPE_TOMBSTONED_FILE (tombstoned_file_get_type ())
+#define TOMBSTONED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONED_FILE, TombstonedFile))
+#define TOMBSTONED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONED_FILE, TombstonedFileClass))
+#define IS_TOMBSTONED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONED_FILE))
+#define IS_TOMBSTONED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONED_FILE))
+#define TOMBSTONED_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONED_FILE, TombstonedFileClass))
+
+typedef struct _TombstonedFile TombstonedFile;
+typedef struct _TombstonedFileClass TombstonedFileClass;
+#define _tombstoned_file_unref0(var) ((var == NULL) ? NULL : (var = (tombstoned_file_unref (var), NULL)))
+
+#define TOMBSTONE_TYPE_REASON (tombstone_reason_get_type ())
+
+#define LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB (library_monitor_runtime_find_move_job_get_type ())
+#define LIBRARY_MONITOR_RUNTIME_FIND_MOVE_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, LibraryMonitorRuntimeFindMoveJob))
+#define LIBRARY_MONITOR_RUNTIME_FIND_MOVE_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, LibraryMonitorRuntimeFindMoveJobClass))
+#define LIBRARY_MONITOR_IS_RUNTIME_FIND_MOVE_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB))
+#define LIBRARY_MONITOR_IS_RUNTIME_FIND_MOVE_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB))
+#define LIBRARY_MONITOR_RUNTIME_FIND_MOVE_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, LibraryMonitorRuntimeFindMoveJobClass))
+
+typedef struct _LibraryMonitorRuntimeFindMoveJob LibraryMonitorRuntimeFindMoveJob;
+typedef struct _LibraryMonitorRuntimeFindMoveJobClass LibraryMonitorRuntimeFindMoveJobClass;
+typedef struct _LibraryMonitorRuntimeFindMoveJobPrivate LibraryMonitorRuntimeFindMoveJobPrivate;
+
+#define TYPE_TOMBSTONE (tombstone_get_type ())
+#define TOMBSTONE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE, Tombstone))
+#define TOMBSTONE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE, TombstoneClass))
+#define IS_TOMBSTONE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE))
+#define IS_TOMBSTONE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE))
+#define TOMBSTONE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE, TombstoneClass))
+
+typedef struct _Tombstone Tombstone;
+typedef struct _TombstoneClass TombstoneClass;
+
+#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ())
+#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore))
+#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass))
+#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE))
+#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE))
+#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass))
+
+typedef struct _AbstractSemaphore AbstractSemaphore;
+typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass;
+typedef struct _LibraryMonitorParamSpecVerifyJob LibraryMonitorParamSpecVerifyJob;
+#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 _LibraryMonitorPool {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ LibraryMonitorPoolPrivate * priv;
+};
+
+struct _LibraryMonitorPoolClass {
+ GTypeClass parent_class;
+ void (*finalize) (LibraryMonitorPool *self);
+};
+
+struct _LibraryMonitorPoolPrivate {
+ LibraryMonitor* monitor;
+ guint timer_id;
+};
+
+struct _ParamSpecLibraryMonitorPool {
+ GParamSpec parent_instance;
+};
+
+struct _DirectoryMonitor {
+ GObject parent_instance;
+ DirectoryMonitorPrivate * priv;
+};
+
+struct _DirectoryMonitorClass {
+ GObjectClass parent_class;
+ void (*notify_root_deleted) (DirectoryMonitor* self, GFile* root);
+ void (*notify_root_moved) (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info);
+ void (*notify_discovery_started) (DirectoryMonitor* self);
+ void (*internal_notify_file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
+ void (*notify_file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
+ void (*internal_notify_directory_discovered) (DirectoryMonitor* self, GFile* dir, GFileInfo* info);
+ void (*notify_directory_discovered) (DirectoryMonitor* self, GFile* dir, GFileInfo* info);
+ void (*notify_discovery_failed) (DirectoryMonitor* self, const gchar* reason);
+ void (*notify_discovery_completed) (DirectoryMonitor* self);
+ void (*notify_file_created) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
+ void (*notify_file_moved) (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info);
+ void (*notify_file_altered) (DirectoryMonitor* self, GFile* file);
+ void (*notify_file_alteration_completed) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
+ void (*notify_file_attributes_altered) (DirectoryMonitor* self, GFile* file);
+ void (*notify_file_deleted) (DirectoryMonitor* self, GFile* file);
+ void (*notify_directory_created) (DirectoryMonitor* self, GFile* dir, GFileInfo* info);
+ void (*notify_directory_moved) (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info);
+ void (*notify_directory_altered) (DirectoryMonitor* self, GFile* dir);
+ void (*notify_directory_alteration_completed) (DirectoryMonitor* self, GFile* dir, GFileInfo* info);
+ void (*notify_directory_attributes_altered) (DirectoryMonitor* self, GFile* dir);
+ void (*notify_directory_deleted) (DirectoryMonitor* self, GFile* dir);
+ void (*notify_closed) (DirectoryMonitor* self);
+ void (*close) (DirectoryMonitor* self);
+ void (*root_moved) (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info);
+ void (*root_deleted) (DirectoryMonitor* self, GFile* root);
+ void (*discovery_started) (DirectoryMonitor* self);
+ void (*file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
+ void (*directory_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
+ void (*discovery_failed) (DirectoryMonitor* self, const gchar* reason);
+ void (*discovery_completed) (DirectoryMonitor* self);
+ void (*file_created) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
+ void (*file_moved) (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info);
+ void (*file_altered) (DirectoryMonitor* self, GFile* file);
+ void (*file_alteration_completed) (DirectoryMonitor* self, GFile* file, GFileInfo* info);
+ void (*file_attributes_altered) (DirectoryMonitor* self, GFile* file);
+ void (*file_deleted) (DirectoryMonitor* self, GFile* file);
+ void (*directory_created) (DirectoryMonitor* self, GFile* dir, GFileInfo* info);
+ void (*directory_moved) (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info);
+ void (*directory_altered) (DirectoryMonitor* self, GFile* dir);
+ void (*directory_alteration_completed) (DirectoryMonitor* self, GFile* dir, GFileInfo* info);
+ void (*directory_attributes_altered) (DirectoryMonitor* self, GFile* dir);
+ void (*directory_deleted) (DirectoryMonitor* self, GFile* dir);
+ void (*closed) (DirectoryMonitor* self);
+};
+
+struct _LibraryMonitor {
+ DirectoryMonitor parent_instance;
+ LibraryMonitorPrivate * priv;
+};
+
+struct _LibraryMonitorClass {
+ DirectoryMonitorClass parent_class;
+};
+
+struct _MonitorableIface {
+ GTypeInterface parent_iface;
+ gboolean (*is_offline) (Monitorable* self);
+ void (*mark_online) (Monitorable* self);
+ void (*mark_offline) (Monitorable* self);
+ void (*set_master_file) (Monitorable* self, GFile* file);
+ void (*set_master_timestamp) (Monitorable* self, GFileInfo* info);
+};
+
+struct _LibraryMonitorPrivate {
+ Workers* workers;
+ GCancellable* cancellable;
+ gboolean auto_import;
+ GeeHashSet* unknown_files;
+ GeeList* monitors;
+ GeeHashMap* discovered;
+ GeeHashSet* import_queue;
+ GeeHashSet* pending_imports;
+ GeeArrayList* batch_import_queue;
+ BatchImportRoll* current_import_roll;
+ time_t last_import_roll_use;
+ BatchImport* current_batch_import;
+ gint checksums_completed;
+ gint checksums_total;
+ guint import_queue_timer_id;
+ GeeQueue* verify_queue;
+ gint outstanding_verify_jobs;
+ gint completed_monitorable_verifies;
+ gint total_monitorable_verifies;
+};
+
+typedef void (*DequeuedCallback) (gconstpointer item, void* user_data);
+typedef enum {
+ MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED,
+ MEDIA_MONITOR_DISCOVERED_FILE_IGNORE,
+ MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN
+} MediaMonitorDiscoveredFile;
+
+struct _LibraryMonitorAsyncDiscoveryCompletedData {
+ int _state_;
+ GObject* _source_object_;
+ GAsyncResult* _res_;
+ GSimpleAsyncResult* _async_result;
+ LibraryMonitor* self;
+ GeeHashSet* _tmp0_;
+ gint _tmp1_;
+ gint _tmp2_;
+ GeeArrayList* all_candidates;
+ GeeArrayList* _tmp3_;
+ GeeArrayList* adopted;
+ GeeArrayList* _tmp4_;
+ GeeIterator* _file_it;
+ GeeHashSet* _tmp5_;
+ GeeIterator* _tmp6_;
+ GeeIterator* _tmp7_;
+ gboolean _tmp8_;
+ GFile* file;
+ GeeIterator* _tmp9_;
+ gpointer _tmp10_;
+ GFileInfo* info;
+ GFile* _tmp11_;
+ GFileInfo* _tmp12_;
+ GFileInfo* _tmp13_;
+ GeeArrayList* _tmp14_;
+ GeeCollection* candidates;
+ gboolean associated;
+ GeeList* _monitor_list;
+ GeeList* _tmp15_;
+ GeeList* _tmp16_;
+ gint _monitor_size;
+ GeeList* _tmp17_;
+ gint _tmp18_;
+ gint _tmp19_;
+ gint _monitor_index;
+ gint _tmp20_;
+ gint _tmp21_;
+ gint _tmp22_;
+ MediaMonitor* monitor;
+ GeeList* _tmp23_;
+ gint _tmp24_;
+ gpointer _tmp25_;
+ MediaMonitorDiscoveredFile _result_;
+ MediaMonitor* _tmp26_;
+ GFile* _tmp27_;
+ GFileInfo* _tmp28_;
+ MediaMonitorDiscoveredFile _tmp29_;
+ GeeCollection* _tmp30_;
+ gboolean _tmp31_;
+ MediaMonitorDiscoveredFile _tmp32_;
+ MediaMonitorDiscoveredFile _tmp33_;
+ GeeCollection* _tmp34_;
+ GeeArrayList* _tmp35_;
+ GeeCollection* _tmp36_;
+ gboolean _tmp37_;
+ GeeArrayList* _tmp38_;
+ GFile* _tmp39_;
+ GeeArrayList* _tmp40_;
+ gint _tmp41_;
+ gint _tmp42_;
+ GeeArrayList* job_candidates;
+ GeeArrayList* _tmp43_;
+ GeeArrayList* _tmp44_;
+ GeeArrayList* _tmp45_;
+ gint _tmp46_;
+ Workers* _tmp47_;
+ GFile* _tmp48_;
+ GeeArrayList* _tmp49_;
+ LibraryMonitorFindMoveJob* _tmp50_;
+ LibraryMonitorFindMoveJob* _tmp51_;
+ GeeHashSet* _tmp52_;
+ GeeArrayList* _tmp53_;
+ gint _tmp54_;
+ gint _tmp55_;
+ gchar* _tmp56_;
+ gchar* _tmp57_;
+ gint _tmp58_;
+ gint _tmp59_;
+};
+
+typedef enum {
+ BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100,
+ BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75,
+ BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50,
+ BACKGROUND_JOB_JOB_PRIORITY_LOW = 25,
+ BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0
+} BackgroundJobJobPriority;
+
+struct _BackgroundJob {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ BackgroundJobPrivate * priv;
+};
+
+struct _BackgroundJobClass {
+ GTypeClass parent_class;
+ void (*finalize) (BackgroundJob *self);
+ void (*execute) (BackgroundJob* self);
+ BackgroundJobJobPriority (*get_priority) (BackgroundJob* self);
+};
+
+struct _LibraryMonitorFindMoveJob {
+ BackgroundJob parent_instance;
+ LibraryMonitorFindMoveJobPrivate * priv;
+ GFile* file;
+ GeeCollection* candidates;
+ Monitorable* match;
+ GeeArrayList* losers;
+ GError* err;
+};
+
+struct _LibraryMonitorFindMoveJobClass {
+ BackgroundJobClass parent_class;
+};
+
+struct _LibraryMonitorVerifyJob {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ LibraryMonitorVerifyJobPrivate * priv;
+ Monitorable* monitorable;
+ MediaMonitor* monitor;
+};
+
+struct _LibraryMonitorVerifyJobClass {
+ GTypeClass parent_class;
+ void (*finalize) (LibraryMonitorVerifyJob *self);
+};
+
+struct _LibraryMonitorVerifyMonitorableData {
+ int _state_;
+ GObject* _source_object_;
+ GAsyncResult* _res_;
+ GSimpleAsyncResult* _async_result;
+ LibraryMonitor* self;
+ Monitorable* monitorable;
+ MediaMonitor* monitor;
+ GFile** files;
+ GFile** _tmp0_;
+ gint files_length1;
+ gint _files_size_;
+ GFile** _tmp1_;
+ gint _tmp1__length1;
+ MediaMonitor* _tmp2_;
+ Monitorable* _tmp3_;
+ GFile* _tmp4_;
+ GFile* _tmp5_;
+ GFile** aux_files;
+ MediaMonitor* _tmp6_;
+ Monitorable* _tmp7_;
+ gint _tmp8_;
+ GFile** _tmp9_;
+ gint aux_files_length1;
+ gint _aux_files_size_;
+ GFile** _tmp10_;
+ gint _tmp10__length1;
+ GFile** _tmp11_;
+ gint _tmp11__length1;
+ GFile** aux_file_collection;
+ gint aux_file_collection_length1;
+ gint _aux_file_collection_size_;
+ gint aux_file_it;
+ GFile* _tmp12_;
+ GFile* aux_file;
+ GFile** _tmp13_;
+ gint _tmp13__length1;
+ GFile* _tmp14_;
+ GFile* _tmp15_;
+ gint ctr;
+ gboolean _tmp16_;
+ gint _tmp17_;
+ gint _tmp18_;
+ GFile** _tmp19_;
+ gint _tmp19__length1;
+ GFile* file;
+ GFile** _tmp20_;
+ gint _tmp20__length1;
+ gint _tmp21_;
+ GFile* _tmp22_;
+ GFile* _tmp23_;
+ GFileInfo* info;
+ GFile* _tmp24_;
+ GFileInfo* _tmp25_;
+ GFileInfo* _tmp26_;
+ GFileInfo* _tmp27_;
+ GFile* _tmp28_;
+ GCancellable* _tmp29_;
+ GFileInfo* _tmp30_;
+ GFileInfo* _tmp31_;
+ GError* err;
+ gint _tmp32_;
+ gboolean _tmp33_;
+ GFileInfo* _tmp34_;
+ MediaMonitor* _tmp35_;
+ Monitorable* _tmp36_;
+ gboolean _tmp37_;
+ MediaMonitor* _tmp38_;
+ Monitorable* _tmp39_;
+ gboolean _tmp40_;
+ GFileInfo* _tmp41_;
+ MediaMonitor* _tmp42_;
+ Monitorable* _tmp43_;
+ gboolean _tmp44_;
+ MediaMonitor* _tmp45_;
+ Monitorable* _tmp46_;
+ MediaMonitor* _tmp47_;
+ Monitorable* _tmp48_;
+ GFile* _tmp49_;
+ GFileInfo* _tmp50_;
+ gint _tmp51_;
+ gint _tmp52_;
+ gint _tmp53_;
+ gint _tmp54_;
+ gint _tmp55_;
+ GError * _inner_error_;
+};
+
+typedef void (*BatchImportImportReporter) (ImportManifest* manifest, BatchImportRoll* import_roll, void* user_data);
+struct _ImportManifest {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ ImportManifestPrivate * priv;
+ GeeList* imported;
+ GeeList* success;
+ GeeList* camera_failed;
+ GeeList* failed;
+ GeeList* write_failed;
+ GeeList* skipped_photos;
+ GeeList* skipped_files;
+ GeeList* aborted;
+ GeeList* already_imported;
+ GeeList* corrupt_files;
+ GeeList* all;
+};
+
+struct _ImportManifestClass {
+ GTypeClass parent_class;
+ void (*finalize) (ImportManifest *self);
+};
+
+typedef enum {
+ IMPORT_RESULT_SUCCESS,
+ IMPORT_RESULT_FILE_ERROR,
+ IMPORT_RESULT_DECODE_ERROR,
+ IMPORT_RESULT_DATABASE_ERROR,
+ IMPORT_RESULT_USER_ABORT,
+ IMPORT_RESULT_NOT_A_FILE,
+ IMPORT_RESULT_PHOTO_EXISTS,
+ IMPORT_RESULT_UNSUPPORTED_FORMAT,
+ IMPORT_RESULT_NOT_AN_IMAGE,
+ IMPORT_RESULT_DISK_FAILURE,
+ IMPORT_RESULT_DISK_FULL,
+ IMPORT_RESULT_CAMERA_ERROR,
+ IMPORT_RESULT_FILE_WRITE_ERROR,
+ IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE
+} ImportResult;
+
+struct _BatchImportResult {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ BatchImportResultPrivate * priv;
+ BatchImportJob* job;
+ GFile* file;
+ gchar* src_identifier;
+ gchar* dest_identifier;
+ ImportResult result;
+ gchar* errmsg;
+ DuplicatedFile* duplicate_of;
+};
+
+struct _BatchImportResultClass {
+ GTypeClass parent_class;
+ void (*finalize) (BatchImportResult *self);
+};
+
+typedef enum {
+ TOMBSTONE_REASON_REMOVED_BY_USER = 0,
+ TOMBSTONE_REASON_AUTO_DETECTED_DUPLICATE = 1
+} TombstoneReason;
+
+typedef enum {
+ DATABASE_ERROR_ERROR,
+ DATABASE_ERROR_BACKING,
+ DATABASE_ERROR_MEMORY,
+ DATABASE_ERROR_ABORT,
+ DATABASE_ERROR_LIMITS,
+ DATABASE_ERROR_TYPESPEC
+} DatabaseError;
+#define DATABASE_ERROR database_error_quark ()
+struct _LibraryMonitorRuntimeFindMoveJob {
+ BackgroundJob parent_instance;
+ LibraryMonitorRuntimeFindMoveJobPrivate * priv;
+ GFile* file;
+ GeeCollection* candidates;
+ Monitorable* match;
+ GError* err;
+};
+
+struct _LibraryMonitorRuntimeFindMoveJobClass {
+ BackgroundJobClass parent_class;
+};
+
+typedef void (*CompletionCallback) (BackgroundJob* job, void* user_data);
+typedef void (*CancellationCallback) (BackgroundJob* job, void* user_data);
+struct _LibraryMonitorParamSpecVerifyJob {
+ GParamSpec parent_instance;
+};
+
+
+static gpointer library_monitor_pool_parent_class = NULL;
+static LibraryMonitorPool* library_monitor_pool_instance;
+static LibraryMonitorPool* library_monitor_pool_instance = NULL;
+static gpointer library_monitor_parent_class = NULL;
+static GeeHashSet* library_monitor_blacklist;
+static GRecMutex __lock_library_monitor_blacklist = {0};
+static GeeHashSet* library_monitor_blacklist = NULL;
+static HashTimedQueue* library_monitor_to_unblacklist;
+static HashTimedQueue* library_monitor_to_unblacklist = NULL;
+extern TombstoneSourceCollection* tombstone_global;
+extern gboolean commandline_options_no_runtime_monitoring;
+static gpointer library_monitor_find_move_job_parent_class = NULL;
+static gpointer library_monitor_runtime_find_move_job_parent_class = NULL;
+static gpointer library_monitor_verify_job_parent_class = NULL;
+
+gpointer library_monitor_pool_ref (gpointer instance);
+void library_monitor_pool_unref (gpointer instance);
+GParamSpec* param_spec_library_monitor_pool (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_library_monitor_pool (GValue* value, gpointer v_object);
+void value_take_library_monitor_pool (GValue* value, gpointer v_object);
+gpointer value_get_library_monitor_pool (const GValue* value);
+GType library_monitor_pool_get_type (void) G_GNUC_CONST;
+GType directory_monitor_get_type (void) G_GNUC_CONST;
+GType library_monitor_get_type (void) G_GNUC_CONST;
+#define LIBRARY_MONITOR_POOL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolPrivate))
+enum {
+ LIBRARY_MONITOR_POOL_DUMMY_PROPERTY
+};
+static LibraryMonitorPool* library_monitor_pool_new (void);
+static LibraryMonitorPool* library_monitor_pool_construct (GType object_type);
+void library_monitor_pool_init (void);
+void library_monitor_pool_terminate (void);
+static void library_monitor_pool_close (LibraryMonitorPool* self);
+LibraryMonitorPool* library_monitor_pool_get_instance (void);
+LibraryMonitor* library_monitor_pool_get_monitor (LibraryMonitorPool* self);
+void library_monitor_pool_replace (LibraryMonitorPool* self, LibraryMonitor* replacement, gint start_msec_delay);
+static gboolean library_monitor_pool_on_start_monitor (LibraryMonitorPool* self);
+static gboolean _library_monitor_pool_on_start_monitor_gsource_func (gpointer self);
+void directory_monitor_close (DirectoryMonitor* self);
+void directory_monitor_start_discovery (DirectoryMonitor* self);
+static void library_monitor_pool_finalize (LibraryMonitorPool* obj);
+gpointer workers_ref (gpointer instance);
+void workers_unref (gpointer instance);
+GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_workers (GValue* value, gpointer v_object);
+void value_take_workers (GValue* value, gpointer v_object);
+gpointer value_get_workers (const GValue* value);
+GType workers_get_type (void) G_GNUC_CONST;
+GType media_monitor_get_type (void) G_GNUC_CONST;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+GType media_source_get_type (void) G_GNUC_CONST;
+GType monitorable_get_type (void) G_GNUC_CONST;
+GType batch_import_get_type (void) G_GNUC_CONST;
+gpointer batch_import_roll_ref (gpointer instance);
+void batch_import_roll_unref (gpointer instance);
+GParamSpec* param_spec_batch_import_roll (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_batch_import_roll (GValue* value, gpointer v_object);
+void value_take_batch_import_roll (GValue* value, gpointer v_object);
+gpointer value_get_batch_import_roll (const GValue* value);
+GType batch_import_roll_get_type (void) G_GNUC_CONST;
+static gpointer library_monitor_verify_job_ref (gpointer instance);
+static void library_monitor_verify_job_unref (gpointer instance);
+static GParamSpec* library_monitor_param_spec_verify_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED;
+static void library_monitor_value_set_verify_job (GValue* value, gpointer v_object) G_GNUC_UNUSED;
+static void library_monitor_value_take_verify_job (GValue* value, gpointer v_object) G_GNUC_UNUSED;
+static gpointer library_monitor_value_get_verify_job (const GValue* value) G_GNUC_UNUSED;
+static GType library_monitor_verify_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+#define LIBRARY_MONITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_MONITOR, LibraryMonitorPrivate))
+enum {
+ LIBRARY_MONITOR_DUMMY_PROPERTY
+};
+GType configuration_facade_get_type (void) G_GNUC_CONST;
+GType config_facade_get_type (void) G_GNUC_CONST;
+ConfigFacade* config_facade_get_instance (void);
+static void library_monitor_on_config_changed (LibraryMonitor* self);
+static void _library_monitor_on_config_changed_configuration_facade_auto_import_from_library_changed (ConfigurationFacade* _sender, gpointer self);
+guint file_hash (GFile* file);
+static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self);
+gboolean file_equal (GFile* a, GFile* b);
+static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self);
+gpointer timed_queue_ref (gpointer instance);
+void timed_queue_unref (gpointer instance);
+GParamSpec* param_spec_timed_queue (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_timed_queue (GValue* value, gpointer v_object);
+void value_take_timed_queue (GValue* value, gpointer v_object);
+gpointer value_get_timed_queue (const GValue* value);
+GType timed_queue_get_type (void) G_GNUC_CONST;
+GType hash_timed_queue_get_type (void) G_GNUC_CONST;
+#define LIBRARY_MONITOR_MIN_BLACKLIST_DURATION_MSEC (5 * 1000)
+static void library_monitor_on_unblacklist_file (GFile* file);
+static void _library_monitor_on_unblacklist_file_dequeued_callback (gconstpointer item, gpointer self);
+HashTimedQueue* hash_timed_queue_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, guint hold_msec, DequeuedCallback callback, void* callback_target, GeeHashDataFunc hash_func, void* hash_func_target, GDestroyNotify hash_func_target_destroy_notify, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify, gint priority);
+HashTimedQueue* hash_timed_queue_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, guint hold_msec, DequeuedCallback callback, void* callback_target, GeeHashDataFunc hash_func, void* hash_func_target, GDestroyNotify hash_func_target_destroy_notify, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify, gint priority);
+guint workers_thread_per_cpu_minus_one (void);
+Workers* workers_new (guint max_threads, gboolean exclusive);
+Workers* workers_construct (GType object_type, guint max_threads, gboolean exclusive);
+#define LIBRARY_MONITOR_FLUSH_IMPORT_QUEUE_SEC 3
+#define LIBRARY_MONITOR_IMPORT_ROLL_QUIET_SEC (5 * 60)
+#define LIBRARY_MONITOR_MAX_VERIFY_EXISTING_MEDIA_JOBS 5
+LibraryMonitor* library_monitor_new (GFile* root, gboolean recurse, gboolean monitoring);
+LibraryMonitor* library_monitor_construct (GType object_type, GFile* root, gboolean recurse, gboolean monitoring);
+DirectoryMonitor* directory_monitor_new (GFile* root, gboolean recurse, gboolean monitoring);
+DirectoryMonitor* directory_monitor_construct (GType object_type, GFile* root, gboolean recurse, gboolean monitoring);
+gboolean configuration_facade_get_auto_import_from_library (ConfigurationFacade* self);
+static gboolean library_monitor_on_flush_import_queue (LibraryMonitor* self);
+static gboolean _library_monitor_on_flush_import_queue_gsource_func (gpointer self);
+static void library_monitor_real_close (DirectoryMonitor* base);
+void media_monitor_close (MediaMonitor* self);
+static void library_monitor_add_to_discovered_list (LibraryMonitor* self, MediaMonitor* monitor, Monitorable* monitorable);
+static MediaMonitor* library_monitor_get_monitor_for_monitorable (LibraryMonitor* self, Monitorable* monitorable);
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType media_source_collection_get_type (void) G_GNUC_CONST;
+MediaSourceCollection* media_monitor_get_media_source_collection (MediaMonitor* self);
+gboolean source_collection_holds_type_of_source (SourceCollection* self, DataSource* source);
+gchar* data_object_to_string (DataObject* self);
+static void library_monitor_real_discovery_started (DirectoryMonitor* base);
+gpointer media_collection_registry_ref (gpointer instance);
+void media_collection_registry_unref (gpointer instance);
+GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_media_collection_registry (GValue* value, gpointer v_object);
+void value_take_media_collection_registry (GValue* value, gpointer v_object);
+gpointer value_get_media_collection_registry (const GValue* value);
+GType media_collection_registry_get_type (void) G_GNUC_CONST;
+MediaCollectionRegistry* media_collection_registry_get_instance (void);
+GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self);
+MediaMonitor* media_source_collection_create_media_monitor (MediaSourceCollection* self, Workers* workers, GCancellable* cancellable);
+void media_monitor_notify_discovery_started (MediaMonitor* self);
+static void library_monitor_real_file_discovered (DirectoryMonitor* base, GFile* file, GFileInfo* info);
+GType media_monitor_discovered_file_get_type (void) G_GNUC_CONST;
+MediaMonitorDiscoveredFile media_monitor_notify_file_discovered (MediaMonitor* self, GFile* file, GFileInfo* info, Monitorable** monitorable);
+GType tombstone_source_collection_get_type (void) G_GNUC_CONST;
+gboolean tombstone_source_collection_matches (TombstoneSourceCollection* self, GFile* file);
+static gboolean library_monitor_is_supported_filetype (LibraryMonitor* self, GFile* file);
+static void library_monitor_real_discovery_completed (DirectoryMonitor* base);
+static void library_monitor_async_discovery_completed (LibraryMonitor* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
+static void library_monitor_async_discovery_completed_finish (LibraryMonitor* self, GAsyncResult* _res_);
+static void library_monitor_async_discovery_completed_data_free (gpointer _data);
+static gboolean library_monitor_async_discovery_completed_co (LibraryMonitorAsyncDiscoveryCompletedData* _data_);
+static void library_monitor_discovery_stage_completed (LibraryMonitor* self);
+GFileInfo* directory_monitor_get_file_info (DirectoryMonitor* self, GFile* file);
+GeeCollection* media_monitor_candidates_for_unknown_file (MediaMonitor* self, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_);
+gpointer background_job_ref (gpointer instance);
+void background_job_unref (gpointer instance);
+GParamSpec* param_spec_background_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_background_job (GValue* value, gpointer v_object);
+void value_take_background_job (GValue* value, gpointer v_object);
+gpointer value_get_background_job (const GValue* value);
+GType background_job_get_type (void) G_GNUC_CONST;
+void workers_enqueue (Workers* self, BackgroundJob* job);
+static LibraryMonitorFindMoveJob* library_monitor_find_move_job_new (LibraryMonitor* owner, GFile* file, GeeCollection* candidates);
+static LibraryMonitorFindMoveJob* library_monitor_find_move_job_construct (GType object_type, LibraryMonitor* owner, GFile* file, GeeCollection* candidates);
+static GType library_monitor_find_move_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+static gboolean _library_monitor_async_discovery_completed_co_gsource_func (gpointer self);
+void directory_monitor_mdbg (const gchar* msg);
+static void library_monitor_report_checksum_job_completed (LibraryMonitor* self);
+static void library_monitor_on_find_move_completed (LibraryMonitor* self, BackgroundJob* j);
+GType background_job_job_priority_get_type (void) G_GNUC_CONST;
+void media_monitor_update_master_file (MediaMonitor* self, Monitorable* monitorable, GFile* file);
+static void library_monitor_on_find_move_cancelled (LibraryMonitor* self, BackgroundJob* j);
+static void library_monitor_enqueue_verify_monitorable (LibraryMonitor* self, Monitorable* monitorable, MediaMonitor* monitor);
+GeeCollection* data_collection_get_all (DataCollection* self);
+gpointer source_holding_tank_ref (gpointer instance);
+void source_holding_tank_unref (gpointer instance);
+GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_source_holding_tank (GValue* value, gpointer v_object);
+void value_take_source_holding_tank (GValue* value, gpointer v_object);
+gpointer value_get_source_holding_tank (const GValue* value);
+GType source_holding_tank_get_type (void) G_GNUC_CONST;
+GType database_source_holding_tank_get_type (void) G_GNUC_CONST;
+GType media_source_holding_tank_get_type (void) G_GNUC_CONST;
+MediaSourceHoldingTank* media_source_collection_get_offline_bin (MediaSourceCollection* self);
+GeeCollection* source_holding_tank_get_all (SourceHoldingTank* self);
+static void library_monitor_enqueue_import_many (LibraryMonitor* self, GeeCollection* files);
+void tombstone_source_collection_launch_scan (TombstoneSourceCollection* self, DirectoryMonitor* monitor, GCancellable* cancellable);
+static LibraryMonitorVerifyJob* library_monitor_verify_job_new (Monitorable* monitorable, MediaMonitor* monitor);
+static LibraryMonitorVerifyJob* library_monitor_verify_job_construct (GType object_type, Monitorable* monitorable, MediaMonitor* monitor);
+static void library_monitor_execute_next_verify_job (LibraryMonitor* self);
+static void library_monitor_verify_monitorable (LibraryMonitor* self, Monitorable* monitorable, MediaMonitor* monitor, GAsyncReadyCallback _callback_, gpointer _user_data_);
+static void library_monitor_verify_monitorable_finish (LibraryMonitor* self, GAsyncResult* _res_);
+static void library_monitor_verify_monitorable_data_free (gpointer _data);
+static gboolean library_monitor_verify_monitorable_co (LibraryMonitorVerifyMonitorableData* _data_);
+GFile* media_monitor_get_master_file (MediaMonitor* self, Monitorable* monitorable);
+GFile** media_monitor_get_auxilliary_backing_files (MediaMonitor* self, Monitorable* monitorable, int* result_length1);
+static void _vala_array_add296 (GFile*** array, int* length, int* size, GFile* value);
+#define UTIL_FILE_ATTRIBUTES "standard::*,time::*,id::file,id::filesystem,etag::value"
+#define DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES UTIL_FILE_ATTRIBUTES
+#define DIRECTORY_MONITOR_FILE_INFO_FLAGS G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS
+#define DIRECTORY_MONITOR_DEFAULT_PRIORITY G_PRIORITY_LOW
+static void library_monitor_verify_monitorable_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
+gboolean media_monitor_is_offline (MediaMonitor* self, Monitorable* monitorable);
+void media_monitor_update_online (MediaMonitor* self, Monitorable* monitorable);
+void media_monitor_update_offline (MediaMonitor* self, Monitorable* monitorable);
+void media_monitor_update_backing_file_info (MediaMonitor* self, Monitorable* monitorable, GFile* file, GFileInfo* info);
+static gboolean _library_monitor_verify_monitorable_co_gsource_func (gpointer self);
+static void library_monitor_import_unrepresented_files (LibraryMonitor* self);
+static void library_monitor_cancel_batch_imports (LibraryMonitor* self);
+static void library_monitor_enqueue_import (LibraryMonitor* self, GFile* file);
+gboolean library_monitor_is_blacklisted (GFile* file);
+static void library_monitor_remove_queued_import (LibraryMonitor* self, GFile* file);
+gulong now_sec (void);
+BatchImportRoll* batch_import_roll_new (void);
+BatchImportRoll* batch_import_roll_construct (GType object_type);
+gpointer batch_import_job_ref (gpointer instance);
+void batch_import_job_unref (gpointer instance);
+GParamSpec* param_spec_batch_import_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_batch_import_job (GValue* value, gpointer v_object);
+void value_take_batch_import_job (GValue* value, gpointer v_object);
+gpointer value_get_batch_import_job (const GValue* value);
+GType batch_import_job_get_type (void) G_GNUC_CONST;
+FileImportJob* file_import_job_new (GFile* file_or_dir, gboolean copy_to_library);
+FileImportJob* file_import_job_construct (GType object_type, GFile* file_or_dir, gboolean copy_to_library);
+GType file_import_job_get_type (void) G_GNUC_CONST;
+gpointer import_manifest_ref (gpointer instance);
+void import_manifest_unref (gpointer instance);
+GParamSpec* param_spec_import_manifest (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_import_manifest (GValue* value, gpointer v_object);
+void value_take_import_manifest (GValue* value, gpointer v_object);
+gpointer value_get_import_manifest (const GValue* value);
+GType import_manifest_get_type (void) G_GNUC_CONST;
+BatchImport* batch_import_new (GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest);
+BatchImport* batch_import_construct (GType object_type, GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest);
+void batch_import_set_untrash_duplicates (BatchImport* self, gboolean untrash_duplicates);
+void batch_import_set_mark_duplicates_online (BatchImport* self, gboolean mark_duplicates_online);
+static void library_monitor_schedule_next_batch_import (LibraryMonitor* self);
+static void library_monitor_on_import_preparing (LibraryMonitor* self);
+static void _library_monitor_on_import_preparing_batch_import_preparing (BatchImport* _sender, gpointer self);
+static void library_monitor_on_import_progress (LibraryMonitor* self, guint64 completed_bytes, guint64 total_bytes);
+static void _library_monitor_on_import_progress_batch_import_progress (BatchImport* _sender, guint64 completed_bytes, guint64 total_bytes, gpointer self);
+static void library_monitor_on_import_complete (LibraryMonitor* self, BatchImport* batch_import, ImportManifest* manifest, BatchImportRoll* import_roll);
+static void _library_monitor_on_import_complete_batch_import_import_complete (BatchImport* _sender, ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self);
+void batch_import_schedule (BatchImport* self);
+static void library_monitor_discard_current_batch_import (LibraryMonitor* self);
+void batch_import_user_halt (BatchImport* self);
+gpointer batch_import_result_ref (gpointer instance);
+void batch_import_result_unref (gpointer instance);
+GParamSpec* param_spec_batch_import_result (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_batch_import_result (GValue* value, gpointer v_object);
+void value_take_batch_import_result (GValue* value, gpointer v_object);
+gpointer value_get_batch_import_result (const GValue* value);
+GType batch_import_result_get_type (void) G_GNUC_CONST;
+GType import_result_get_type (void) G_GNUC_CONST;
+GType duplicated_file_get_type (void) G_GNUC_CONST;
+gpointer tombstoned_file_ref (gpointer instance);
+void tombstoned_file_unref (gpointer instance);
+GParamSpec* param_spec_tombstoned_file (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_tombstoned_file (GValue* value, gpointer v_object);
+void value_take_tombstoned_file (GValue* value, gpointer v_object);
+gpointer value_get_tombstoned_file (const GValue* value);
+GType tombstoned_file_get_type (void) G_GNUC_CONST;
+TombstonedFile* tombstoned_file_new (GFile* file, gint64 filesize, const gchar* md5);
+TombstonedFile* tombstoned_file_construct (GType object_type, GFile* file, gint64 filesize, const gchar* md5);
+GType tombstone_reason_get_type (void) G_GNUC_CONST;
+GQuark database_error_quark (void);
+void tombstone_entomb_many_files (GeeCollection* files, TombstoneReason reason, GError** error);
+void app_window_database_error (GError* err);
+void library_monitor_blacklist_file (GFile* file, const gchar* reason);
+void library_monitor_unblacklist_file (GFile* file);
+gboolean timed_queue_contains (TimedQueue* self, gconstpointer item);
+gboolean timed_queue_enqueue (TimedQueue* self, gconstpointer item);
+MediaSourceCollection* media_collection_registry_get_collection_for_file (MediaCollectionRegistry* self, GFile* file);
+GeeCollection* directory_monitor_get_files (DirectoryMonitor* self);
+gboolean media_monitor_is_file_represented (MediaMonitor* self, GFile* file);
+static void library_monitor_runtime_unknown_file_discovered (LibraryMonitor* self, GFile* file);
+static void library_monitor_real_notify_file_created (DirectoryMonitor* base, GFile* file, GFileInfo* info);
+void directory_monitor_notify_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info);
+gboolean media_monitor_notify_file_created (MediaMonitor* self, GFile* file, GFileInfo* info);
+gchar* media_monitor_to_string (MediaMonitor* self);
+const gchar* media_monitor_discovered_file_to_string (MediaMonitorDiscoveredFile self);
+static LibraryMonitorRuntimeFindMoveJob* library_monitor_runtime_find_move_job_new (LibraryMonitor* owner, GFile* file, GeeCollection* candidates);
+static LibraryMonitorRuntimeFindMoveJob* library_monitor_runtime_find_move_job_construct (GType object_type, LibraryMonitor* owner, GFile* file, GeeCollection* candidates);
+static GType library_monitor_runtime_find_move_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+static void library_monitor_on_runtime_find_move_completed (LibraryMonitor* self, BackgroundJob* j);
+static void library_monitor_real_notify_file_moved (DirectoryMonitor* base, GFile* old_file, GFile* new_file, GFileInfo* new_info);
+void directory_monitor_notify_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info);
+gboolean media_monitor_notify_file_moved (MediaMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info);
+static void library_monitor_real_notify_file_altered (DirectoryMonitor* base, GFile* file);
+void directory_monitor_notify_file_altered (DirectoryMonitor* self, GFile* file);
+gboolean media_monitor_notify_file_altered (MediaMonitor* self, GFile* file);
+static void library_monitor_real_notify_file_attributes_altered (DirectoryMonitor* base, GFile* file);
+void directory_monitor_notify_file_attributes_altered (DirectoryMonitor* self, GFile* file);
+gboolean media_monitor_notify_file_attributes_altered (MediaMonitor* self, GFile* file);
+static void library_monitor_real_notify_file_alteration_completed (DirectoryMonitor* base, GFile* file, GFileInfo* info);
+void directory_monitor_notify_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info);
+gboolean media_monitor_notify_file_alteration_completed (MediaMonitor* self, GFile* file, GFileInfo* info);
+static void library_monitor_real_notify_file_deleted (DirectoryMonitor* base, GFile* file);
+void directory_monitor_notify_file_deleted (DirectoryMonitor* self, GFile* file);
+gboolean media_monitor_notify_file_deleted (MediaMonitor* self, GFile* file);
+GType tombstone_get_type (void) G_GNUC_CONST;
+Tombstone* tombstone_source_collection_locate (TombstoneSourceCollection* self, GFile* file);
+void tombstone_source_collection_resurrect (TombstoneSourceCollection* self, Tombstone* tombstone);
+static void g_cclosure_user_marshal_VOID__INT_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data);
+static void g_cclosure_user_marshal_VOID__UINT64_UINT64 (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data);
+enum {
+ LIBRARY_MONITOR_FIND_MOVE_JOB_DUMMY_PROPERTY
+};
+static void _library_monitor_on_find_move_completed_completion_callback (BackgroundJob* job, gpointer self);
+static void _library_monitor_on_find_move_cancelled_cancellation_callback (BackgroundJob* job, gpointer self);
+gpointer abstract_semaphore_ref (gpointer instance);
+void abstract_semaphore_unref (gpointer instance);
+GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_abstract_semaphore (GValue* value, gpointer v_object);
+void value_take_abstract_semaphore (GValue* value, gpointer v_object);
+gpointer value_get_abstract_semaphore (const GValue* value);
+GType abstract_semaphore_get_type (void) G_GNUC_CONST;
+BackgroundJob* background_job_construct (GType object_type, GObject* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, AbstractSemaphore* completion_semaphore);
+void background_job_set_completion_priority (BackgroundJob* self, gint priority);
+static void library_monitor_find_move_job_real_execute (BackgroundJob* base);
+GFile* media_source_get_master_file (MediaSource* self);
+gchar* md5_file (GFile* file, GError** error);
+gchar* media_source_get_master_md5 (MediaSource* self);
+static void library_monitor_find_move_job_finalize (BackgroundJob* obj);
+enum {
+ LIBRARY_MONITOR_RUNTIME_FIND_MOVE_JOB_DUMMY_PROPERTY
+};
+static void _library_monitor_on_runtime_find_move_completed_completion_callback (BackgroundJob* job, gpointer self);
+static void library_monitor_runtime_find_move_job_real_execute (BackgroundJob* base);
+static void library_monitor_runtime_find_move_job_finalize (BackgroundJob* obj);
+enum {
+ LIBRARY_MONITOR_VERIFY_JOB_DUMMY_PROPERTY
+};
+static void library_monitor_verify_job_finalize (LibraryMonitorVerifyJob* obj);
+static void library_monitor_finalize (GObject* 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 LibraryMonitorPool* library_monitor_pool_construct (GType object_type) {
+ LibraryMonitorPool* self = NULL;
+#line 38 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = (LibraryMonitorPool*) g_type_create_instance (object_type);
+#line 38 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return self;
+#line 1218 "LibraryMonitor.c"
+}
+
+
+static LibraryMonitorPool* library_monitor_pool_new (void) {
+#line 38 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return library_monitor_pool_construct (TYPE_LIBRARY_MONITOR_POOL);
+#line 1225 "LibraryMonitor.c"
+}
+
+
+void library_monitor_pool_init (void) {
+}
+
+
+void library_monitor_pool_terminate (void) {
+ LibraryMonitorPool* _tmp0_ = NULL;
+#line 45 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = library_monitor_pool_instance;
+#line 45 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp0_ != NULL) {
+#line 1239 "LibraryMonitor.c"
+ LibraryMonitorPool* _tmp1_ = NULL;
+#line 46 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = library_monitor_pool_instance;
+#line 46 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_pool_close (_tmp1_);
+#line 1245 "LibraryMonitor.c"
+ }
+#line 48 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _library_monitor_pool_unref0 (library_monitor_pool_instance);
+#line 48 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_pool_instance = NULL;
+#line 1251 "LibraryMonitor.c"
+}
+
+
+static gpointer _library_monitor_pool_ref0 (gpointer self) {
+#line 55 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return self ? library_monitor_pool_ref (self) : NULL;
+#line 1258 "LibraryMonitor.c"
+}
+
+
+LibraryMonitorPool* library_monitor_pool_get_instance (void) {
+ LibraryMonitorPool* result = NULL;
+ LibraryMonitorPool* _tmp0_ = NULL;
+ LibraryMonitorPool* _tmp2_ = NULL;
+ LibraryMonitorPool* _tmp3_ = NULL;
+#line 52 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = library_monitor_pool_instance;
+#line 52 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp0_ == NULL) {
+#line 1271 "LibraryMonitor.c"
+ LibraryMonitorPool* _tmp1_ = NULL;
+#line 53 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = library_monitor_pool_new ();
+#line 53 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _library_monitor_pool_unref0 (library_monitor_pool_instance);
+#line 53 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_pool_instance = _tmp1_;
+#line 1279 "LibraryMonitor.c"
+ }
+#line 55 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = library_monitor_pool_instance;
+#line 55 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = _library_monitor_pool_ref0 (_tmp2_);
+#line 55 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ result = _tmp3_;
+#line 55 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 1289 "LibraryMonitor.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 59 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 1296 "LibraryMonitor.c"
+}
+
+
+LibraryMonitor* library_monitor_pool_get_monitor (LibraryMonitorPool* self) {
+ LibraryMonitor* result = NULL;
+ LibraryMonitor* _tmp0_ = NULL;
+ LibraryMonitor* _tmp1_ = NULL;
+#line 58 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (IS_LIBRARY_MONITOR_POOL (self), NULL);
+#line 59 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->priv->monitor;
+#line 59 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 59 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ result = _tmp1_;
+#line 59 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 1314 "LibraryMonitor.c"
+}
+
+
+static gboolean _library_monitor_pool_on_start_monitor_gsource_func (gpointer self) {
+ gboolean result;
+ result = library_monitor_pool_on_start_monitor ((LibraryMonitorPool*) self);
+#line 68 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 1323 "LibraryMonitor.c"
+}
+
+
+void library_monitor_pool_replace (LibraryMonitorPool* self, LibraryMonitor* replacement, gint start_msec_delay) {
+ LibraryMonitor* _tmp0_ = NULL;
+ LibraryMonitor* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint _tmp3_ = 0;
+ LibraryMonitor* _tmp7_ = NULL;
+#line 63 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR_POOL (self));
+#line 63 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (replacement));
+#line 64 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_pool_close (self);
+#line 66 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = replacement;
+#line 66 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 66 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->monitor);
+#line 66 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->monitor = _tmp1_;
+#line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = start_msec_delay;
+#line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp3_ > 0) {
+#line 1351 "LibraryMonitor.c"
+ guint _tmp4_ = 0U;
+#line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = self->priv->timer_id;
+#line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = _tmp4_ == ((guint) 0);
+#line 1357 "LibraryMonitor.c"
+ } else {
+#line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = FALSE;
+#line 1361 "LibraryMonitor.c"
+ }
+#line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp2_) {
+#line 1365 "LibraryMonitor.c"
+ gint _tmp5_ = 0;
+ guint _tmp6_ = 0U;
+#line 68 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = start_msec_delay;
+#line 68 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) _tmp5_, _library_monitor_pool_on_start_monitor_gsource_func, library_monitor_pool_ref (self), library_monitor_pool_unref);
+#line 68 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->timer_id = _tmp6_;
+#line 1374 "LibraryMonitor.c"
+ }
+#line 70 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = self->priv->monitor;
+#line 70 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_emit_by_name (self, "monitor-installed", _tmp7_);
+#line 1380 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_pool_close (LibraryMonitorPool* self) {
+ LibraryMonitor* _tmp0_ = NULL;
+ LibraryMonitor* _tmp1_ = NULL;
+ LibraryMonitor* closed = NULL;
+ LibraryMonitor* _tmp2_ = NULL;
+ LibraryMonitor* _tmp3_ = NULL;
+ LibraryMonitor* _tmp4_ = NULL;
+#line 73 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR_POOL (self));
+#line 74 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->priv->monitor;
+#line 74 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp0_ == NULL) {
+#line 75 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 1399 "LibraryMonitor.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = self->priv->monitor;
+#line 77 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ directory_monitor_close (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor));
+#line 78 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = self->priv->monitor;
+#line 78 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 78 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ closed = _tmp3_;
+#line 79 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->monitor);
+#line 79 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->monitor = NULL;
+#line 81 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = closed;
+#line 81 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_emit_by_name (self, "monitor-destroyed", _tmp4_);
+#line 73 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (closed);
+#line 1421 "LibraryMonitor.c"
+}
+
+
+static gboolean library_monitor_pool_on_start_monitor (LibraryMonitorPool* self) {
+ gboolean result = FALSE;
+ LibraryMonitor* _tmp0_ = NULL;
+ LibraryMonitor* _tmp1_ = NULL;
+#line 84 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (IS_LIBRARY_MONITOR_POOL (self), FALSE);
+#line 86 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->timer_id = (guint) 0;
+#line 88 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->priv->monitor;
+#line 88 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp0_ == NULL) {
+#line 89 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ result = FALSE;
+#line 89 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 1441 "LibraryMonitor.c"
+ }
+#line 91 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = self->priv->monitor;
+#line 91 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ directory_monitor_start_discovery (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor));
+#line 93 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ result = FALSE;
+#line 93 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 1451 "LibraryMonitor.c"
+}
+
+
+static void value_library_monitor_pool_init (GValue* value) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value->data[0].v_pointer = NULL;
+#line 1458 "LibraryMonitor.c"
+}
+
+
+static void value_library_monitor_pool_free_value (GValue* value) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (value->data[0].v_pointer) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_pool_unref (value->data[0].v_pointer);
+#line 1467 "LibraryMonitor.c"
+ }
+}
+
+
+static void value_library_monitor_pool_copy_value (const GValue* src_value, GValue* dest_value) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (src_value->data[0].v_pointer) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ dest_value->data[0].v_pointer = library_monitor_pool_ref (src_value->data[0].v_pointer);
+#line 1477 "LibraryMonitor.c"
+ } else {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ dest_value->data[0].v_pointer = NULL;
+#line 1481 "LibraryMonitor.c"
+ }
+}
+
+
+static gpointer value_library_monitor_pool_peek_pointer (const GValue* value) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return value->data[0].v_pointer;
+#line 1489 "LibraryMonitor.c"
+}
+
+
+static gchar* value_library_monitor_pool_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (collect_values[0].v_pointer) {
+#line 1496 "LibraryMonitor.c"
+ LibraryMonitorPool* object;
+ object = collect_values[0].v_pointer;
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (object->parent_instance.g_class == NULL) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+#line 1503 "LibraryMonitor.c"
+ } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.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 1507 "LibraryMonitor.c"
+ }
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value->data[0].v_pointer = library_monitor_pool_ref (object);
+#line 1511 "LibraryMonitor.c"
+ } else {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value->data[0].v_pointer = NULL;
+#line 1515 "LibraryMonitor.c"
+ }
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return NULL;
+#line 1519 "LibraryMonitor.c"
+}
+
+
+static gchar* value_library_monitor_pool_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+ LibraryMonitorPool** object_p;
+ object_p = collect_values[0].v_pointer;
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!object_p) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
+#line 1530 "LibraryMonitor.c"
+ }
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!value->data[0].v_pointer) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ *object_p = NULL;
+#line 1536 "LibraryMonitor.c"
+ } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ *object_p = value->data[0].v_pointer;
+#line 1540 "LibraryMonitor.c"
+ } else {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ *object_p = library_monitor_pool_ref (value->data[0].v_pointer);
+#line 1544 "LibraryMonitor.c"
+ }
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return NULL;
+#line 1548 "LibraryMonitor.c"
+}
+
+
+GParamSpec* param_spec_library_monitor_pool (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
+ ParamSpecLibraryMonitorPool* spec;
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (g_type_is_a (object_type, TYPE_LIBRARY_MONITOR_POOL), NULL);
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ G_PARAM_SPEC (spec)->value_type = object_type;
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return G_PARAM_SPEC (spec);
+#line 1562 "LibraryMonitor.c"
+}
+
+
+gpointer value_get_library_monitor_pool (const GValue* value) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_LIBRARY_MONITOR_POOL), NULL);
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return value->data[0].v_pointer;
+#line 1571 "LibraryMonitor.c"
+}
+
+
+void value_set_library_monitor_pool (GValue* value, gpointer v_object) {
+ LibraryMonitorPool* old;
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_LIBRARY_MONITOR_POOL));
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ old = value->data[0].v_pointer;
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (v_object) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_LIBRARY_MONITOR_POOL));
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value->data[0].v_pointer = v_object;
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_pool_ref (value->data[0].v_pointer);
+#line 1591 "LibraryMonitor.c"
+ } else {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value->data[0].v_pointer = NULL;
+#line 1595 "LibraryMonitor.c"
+ }
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (old) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_pool_unref (old);
+#line 1601 "LibraryMonitor.c"
+ }
+}
+
+
+void value_take_library_monitor_pool (GValue* value, gpointer v_object) {
+ LibraryMonitorPool* old;
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_LIBRARY_MONITOR_POOL));
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ old = value->data[0].v_pointer;
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (v_object) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_LIBRARY_MONITOR_POOL));
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value->data[0].v_pointer = v_object;
+#line 1620 "LibraryMonitor.c"
+ } else {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value->data[0].v_pointer = NULL;
+#line 1624 "LibraryMonitor.c"
+ }
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (old) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_pool_unref (old);
+#line 1630 "LibraryMonitor.c"
+ }
+}
+
+
+static void library_monitor_pool_class_init (LibraryMonitorPoolClass * klass) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_pool_parent_class = g_type_class_peek_parent (klass);
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((LibraryMonitorPoolClass *) klass)->finalize = library_monitor_pool_finalize;
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_type_class_add_private (klass, sizeof (LibraryMonitorPoolPrivate));
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_new ("monitor_installed", TYPE_LIBRARY_MONITOR_POOL, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_LIBRARY_MONITOR);
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_new ("monitor_destroyed", TYPE_LIBRARY_MONITOR_POOL, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_LIBRARY_MONITOR);
+#line 1646 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_pool_instance_init (LibraryMonitorPool * self) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv = LIBRARY_MONITOR_POOL_GET_PRIVATE (self);
+#line 31 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->monitor = NULL;
+#line 32 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->timer_id = (guint) 0;
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->ref_count = 1;
+#line 1659 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_pool_finalize (LibraryMonitorPool* obj) {
+ LibraryMonitorPool * self;
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPool);
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_handlers_destroy (self);
+#line 31 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->monitor);
+#line 1671 "LibraryMonitor.c"
+}
+
+
+GType library_monitor_pool_get_type (void) {
+ static volatile gsize library_monitor_pool_type_id__volatile = 0;
+ if (g_once_init_enter (&library_monitor_pool_type_id__volatile)) {
+ static const GTypeValueTable g_define_type_value_table = { value_library_monitor_pool_init, value_library_monitor_pool_free_value, value_library_monitor_pool_copy_value, value_library_monitor_pool_peek_pointer, "p", value_library_monitor_pool_collect_value, "p", value_library_monitor_pool_lcopy_value };
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryMonitorPoolClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_monitor_pool_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryMonitorPool), 0, (GInstanceInitFunc) library_monitor_pool_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 library_monitor_pool_type_id;
+ library_monitor_pool_type_id = g_type_register_fundamental (g_type_fundamental_next (), "LibraryMonitorPool", &g_define_type_info, &g_define_type_fundamental_info, 0);
+ g_once_init_leave (&library_monitor_pool_type_id__volatile, library_monitor_pool_type_id);
+ }
+ return library_monitor_pool_type_id__volatile;
+}
+
+
+gpointer library_monitor_pool_ref (gpointer instance) {
+ LibraryMonitorPool* self;
+ self = instance;
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_atomic_int_inc (&self->ref_count);
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return instance;
+#line 1696 "LibraryMonitor.c"
+}
+
+
+void library_monitor_pool_unref (gpointer instance) {
+ LibraryMonitorPool* self;
+ self = instance;
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (g_atomic_int_dec_and_test (&self->ref_count)) {
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ LIBRARY_MONITOR_POOL_GET_CLASS (self)->finalize (self);
+#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_type_free_instance ((GTypeInstance *) self);
+#line 1709 "LibraryMonitor.c"
+ }
+}
+
+
+static void _library_monitor_on_config_changed_configuration_facade_auto_import_from_library_changed (ConfigurationFacade* _sender, gpointer self) {
+#line 247 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_on_config_changed ((LibraryMonitor*) self);
+#line 1717 "LibraryMonitor.c"
+}
+
+
+static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self) {
+ guint result;
+ result = file_hash ((GFile*) v);
+#line 206 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 1726 "LibraryMonitor.c"
+}
+
+
+static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) {
+ gboolean result;
+ result = file_equal ((GFile*) a, (GFile*) b);
+#line 206 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 1735 "LibraryMonitor.c"
+}
+
+
+static void _library_monitor_on_unblacklist_file_dequeued_callback (gconstpointer item, gpointer self) {
+#line 207 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_on_unblacklist_file ((GFile*) item);
+#line 1742 "LibraryMonitor.c"
+}
+
+
+static gboolean _library_monitor_on_flush_import_queue_gsource_func (gpointer self) {
+ gboolean result;
+ result = library_monitor_on_flush_import_queue ((LibraryMonitor*) self);
+#line 243 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 1751 "LibraryMonitor.c"
+}
+
+
+LibraryMonitor* library_monitor_construct (GType object_type, GFile* root, gboolean recurse, gboolean monitoring) {
+ LibraryMonitor * self = NULL;
+ GFile* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+ ConfigFacade* _tmp3_ = NULL;
+ ConfigFacade* _tmp4_ = NULL;
+ gboolean _tmp5_ = FALSE;
+ ConfigFacade* _tmp6_ = NULL;
+ ConfigFacade* _tmp7_ = NULL;
+ guint _tmp8_ = 0U;
+#line 236 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (G_IS_FILE (root), NULL);
+#line 237 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = root;
+#line 237 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = recurse;
+#line 237 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = monitoring;
+#line 237 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = (LibraryMonitor*) directory_monitor_construct (object_type, _tmp0_, _tmp1_, _tmp2_);
+#line 240 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = config_facade_get_instance ();
+#line 240 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _tmp3_;
+#line 240 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = configuration_facade_get_auto_import_from_library (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
+#line 240 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->auto_import = _tmp5_;
+#line 240 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp4_);
+#line 241 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = config_facade_get_instance ();
+#line 241 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = _tmp6_;
+#line 241 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), "auto-import-from-library-changed", (GCallback) _library_monitor_on_config_changed_configuration_facade_auto_import_from_library_changed, self, 0);
+#line 241 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp7_);
+#line 243 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, (guint) LIBRARY_MONITOR_FLUSH_IMPORT_QUEUE_SEC, _library_monitor_on_flush_import_queue_gsource_func, g_object_ref (self), g_object_unref);
+#line 243 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->import_queue_timer_id = _tmp8_;
+#line 236 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return self;
+#line 1800 "LibraryMonitor.c"
+}
+
+
+LibraryMonitor* library_monitor_new (GFile* root, gboolean recurse, gboolean monitoring) {
+#line 236 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return library_monitor_construct (TYPE_LIBRARY_MONITOR, root, recurse, monitoring);
+#line 1807 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_real_close (DirectoryMonitor* base) {
+ LibraryMonitor * self;
+ GCancellable* _tmp0_ = NULL;
+ guint _tmp13_ = 0U;
+#line 250 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor);
+#line 251 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->priv->cancellable;
+#line 251 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_cancellable_cancel (_tmp0_);
+#line 1821 "LibraryMonitor.c"
+ {
+ GeeList* _monitor_list = NULL;
+ GeeList* _tmp1_ = NULL;
+ GeeList* _tmp2_ = NULL;
+ gint _monitor_size = 0;
+ GeeList* _tmp3_ = NULL;
+ gint _tmp4_ = 0;
+ gint _tmp5_ = 0;
+ gint _monitor_index = 0;
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = self->priv->monitors;
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = _g_object_ref0 (_tmp1_);
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_list = _tmp2_;
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = _monitor_list;
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _tmp4_;
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_size = _tmp5_;
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = -1;
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 1849 "LibraryMonitor.c"
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+ MediaMonitor* monitor = NULL;
+ GeeList* _tmp9_ = NULL;
+ gint _tmp10_ = 0;
+ gpointer _tmp11_ = NULL;
+ MediaMonitor* _tmp12_ = NULL;
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = _monitor_index;
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = _tmp6_ + 1;
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = _monitor_index;
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = _monitor_size;
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp7_ < _tmp8_)) {
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 1870 "LibraryMonitor.c"
+ }
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _monitor_list;
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = _monitor_index;
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = gee_list_get (_tmp9_, _tmp10_);
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = (MediaMonitor*) _tmp11_;
+#line 254 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = monitor;
+#line 254 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ media_monitor_close (_tmp12_);
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 1886 "LibraryMonitor.c"
+ }
+#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitor_list);
+#line 1890 "LibraryMonitor.c"
+ }
+#line 256 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = self->priv->import_queue_timer_id;
+#line 256 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp13_ != ((guint) 0)) {
+#line 1896 "LibraryMonitor.c"
+ guint _tmp14_ = 0U;
+#line 257 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = self->priv->import_queue_timer_id;
+#line 257 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_source_remove (_tmp14_);
+#line 258 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->import_queue_timer_id = (guint) 0;
+#line 1904 "LibraryMonitor.c"
+ }
+#line 261 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->close (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor));
+#line 1908 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_add_to_discovered_list (LibraryMonitor* self, MediaMonitor* monitor, Monitorable* monitorable) {
+ GeeHashMap* _tmp0_ = NULL;
+ MediaMonitor* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ GeeHashMap* _tmp7_ = NULL;
+ MediaMonitor* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ GeeSet* _tmp10_ = NULL;
+ Monitorable* _tmp11_ = NULL;
+#line 264 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 264 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_MEDIA_MONITOR (monitor));
+#line 264 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_MONITORABLE (monitorable));
+#line 265 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->priv->discovered;
+#line 265 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = monitor;
+#line 265 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_);
+#line 265 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp2_) {
+#line 1935 "LibraryMonitor.c"
+ GeeHashMap* _tmp3_ = NULL;
+ MediaMonitor* _tmp4_ = NULL;
+ GeeHashSet* _tmp5_ = NULL;
+ GeeHashSet* _tmp6_ = NULL;
+#line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = self->priv->discovered;
+#line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = monitor;
+#line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = gee_hash_set_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = _tmp5_;
+#line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_SET, GeeSet));
+#line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp6_);
+#line 1952 "LibraryMonitor.c"
+ }
+#line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = self->priv->discovered;
+#line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = monitor;
+#line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp8_);
+#line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = (GeeSet*) _tmp9_;
+#line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = monitorable;
+#line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection), _tmp11_);
+#line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp10_);
+#line 1968 "LibraryMonitor.c"
+}
+
+
+static MediaMonitor* library_monitor_get_monitor_for_monitorable (LibraryMonitor* self, Monitorable* monitorable) {
+ MediaMonitor* result = NULL;
+ Monitorable* _tmp17_ = NULL;
+ gchar* _tmp18_ = NULL;
+ gchar* _tmp19_ = NULL;
+#line 271 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (IS_LIBRARY_MONITOR (self), NULL);
+#line 271 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (IS_MONITORABLE (monitorable), NULL);
+#line 1981 "LibraryMonitor.c"
+ {
+ GeeList* _monitor_list = NULL;
+ GeeList* _tmp0_ = NULL;
+ GeeList* _tmp1_ = NULL;
+ gint _monitor_size = 0;
+ GeeList* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ gint _tmp4_ = 0;
+ gint _monitor_index = 0;
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->priv->monitors;
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_list = _tmp1_;
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = _monitor_list;
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _tmp3_;
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_size = _tmp4_;
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = -1;
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 2009 "LibraryMonitor.c"
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+ MediaMonitor* monitor = NULL;
+ GeeList* _tmp8_ = NULL;
+ gint _tmp9_ = 0;
+ gpointer _tmp10_ = NULL;
+ MediaMonitor* _tmp11_ = NULL;
+ MediaSourceCollection* _tmp12_ = NULL;
+ MediaSourceCollection* _tmp13_ = NULL;
+ Monitorable* _tmp14_ = NULL;
+ gboolean _tmp15_ = FALSE;
+ gboolean _tmp16_ = FALSE;
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _monitor_index;
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = _tmp5_ + 1;
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = _monitor_index;
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = _monitor_size;
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp6_ < _tmp7_)) {
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 2035 "LibraryMonitor.c"
+ }
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = _monitor_list;
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _monitor_index;
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = gee_list_get (_tmp8_, _tmp9_);
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = (MediaMonitor*) _tmp10_;
+#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = monitor;
+#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = media_monitor_get_media_source_collection (_tmp11_);
+#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = _tmp12_;
+#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = monitorable;
+#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = source_collection_holds_type_of_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_SOURCE, DataSource));
+#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = _tmp15_;
+#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_collection_unref0 (_tmp13_);
+#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp16_) {
+#line 274 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ result = monitor;
+#line 274 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitor_list);
+#line 274 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 2067 "LibraryMonitor.c"
+ }
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 2071 "LibraryMonitor.c"
+ }
+#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitor_list);
+#line 2075 "LibraryMonitor.c"
+ }
+#line 277 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = monitorable;
+#line 277 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_OBJECT, DataObject));
+#line 277 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = _tmp18_;
+#line 277 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_error ("LibraryMonitor.vala:277: Unable to locate MediaMonitor for %s", _tmp19_);
+#line 277 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp19_);
+#line 2087 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_real_discovery_started (DirectoryMonitor* base) {
+ LibraryMonitor * self;
+ GeeHashMap* _tmp28_ = NULL;
+ GeeHashSet* _tmp29_ = NULL;
+#line 280 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor);
+#line 2097 "LibraryMonitor.c"
+ {
+ GeeIterator* _collection_it = NULL;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeCollection* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ GeeIterator* _tmp5_ = NULL;
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = _tmp0_;
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = media_collection_registry_get_all (_tmp1_);
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = _tmp2_;
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _tmp4_;
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp3_);
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _collection_it = _tmp5_;
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 2126 "LibraryMonitor.c"
+ GeeIterator* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+ MediaSourceCollection* collection = NULL;
+ GeeIterator* _tmp8_ = NULL;
+ gpointer _tmp9_ = NULL;
+ GeeList* _tmp10_ = NULL;
+ MediaSourceCollection* _tmp11_ = NULL;
+ Workers* _tmp12_ = NULL;
+ GCancellable* _tmp13_ = NULL;
+ MediaMonitor* _tmp14_ = NULL;
+ MediaMonitor* _tmp15_ = NULL;
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = _collection_it;
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = gee_iterator_next (_tmp6_);
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp7_) {
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 2146 "LibraryMonitor.c"
+ }
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = _collection_it;
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = gee_iterator_get (_tmp8_);
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ collection = (MediaSourceCollection*) _tmp9_;
+#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = self->priv->monitors;
+#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = collection;
+#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = self->priv->workers;
+#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = self->priv->cancellable;
+#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = media_source_collection_create_media_monitor (_tmp11_, _tmp12_, _tmp13_);
+#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = _tmp14_;
+#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection), _tmp15_);
+#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp15_);
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_collection_unref0 (collection);
+#line 2172 "LibraryMonitor.c"
+ }
+#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_collection_it);
+#line 2176 "LibraryMonitor.c"
+ }
+ {
+ GeeList* _monitor_list = NULL;
+ GeeList* _tmp16_ = NULL;
+ GeeList* _tmp17_ = NULL;
+ gint _monitor_size = 0;
+ GeeList* _tmp18_ = NULL;
+ gint _tmp19_ = 0;
+ gint _tmp20_ = 0;
+ gint _monitor_index = 0;
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = self->priv->monitors;
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = _g_object_ref0 (_tmp16_);
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_list = _tmp17_;
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = _monitor_list;
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp20_ = _tmp19_;
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_size = _tmp20_;
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = -1;
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 2205 "LibraryMonitor.c"
+ gint _tmp21_ = 0;
+ gint _tmp22_ = 0;
+ gint _tmp23_ = 0;
+ MediaMonitor* monitor = NULL;
+ GeeList* _tmp24_ = NULL;
+ gint _tmp25_ = 0;
+ gpointer _tmp26_ = NULL;
+ MediaMonitor* _tmp27_ = NULL;
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp21_ = _monitor_index;
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = _tmp21_ + 1;
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp22_ = _monitor_index;
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp23_ = _monitor_size;
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp22_ < _tmp23_)) {
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 2226 "LibraryMonitor.c"
+ }
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp24_ = _monitor_list;
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp25_ = _monitor_index;
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp26_ = gee_list_get (_tmp24_, _tmp25_);
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = (MediaMonitor*) _tmp26_;
+#line 285 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp27_ = monitor;
+#line 285 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ media_monitor_notify_discovery_started (_tmp27_);
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 2242 "LibraryMonitor.c"
+ }
+#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitor_list);
+#line 2246 "LibraryMonitor.c"
+ }
+#line 287 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp28_ = gee_hash_map_new (TYPE_MEDIA_MONITOR, (GBoxedCopyFunc) g_object_ref, g_object_unref, GEE_TYPE_SET, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 287 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->discovered);
+#line 287 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->discovered = _tmp28_;
+#line 288 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp29_ = gee_hash_set_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL);
+#line 288 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->unknown_files);
+#line 288 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->unknown_files = _tmp29_;
+#line 290 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->discovery_started (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor));
+#line 2262 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_real_file_discovered (DirectoryMonitor* base, GFile* file, GFileInfo* info) {
+ LibraryMonitor * self;
+ Monitorable* representation = NULL;
+ MediaMonitor* representing = NULL;
+ gboolean ignore = FALSE;
+ MediaMonitor* _tmp20_ = NULL;
+ GFile* _tmp36_ = NULL;
+ GFileInfo* _tmp37_ = NULL;
+#line 293 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor);
+#line 293 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE (file));
+#line 293 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE_INFO (info));
+#line 294 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ representation = NULL;
+#line 295 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ representing = NULL;
+#line 296 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ignore = FALSE;
+#line 2286 "LibraryMonitor.c"
+ {
+ GeeList* _monitor_list = NULL;
+ GeeList* _tmp0_ = NULL;
+ GeeList* _tmp1_ = NULL;
+ gint _monitor_size = 0;
+ GeeList* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ gint _tmp4_ = 0;
+ gint _monitor_index = 0;
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->priv->monitors;
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_list = _tmp1_;
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = _monitor_list;
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _tmp3_;
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_size = _tmp4_;
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = -1;
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 2314 "LibraryMonitor.c"
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+ MediaMonitor* monitor = NULL;
+ GeeList* _tmp8_ = NULL;
+ gint _tmp9_ = 0;
+ gpointer _tmp10_ = NULL;
+ MediaMonitorDiscoveredFile _result_ = 0;
+ MediaMonitor* _tmp11_ = NULL;
+ GFile* _tmp12_ = NULL;
+ GFileInfo* _tmp13_ = NULL;
+ Monitorable* _tmp14_ = NULL;
+ MediaMonitorDiscoveredFile _tmp15_ = 0;
+ MediaMonitorDiscoveredFile _tmp16_ = 0;
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _monitor_index;
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = _tmp5_ + 1;
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = _monitor_index;
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = _monitor_size;
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp6_ < _tmp7_)) {
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 2341 "LibraryMonitor.c"
+ }
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = _monitor_list;
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _monitor_index;
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = gee_list_get (_tmp8_, _tmp9_);
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = (MediaMonitor*) _tmp10_;
+#line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = monitor;
+#line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = file;
+#line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = info;
+#line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = media_monitor_notify_file_discovered (_tmp11_, _tmp12_, _tmp13_, &_tmp14_);
+#line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (representation);
+#line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ representation = _tmp14_;
+#line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _result_ = _tmp15_;
+#line 300 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = _result_;
+#line 300 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp16_ == MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED) {
+#line 2369 "LibraryMonitor.c"
+ MediaMonitor* _tmp17_ = NULL;
+ MediaMonitor* _tmp18_ = NULL;
+#line 301 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = monitor;
+#line 301 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = _g_object_ref0 (_tmp17_);
+#line 301 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (representing);
+#line 301 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ representing = _tmp18_;
+#line 303 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 303 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 2384 "LibraryMonitor.c"
+ } else {
+ MediaMonitorDiscoveredFile _tmp19_ = 0;
+#line 304 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = _result_;
+#line 304 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp19_ == MEDIA_MONITOR_DISCOVERED_FILE_IGNORE) {
+#line 306 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ignore = TRUE;
+#line 308 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 308 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 2397 "LibraryMonitor.c"
+ }
+ }
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 2402 "LibraryMonitor.c"
+ }
+#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitor_list);
+#line 2406 "LibraryMonitor.c"
+ }
+#line 312 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp20_ = representing;
+#line 312 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp20_ != NULL) {
+#line 2412 "LibraryMonitor.c"
+ gboolean _tmp21_ = FALSE;
+ Monitorable* _tmp22_ = NULL;
+ MediaMonitor* _tmp24_ = NULL;
+ Monitorable* _tmp25_ = NULL;
+#line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp22_ = representation;
+#line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp22_ != NULL) {
+#line 2421 "LibraryMonitor.c"
+ gboolean _tmp23_ = FALSE;
+#line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp23_ = ignore;
+#line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp21_ = !_tmp23_;
+#line 2427 "LibraryMonitor.c"
+ } else {
+#line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp21_ = FALSE;
+#line 2431 "LibraryMonitor.c"
+ }
+#line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _vala_assert (_tmp21_, "representation != null && !ignore");
+#line 314 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp24_ = representing;
+#line 314 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp25_ = representation;
+#line 314 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_add_to_discovered_list (self, _tmp24_, _tmp25_);
+#line 2441 "LibraryMonitor.c"
+ } else {
+ gboolean _tmp26_ = FALSE;
+ gboolean _tmp27_ = FALSE;
+ gboolean _tmp28_ = FALSE;
+#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp28_ = ignore;
+#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp28_) {
+#line 2450 "LibraryMonitor.c"
+ TombstoneSourceCollection* _tmp29_ = NULL;
+ GFile* _tmp30_ = NULL;
+ gboolean _tmp31_ = FALSE;
+#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp29_ = tombstone_global;
+#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp30_ = file;
+#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp31_ = tombstone_source_collection_matches (_tmp29_, _tmp30_);
+#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp27_ = !_tmp31_;
+#line 2462 "LibraryMonitor.c"
+ } else {
+#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp27_ = FALSE;
+#line 2466 "LibraryMonitor.c"
+ }
+#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp27_) {
+#line 2470 "LibraryMonitor.c"
+ GFile* _tmp32_ = NULL;
+ gboolean _tmp33_ = FALSE;
+#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp32_ = file;
+#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp33_ = library_monitor_is_supported_filetype (self, _tmp32_);
+#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp26_ = _tmp33_;
+#line 2479 "LibraryMonitor.c"
+ } else {
+#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp26_ = FALSE;
+#line 2483 "LibraryMonitor.c"
+ }
+#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp26_) {
+#line 2487 "LibraryMonitor.c"
+ GeeHashSet* _tmp34_ = NULL;
+ GFile* _tmp35_ = NULL;
+#line 316 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp34_ = self->priv->unknown_files;
+#line 316 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp35_ = file;
+#line 316 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp35_);
+#line 2496 "LibraryMonitor.c"
+ }
+ }
+#line 319 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp36_ = file;
+#line 319 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp37_ = info;
+#line 319 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->file_discovered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp36_, _tmp37_);
+#line 293 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (representing);
+#line 293 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (representation);
+#line 2509 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_real_discovery_completed (DirectoryMonitor* base) {
+ LibraryMonitor * self;
+#line 322 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor);
+#line 323 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_async_discovery_completed (self, NULL, NULL);
+#line 2519 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_async_discovery_completed_data_free (gpointer _data) {
+ LibraryMonitorAsyncDiscoveryCompletedData* _data_;
+ _data_ = _data;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->self);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_slice_free (LibraryMonitorAsyncDiscoveryCompletedData, _data_);
+#line 2530 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_async_discovery_completed (LibraryMonitor* self, GAsyncReadyCallback _callback_, gpointer _user_data_) {
+ LibraryMonitorAsyncDiscoveryCompletedData* _data_;
+ LibraryMonitor* _tmp0_ = NULL;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_ = g_slice_new0 (LibraryMonitorAsyncDiscoveryCompletedData);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, library_monitor_async_discovery_completed);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, library_monitor_async_discovery_completed_data_free);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = _g_object_ref0 (self);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->self = _tmp0_;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_async_discovery_completed_co (_data_);
+#line 2549 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_async_discovery_completed_finish (LibraryMonitor* self, GAsyncResult* _res_) {
+ LibraryMonitorAsyncDiscoveryCompletedData* _data_;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
+#line 2557 "LibraryMonitor.c"
+}
+
+
+static gboolean _library_monitor_async_discovery_completed_co_gsource_func (gpointer self) {
+ gboolean result;
+ result = library_monitor_async_discovery_completed_co (self);
+#line 378 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 2566 "LibraryMonitor.c"
+}
+
+
+static gboolean library_monitor_async_discovery_completed_co (LibraryMonitorAsyncDiscoveryCompletedData* _data_) {
+#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ switch (_data_->_state_) {
+#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ case 0:
+#line 2575 "LibraryMonitor.c"
+ goto _state_0;
+#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ case 1:
+#line 2579 "LibraryMonitor.c"
+ goto _state_1;
+ default:
+#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_assert_not_reached ();
+#line 2584 "LibraryMonitor.c"
+ }
+ _state_0:
+#line 331 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp0_ = NULL;
+#line 331 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp0_ = _data_->self->priv->unknown_files;
+#line 331 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp1_ = 0;
+#line 331 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp0_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 331 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp2_ = 0;
+#line 331 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp2_ = _data_->_tmp1_;
+#line 331 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp2_ == 0) {
+#line 332 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_discovery_stage_completed (_data_->self);
+#line 334 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_state_ == 0) {
+#line 334 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_simple_async_result_complete_in_idle (_data_->_async_result);
+#line 2607 "LibraryMonitor.c"
+ } else {
+#line 334 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_simple_async_result_complete (_data_->_async_result);
+#line 2611 "LibraryMonitor.c"
+ }
+#line 334 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_object_unref (_data_->_async_result);
+#line 334 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return FALSE;
+#line 2617 "LibraryMonitor.c"
+ }
+#line 337 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp3_ = NULL;
+#line 337 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp3_ = gee_array_list_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
+#line 337 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->all_candidates = _data_->_tmp3_;
+#line 338 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp4_ = NULL;
+#line 338 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp4_ = gee_array_list_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_equal_gee_equal_data_func, NULL, NULL);
+#line 338 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->adopted = _data_->_tmp4_;
+#line 2631 "LibraryMonitor.c"
+ {
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp5_ = NULL;
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp5_ = _data_->self->priv->unknown_files;
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp6_ = NULL;
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp6_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp5_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_file_it = _data_->_tmp6_;
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp7_ = NULL;
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp7_ = _data_->_file_it;
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp8_ = FALSE;
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp8_ = gee_iterator_next (_data_->_tmp7_);
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_data_->_tmp8_) {
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 2657 "LibraryMonitor.c"
+ }
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp9_ = NULL;
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp9_ = _data_->_file_it;
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp10_ = NULL;
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp10_ = gee_iterator_get (_data_->_tmp9_);
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->file = (GFile*) _data_->_tmp10_;
+#line 340 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp11_ = NULL;
+#line 340 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp11_ = _data_->file;
+#line 340 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp12_ = NULL;
+#line 340 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp12_ = directory_monitor_get_file_info (G_TYPE_CHECK_INSTANCE_CAST (_data_->self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _data_->_tmp11_);
+#line 340 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->info = _data_->_tmp12_;
+#line 341 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp13_ = NULL;
+#line 341 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp13_ = _data_->info;
+#line 341 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp13_ == NULL) {
+#line 342 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->info);
+#line 342 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->file);
+#line 342 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ continue;
+#line 2691 "LibraryMonitor.c"
+ }
+#line 345 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp14_ = NULL;
+#line 345 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp14_ = _data_->all_candidates;
+#line 345 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp14_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
+#line 347 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->candidates = NULL;
+#line 348 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->associated = FALSE;
+#line 2703 "LibraryMonitor.c"
+ {
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp15_ = NULL;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp15_ = _data_->self->priv->monitors;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp16_ = NULL;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp16_ = _g_object_ref0 (_data_->_tmp15_);
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_monitor_list = _data_->_tmp16_;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp17_ = NULL;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp17_ = _data_->_monitor_list;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp18_ = 0;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp18_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp17_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp19_ = 0;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp19_ = _data_->_tmp18_;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_monitor_size = _data_->_tmp19_;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_monitor_index = -1;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp20_ = 0;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp20_ = _data_->_monitor_index;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_monitor_index = _data_->_tmp20_ + 1;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp21_ = 0;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp21_ = _data_->_monitor_index;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp22_ = 0;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp22_ = _data_->_monitor_size;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_data_->_tmp21_ < _data_->_tmp22_)) {
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 2751 "LibraryMonitor.c"
+ }
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp23_ = NULL;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp23_ = _data_->_monitor_list;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp24_ = 0;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp24_ = _data_->_monitor_index;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp25_ = NULL;
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp25_ = gee_list_get (_data_->_tmp23_, _data_->_tmp24_);
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->monitor = (MediaMonitor*) _data_->_tmp25_;
+#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp26_ = NULL;
+#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp26_ = _data_->monitor;
+#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp27_ = NULL;
+#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp27_ = _data_->file;
+#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp28_ = NULL;
+#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp28_ = _data_->info;
+#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp29_ = 0;
+#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp30_ = NULL;
+#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp30_ = media_monitor_candidates_for_unknown_file (_data_->_tmp26_, _data_->_tmp27_, _data_->_tmp28_, &_data_->_tmp29_);
+#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_result_ = _data_->_tmp29_;
+#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->candidates);
+#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->candidates = _data_->_tmp30_;
+#line 352 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp32_ = 0;
+#line 352 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp32_ = _data_->_result_;
+#line 352 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp32_ == MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED) {
+#line 352 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp31_ = TRUE;
+#line 2799 "LibraryMonitor.c"
+ } else {
+#line 353 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp33_ = 0;
+#line 353 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp33_ = _data_->_result_;
+#line 353 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp31_ = _data_->_tmp33_ == MEDIA_MONITOR_DISCOVERED_FILE_IGNORE;
+#line 2807 "LibraryMonitor.c"
+ }
+#line 352 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp31_) {
+#line 354 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->associated = TRUE;
+#line 356 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->monitor);
+#line 356 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 2817 "LibraryMonitor.c"
+ } else {
+#line 357 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp34_ = NULL;
+#line 357 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp34_ = _data_->candidates;
+#line 357 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp34_ != NULL) {
+#line 358 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp35_ = NULL;
+#line 358 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp35_ = _data_->all_candidates;
+#line 358 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp36_ = NULL;
+#line 358 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp36_ = _data_->candidates;
+#line 358 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_array_list_add_all (_data_->_tmp35_, _data_->_tmp36_);
+#line 2835 "LibraryMonitor.c"
+ }
+ }
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->monitor);
+#line 2840 "LibraryMonitor.c"
+ }
+#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->_monitor_list);
+#line 2844 "LibraryMonitor.c"
+ }
+#line 362 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp37_ = FALSE;
+#line 362 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp37_ = _data_->associated;
+#line 362 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp37_) {
+#line 363 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp38_ = NULL;
+#line 363 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp38_ = _data_->adopted;
+#line 363 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp39_ = NULL;
+#line 363 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp39_ = _data_->file;
+#line 363 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp38_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _data_->_tmp39_);
+#line 365 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->candidates);
+#line 365 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->info);
+#line 365 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->file);
+#line 365 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ continue;
+#line 2870 "LibraryMonitor.c"
+ }
+#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp40_ = NULL;
+#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp40_ = _data_->all_candidates;
+#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp41_ = 0;
+#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp41_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp40_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp42_ = 0;
+#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp42_ = _data_->_tmp41_;
+#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp42_ > 0) {
+#line 371 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp43_ = NULL;
+#line 371 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp43_ = _data_->all_candidates;
+#line 371 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp44_ = NULL;
+#line 371 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp44_ = _g_object_ref0 (_data_->_tmp43_);
+#line 371 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->job_candidates = _data_->_tmp44_;
+#line 372 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp45_ = NULL;
+#line 372 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp45_ = gee_array_list_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
+#line 372 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->all_candidates);
+#line 372 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->all_candidates = _data_->_tmp45_;
+#line 374 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp46_ = 0;
+#line 374 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp46_ = _data_->self->priv->checksums_total;
+#line 374 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->self->priv->checksums_total = _data_->_tmp46_ + 1;
+#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp47_ = NULL;
+#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp47_ = _data_->self->priv->workers;
+#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp48_ = NULL;
+#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp48_ = _data_->file;
+#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp49_ = NULL;
+#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp49_ = _data_->job_candidates;
+#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp50_ = NULL;
+#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp50_ = library_monitor_find_move_job_new (_data_->self, _data_->_tmp48_, G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp49_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp51_ = NULL;
+#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp51_ = _data_->_tmp50_;
+#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ workers_enqueue (_data_->_tmp47_, G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp51_, TYPE_BACKGROUND_JOB, BackgroundJob));
+#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _background_job_unref0 (_data_->_tmp51_);
+#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->job_candidates);
+#line 2936 "LibraryMonitor.c"
+ }
+#line 378 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, _library_monitor_async_discovery_completed_co_gsource_func, _data_, NULL);
+#line 379 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_state_ = 1;
+#line 379 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return FALSE;
+#line 2944 "LibraryMonitor.c"
+ _state_1:
+ ;
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->candidates);
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->info);
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->file);
+#line 2953 "LibraryMonitor.c"
+ }
+#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->_file_it);
+#line 2957 "LibraryMonitor.c"
+ }
+#line 383 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp52_ = NULL;
+#line 383 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp52_ = _data_->self->priv->unknown_files;
+#line 383 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp53_ = NULL;
+#line 383 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp53_ = _data_->adopted;
+#line 383 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_collection_remove_all (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp52_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp53_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 385 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->self->priv->checksums_completed = 0;
+#line 387 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp54_ = 0;
+#line 387 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp54_ = _data_->self->priv->checksums_total;
+#line 387 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp54_ == 0) {
+#line 388 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_discovery_stage_completed (_data_->self);
+#line 2979 "LibraryMonitor.c"
+ } else {
+#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp55_ = 0;
+#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp55_ = _data_->self->priv->checksums_total;
+#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp56_ = NULL;
+#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp56_ = g_strdup_printf ("%d checksum jobs initiated to verify unknown photo files", _data_->_tmp55_);
+#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp57_ = NULL;
+#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp57_ = _data_->_tmp56_;
+#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ directory_monitor_mdbg (_data_->_tmp57_);
+#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_data_->_tmp57_);
+#line 391 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp58_ = 0;
+#line 391 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp58_ = _data_->self->priv->checksums_completed;
+#line 391 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp59_ = 0;
+#line 391 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp59_ = _data_->self->priv->checksums_total;
+#line 391 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_emit_by_name (_data_->self, "auto-update-progress", _data_->_tmp58_, _data_->_tmp59_);
+#line 3007 "LibraryMonitor.c"
+ }
+#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->adopted);
+#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->all_candidates);
+#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_state_ == 0) {
+#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_simple_async_result_complete_in_idle (_data_->_async_result);
+#line 3017 "LibraryMonitor.c"
+ } else {
+#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_simple_async_result_complete (_data_->_async_result);
+#line 3021 "LibraryMonitor.c"
+ }
+#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_object_unref (_data_->_async_result);
+#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return FALSE;
+#line 3027 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_report_checksum_job_completed (LibraryMonitor* self) {
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ gint _tmp3_ = 0;
+ gint _tmp4_ = 0;
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+#line 395 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 396 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->priv->checksums_completed;
+#line 396 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = self->priv->checksums_total;
+#line 396 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _vala_assert (_tmp0_ < _tmp1_, "checksums_completed < checksums_total");
+#line 397 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = self->priv->checksums_completed;
+#line 397 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->checksums_completed = _tmp2_ + 1;
+#line 399 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = self->priv->checksums_completed;
+#line 399 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = self->priv->checksums_total;
+#line 399 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_emit_by_name (self, "auto-update-progress", _tmp3_, _tmp4_);
+#line 401 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = self->priv->checksums_completed;
+#line 401 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = self->priv->checksums_total;
+#line 401 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp5_ == _tmp6_) {
+#line 402 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_discovery_stage_completed (self);
+#line 3065 "LibraryMonitor.c"
+ }
+}
+
+
+static gpointer _background_job_ref0 (gpointer self) {
+#line 406 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return self ? background_job_ref (self) : NULL;
+#line 3073 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_on_find_move_completed (LibraryMonitor* self, BackgroundJob* j) {
+ LibraryMonitorFindMoveJob* job = NULL;
+ BackgroundJob* _tmp0_ = NULL;
+ LibraryMonitorFindMoveJob* _tmp1_ = NULL;
+ LibraryMonitorFindMoveJob* _tmp2_ = NULL;
+ Monitorable* _tmp3_ = NULL;
+ LibraryMonitorFindMoveJob* _tmp28_ = NULL;
+ GError* _tmp29_ = NULL;
+#line 405 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 405 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_BACKGROUND_JOB (j));
+#line 406 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = j;
+#line 406 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, LibraryMonitorFindMoveJob));
+#line 406 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ job = _tmp1_;
+#line 411 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = job;
+#line 411 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = _tmp2_->match;
+#line 411 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp3_ != NULL) {
+#line 3101 "LibraryMonitor.c"
+ LibraryMonitorFindMoveJob* _tmp4_ = NULL;
+ GFile* _tmp5_ = NULL;
+ gchar* _tmp6_ = NULL;
+ gchar* _tmp7_ = NULL;
+ LibraryMonitorFindMoveJob* _tmp8_ = NULL;
+ Monitorable* _tmp9_ = NULL;
+ gchar* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+ gchar* _tmp12_ = NULL;
+ gchar* _tmp13_ = NULL;
+ MediaMonitor* monitor = NULL;
+ LibraryMonitorFindMoveJob* _tmp14_ = NULL;
+ Monitorable* _tmp15_ = NULL;
+ MediaMonitor* _tmp16_ = NULL;
+ MediaMonitor* _tmp17_ = NULL;
+ LibraryMonitorFindMoveJob* _tmp18_ = NULL;
+ Monitorable* _tmp19_ = NULL;
+ LibraryMonitorFindMoveJob* _tmp20_ = NULL;
+ GFile* _tmp21_ = NULL;
+ GeeHashSet* _tmp22_ = NULL;
+ LibraryMonitorFindMoveJob* _tmp23_ = NULL;
+ GFile* _tmp24_ = NULL;
+ MediaMonitor* _tmp25_ = NULL;
+ LibraryMonitorFindMoveJob* _tmp26_ = NULL;
+ Monitorable* _tmp27_ = NULL;
+#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = job;
+#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _tmp4_->file;
+#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = g_file_get_path (_tmp5_);
+#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = _tmp6_;
+#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = job;
+#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _tmp8_->match;
+#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_OBJECT, DataObject));
+#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = _tmp10_;
+#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = g_strdup_printf ("Found moved master file: %s matches %s", _tmp7_, _tmp11_);
+#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = _tmp12_;
+#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ directory_monitor_mdbg (_tmp13_);
+#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp13_);
+#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp11_);
+#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp7_);
+#line 415 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = job;
+#line 415 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = _tmp14_->match;
+#line 415 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = library_monitor_get_monitor_for_monitorable (self, _tmp15_);
+#line 415 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = _tmp16_;
+#line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = monitor;
+#line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = job;
+#line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = _tmp18_->match;
+#line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp20_ = job;
+#line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp21_ = _tmp20_->file;
+#line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ media_monitor_update_master_file (_tmp17_, _tmp19_, _tmp21_);
+#line 417 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp22_ = self->priv->unknown_files;
+#line 417 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp23_ = job;
+#line 417 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp24_ = _tmp23_->file;
+#line 417 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp24_);
+#line 418 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp25_ = monitor;
+#line 418 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp26_ = job;
+#line 418 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp27_ = _tmp26_->match;
+#line 418 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_add_to_discovered_list (self, _tmp25_, _tmp27_);
+#line 411 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 3193 "LibraryMonitor.c"
+ }
+#line 421 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp28_ = job;
+#line 421 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp29_ = _tmp28_->err;
+#line 421 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp29_ != NULL) {
+#line 3201 "LibraryMonitor.c"
+ LibraryMonitorFindMoveJob* _tmp30_ = NULL;
+ GFile* _tmp31_ = NULL;
+ gchar* _tmp32_ = NULL;
+ gchar* _tmp33_ = NULL;
+ LibraryMonitorFindMoveJob* _tmp34_ = NULL;
+ GError* _tmp35_ = NULL;
+ const gchar* _tmp36_ = NULL;
+#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp30_ = job;
+#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp31_ = _tmp30_->file;
+#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp32_ = g_file_get_path (_tmp31_);
+#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp33_ = _tmp32_;
+#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp34_ = job;
+#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp35_ = _tmp34_->err;
+#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp36_ = _tmp35_->message;
+#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_warning ("LibraryMonitor.vala:422: Unable to checksum unknown media file %s: %s", _tmp33_, _tmp36_);
+#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp33_);
+#line 3227 "LibraryMonitor.c"
+ }
+#line 424 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_report_checksum_job_completed (self);
+#line 405 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _background_job_unref0 (job);
+#line 3233 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_on_find_move_cancelled (LibraryMonitor* self, BackgroundJob* j) {
+#line 427 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 427 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_BACKGROUND_JOB (j));
+#line 428 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_report_checksum_job_completed (self);
+#line 3244 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_discovery_stage_completed (LibraryMonitor* self) {
+ gboolean _tmp65_ = FALSE;
+ TombstoneSourceCollection* _tmp67_ = NULL;
+ GCancellable* _tmp68_ = NULL;
+#line 431 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 3254 "LibraryMonitor.c"
+ {
+ GeeList* _monitor_list = NULL;
+ GeeList* _tmp0_ = NULL;
+ GeeList* _tmp1_ = NULL;
+ gint _monitor_size = 0;
+ GeeList* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ gint _tmp4_ = 0;
+ gint _monitor_index = 0;
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->priv->monitors;
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_list = _tmp1_;
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = _monitor_list;
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _tmp3_;
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_size = _tmp4_;
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = -1;
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 3282 "LibraryMonitor.c"
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+ MediaMonitor* monitor = NULL;
+ GeeList* _tmp8_ = NULL;
+ gint _tmp9_ = 0;
+ gpointer _tmp10_ = NULL;
+ GeeSet* monitorables = NULL;
+ GeeHashMap* _tmp11_ = NULL;
+ MediaMonitor* _tmp12_ = NULL;
+ gpointer _tmp13_ = NULL;
+ GeeSet* _tmp14_ = NULL;
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _monitor_index;
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = _tmp5_ + 1;
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = _monitor_index;
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = _monitor_size;
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp6_ < _tmp7_)) {
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 3307 "LibraryMonitor.c"
+ }
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = _monitor_list;
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _monitor_index;
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = gee_list_get (_tmp8_, _tmp9_);
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = (MediaMonitor*) _tmp10_;
+#line 433 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = self->priv->discovered;
+#line 433 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = monitor;
+#line 433 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp12_);
+#line 433 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitorables = (GeeSet*) _tmp13_;
+#line 434 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = monitorables;
+#line 434 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp14_ != NULL) {
+#line 3329 "LibraryMonitor.c"
+ {
+ GeeIterator* _monitorable_it = NULL;
+ GeeSet* _tmp15_ = NULL;
+ GeeIterator* _tmp16_ = NULL;
+#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = monitorables;
+#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitorable_it = _tmp16_;
+#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 3342 "LibraryMonitor.c"
+ GeeIterator* _tmp17_ = NULL;
+ gboolean _tmp18_ = FALSE;
+ Monitorable* monitorable = NULL;
+ GeeIterator* _tmp19_ = NULL;
+ gpointer _tmp20_ = NULL;
+ Monitorable* _tmp21_ = NULL;
+ MediaMonitor* _tmp22_ = NULL;
+#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = _monitorable_it;
+#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = gee_iterator_next (_tmp17_);
+#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp18_) {
+#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 3358 "LibraryMonitor.c"
+ }
+#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = _monitorable_it;
+#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp20_ = gee_iterator_get (_tmp19_);
+#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitorable = (Monitorable*) _tmp20_;
+#line 436 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp21_ = monitorable;
+#line 436 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp22_ = monitor;
+#line 436 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_enqueue_verify_monitorable (self, _tmp21_, _tmp22_);
+#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitorable);
+#line 3374 "LibraryMonitor.c"
+ }
+#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitorable_it);
+#line 3378 "LibraryMonitor.c"
+ }
+ }
+ {
+ GeeIterator* _object_it = NULL;
+ MediaMonitor* _tmp23_ = NULL;
+ MediaSourceCollection* _tmp24_ = NULL;
+ MediaSourceCollection* _tmp25_ = NULL;
+ GeeCollection* _tmp26_ = NULL;
+ GeeCollection* _tmp27_ = NULL;
+ GeeIterator* _tmp28_ = NULL;
+ GeeIterator* _tmp29_ = NULL;
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp23_ = monitor;
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp24_ = media_monitor_get_media_source_collection (_tmp23_);
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp25_ = _tmp24_;
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp26_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_COLLECTION, DataCollection));
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp27_ = _tmp26_;
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp28_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp29_ = _tmp28_;
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp27_);
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_collection_unref0 (_tmp25_);
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _object_it = _tmp29_;
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 3412 "LibraryMonitor.c"
+ GeeIterator* _tmp30_ = NULL;
+ gboolean _tmp31_ = FALSE;
+ DataObject* object = NULL;
+ GeeIterator* _tmp32_ = NULL;
+ gpointer _tmp33_ = NULL;
+ Monitorable* monitorable = NULL;
+ DataObject* _tmp34_ = NULL;
+ Monitorable* _tmp35_ = NULL;
+ gboolean _tmp36_ = FALSE;
+ GeeSet* _tmp37_ = NULL;
+ Monitorable* _tmp41_ = NULL;
+ MediaMonitor* _tmp42_ = NULL;
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp30_ = _object_it;
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp31_ = gee_iterator_next (_tmp30_);
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp31_) {
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 3433 "LibraryMonitor.c"
+ }
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp32_ = _object_it;
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp33_ = gee_iterator_get (_tmp32_);
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ object = (DataObject*) _tmp33_;
+#line 440 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp34_ = object;
+#line 440 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp35_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, TYPE_MONITORABLE, Monitorable));
+#line 440 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitorable = _tmp35_;
+#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp37_ = monitorables;
+#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp37_ != NULL) {
+#line 3451 "LibraryMonitor.c"
+ GeeSet* _tmp38_ = NULL;
+ Monitorable* _tmp39_ = NULL;
+ gboolean _tmp40_ = FALSE;
+#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp38_ = monitorables;
+#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp39_ = monitorable;
+#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp40_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_COLLECTION, GeeCollection), _tmp39_);
+#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp36_ = _tmp40_;
+#line 3463 "LibraryMonitor.c"
+ } else {
+#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp36_ = FALSE;
+#line 3467 "LibraryMonitor.c"
+ }
+#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp36_) {
+#line 443 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitorable);
+#line 443 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (object);
+#line 443 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ continue;
+#line 3477 "LibraryMonitor.c"
+ }
+#line 445 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp41_ = monitorable;
+#line 445 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp42_ = monitor;
+#line 445 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_enqueue_verify_monitorable (self, _tmp41_, _tmp42_);
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitorable);
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (object);
+#line 3489 "LibraryMonitor.c"
+ }
+#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_object_it);
+#line 3493 "LibraryMonitor.c"
+ }
+ {
+ GeeIterator* _source_it = NULL;
+ MediaMonitor* _tmp43_ = NULL;
+ MediaSourceCollection* _tmp44_ = NULL;
+ MediaSourceCollection* _tmp45_ = NULL;
+ MediaSourceHoldingTank* _tmp46_ = NULL;
+ MediaSourceHoldingTank* _tmp47_ = NULL;
+ GeeCollection* _tmp48_ = NULL;
+ GeeCollection* _tmp49_ = NULL;
+ GeeIterator* _tmp50_ = NULL;
+ GeeIterator* _tmp51_ = NULL;
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp43_ = monitor;
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp44_ = media_monitor_get_media_source_collection (_tmp43_);
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp45_ = _tmp44_;
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp46_ = media_source_collection_get_offline_bin (_tmp45_);
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp47_ = _tmp46_;
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp48_ = source_holding_tank_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank));
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp49_ = _tmp48_;
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp50_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp51_ = _tmp50_;
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp49_);
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _source_holding_tank_unref0 (_tmp47_);
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_collection_unref0 (_tmp45_);
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _source_it = _tmp51_;
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 3534 "LibraryMonitor.c"
+ GeeIterator* _tmp52_ = NULL;
+ gboolean _tmp53_ = FALSE;
+ DataSource* source = NULL;
+ GeeIterator* _tmp54_ = NULL;
+ gpointer _tmp55_ = NULL;
+ Monitorable* monitorable = NULL;
+ DataSource* _tmp56_ = NULL;
+ Monitorable* _tmp57_ = NULL;
+ gboolean _tmp58_ = FALSE;
+ GeeSet* _tmp59_ = NULL;
+ Monitorable* _tmp63_ = NULL;
+ MediaMonitor* _tmp64_ = NULL;
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp52_ = _source_it;
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp53_ = gee_iterator_next (_tmp52_);
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp53_) {
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 3555 "LibraryMonitor.c"
+ }
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp54_ = _source_it;
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp55_ = gee_iterator_get (_tmp54_);
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ source = (DataSource*) _tmp55_;
+#line 450 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp56_ = source;
+#line 450 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp57_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_MONITORABLE, Monitorable));
+#line 450 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitorable = _tmp57_;
+#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp59_ = monitorables;
+#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp59_ != NULL) {
+#line 3573 "LibraryMonitor.c"
+ GeeSet* _tmp60_ = NULL;
+ Monitorable* _tmp61_ = NULL;
+ gboolean _tmp62_ = FALSE;
+#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp60_ = monitorables;
+#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp61_ = monitorable;
+#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp62_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, GEE_TYPE_COLLECTION, GeeCollection), _tmp61_);
+#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp58_ = _tmp62_;
+#line 3585 "LibraryMonitor.c"
+ } else {
+#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp58_ = FALSE;
+#line 3589 "LibraryMonitor.c"
+ }
+#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp58_) {
+#line 453 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitorable);
+#line 453 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (source);
+#line 453 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ continue;
+#line 3599 "LibraryMonitor.c"
+ }
+#line 455 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp63_ = monitorable;
+#line 455 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp64_ = monitor;
+#line 455 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_enqueue_verify_monitorable (self, _tmp63_, _tmp64_);
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitorable);
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (source);
+#line 3611 "LibraryMonitor.c"
+ }
+#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_source_it);
+#line 3615 "LibraryMonitor.c"
+ }
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitorables);
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 3621 "LibraryMonitor.c"
+ }
+#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitor_list);
+#line 3625 "LibraryMonitor.c"
+ }
+#line 460 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp65_ = self->priv->auto_import;
+#line 460 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp65_) {
+#line 3631 "LibraryMonitor.c"
+ GeeHashSet* _tmp66_ = NULL;
+#line 461 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp66_ = self->priv->unknown_files;
+#line 461 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_enqueue_import_many (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 3637 "LibraryMonitor.c"
+ }
+#line 464 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->discovered);
+#line 464 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->discovered = NULL;
+#line 465 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->unknown_files);
+#line 465 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->unknown_files = NULL;
+#line 469 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp67_ = tombstone_global;
+#line 469 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp68_ = self->priv->cancellable;
+#line 469 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ tombstone_source_collection_launch_scan (_tmp67_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp68_);
+#line 472 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->discovery_completed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor));
+#line 3655 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_enqueue_verify_monitorable (LibraryMonitor* self, Monitorable* monitorable, MediaMonitor* monitor) {
+ gboolean offered = FALSE;
+ GeeQueue* _tmp0_ = NULL;
+ Monitorable* _tmp1_ = NULL;
+ MediaMonitor* _tmp2_ = NULL;
+ LibraryMonitorVerifyJob* _tmp3_ = NULL;
+ LibraryMonitorVerifyJob* _tmp4_ = NULL;
+ gboolean _tmp5_ = FALSE;
+ gboolean _tmp6_ = FALSE;
+#line 475 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 475 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_MONITORABLE (monitorable));
+#line 475 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_MEDIA_MONITOR (monitor));
+#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->priv->verify_queue;
+#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = monitorable;
+#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = monitor;
+#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = library_monitor_verify_job_new (_tmp1_, _tmp2_);
+#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _tmp3_;
+#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = gee_queue_offer (_tmp0_, _tmp4_);
+#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = _tmp5_;
+#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _library_monitor_verify_job_unref0 (_tmp4_);
+#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ offered = _tmp6_;
+#line 477 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _vala_assert (offered, "offered");
+#line 479 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_execute_next_verify_job (self);
+#line 3696 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_execute_next_verify_job (LibraryMonitor* self) {
+ gboolean _tmp0_ = FALSE;
+ gint _tmp1_ = 0;
+ LibraryMonitorVerifyJob* job = NULL;
+ GeeQueue* _tmp5_ = NULL;
+ gpointer _tmp6_ = NULL;
+ LibraryMonitorVerifyJob* _tmp7_ = NULL;
+ gint _tmp8_ = 0;
+ LibraryMonitorVerifyJob* _tmp9_ = NULL;
+ Monitorable* _tmp10_ = NULL;
+ LibraryMonitorVerifyJob* _tmp11_ = NULL;
+ MediaMonitor* _tmp12_ = NULL;
+#line 482 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = self->priv->outstanding_verify_jobs;
+#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp1_ >= LIBRARY_MONITOR_MAX_VERIFY_EXISTING_MEDIA_JOBS) {
+#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = TRUE;
+#line 3720 "LibraryMonitor.c"
+ } else {
+ GeeQueue* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ gint _tmp4_ = 0;
+#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = self->priv->verify_queue;
+#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _tmp3_;
+#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = _tmp4_ == 0;
+#line 3733 "LibraryMonitor.c"
+ }
+#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp0_) {
+#line 484 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 3739 "LibraryMonitor.c"
+ }
+#line 486 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = self->priv->verify_queue;
+#line 486 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = gee_queue_poll (_tmp5_);
+#line 486 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ job = (LibraryMonitorVerifyJob*) _tmp6_;
+#line 487 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = job;
+#line 487 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _vala_assert (_tmp7_ != NULL, "job != null");
+#line 489 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = self->priv->outstanding_verify_jobs;
+#line 489 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->outstanding_verify_jobs = _tmp8_ + 1;
+#line 490 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = job;
+#line 490 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = _tmp9_->monitorable;
+#line 490 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = job;
+#line 490 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = _tmp11_->monitor;
+#line 490 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_verify_monitorable (self, _tmp10_, _tmp12_, NULL, NULL);
+#line 482 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _library_monitor_verify_job_unref0 (job);
+#line 3767 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_verify_monitorable_data_free (gpointer _data) {
+ LibraryMonitorVerifyMonitorableData* _data_;
+ _data_ = _data;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->monitorable);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->monitor);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->self);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_slice_free (LibraryMonitorVerifyMonitorableData, _data_);
+#line 3782 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_verify_monitorable (LibraryMonitor* self, Monitorable* monitorable, MediaMonitor* monitor, GAsyncReadyCallback _callback_, gpointer _user_data_) {
+ LibraryMonitorVerifyMonitorableData* _data_;
+ LibraryMonitor* _tmp0_ = NULL;
+ Monitorable* _tmp1_ = NULL;
+ Monitorable* _tmp2_ = NULL;
+ MediaMonitor* _tmp3_ = NULL;
+ MediaMonitor* _tmp4_ = NULL;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_ = g_slice_new0 (LibraryMonitorVerifyMonitorableData);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, library_monitor_verify_monitorable);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, library_monitor_verify_monitorable_data_free);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = _g_object_ref0 (self);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->self = _tmp0_;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = monitorable;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = _g_object_ref0 (_tmp1_);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->monitorable);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->monitorable = _tmp2_;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = monitor;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _g_object_ref0 (_tmp3_);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->monitor);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->monitor = _tmp4_;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_verify_monitorable_co (_data_);
+#line 3821 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_verify_monitorable_finish (LibraryMonitor* self, GAsyncResult* _res_) {
+ LibraryMonitorVerifyMonitorableData* _data_;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
+#line 3829 "LibraryMonitor.c"
+}
+
+
+static void _vala_array_add296 (GFile*** array, int* length, int* size, GFile* value) {
+#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if ((*length) == (*size)) {
+#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ *array = g_renew (GFile*, *array, (*size) + 1);
+#line 3840 "LibraryMonitor.c"
+ }
+#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ (*array)[(*length)++] = value;
+#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ (*array)[*length] = NULL;
+#line 3846 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_verify_monitorable_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
+ LibraryMonitorVerifyMonitorableData* _data_;
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_ = _user_data_;
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_source_object_ = source_object;
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_res_ = _res_;
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_verify_monitorable_co (_data_);
+#line 3860 "LibraryMonitor.c"
+}
+
+
+static gboolean _library_monitor_verify_monitorable_co_gsource_func (gpointer self) {
+ gboolean result;
+ result = library_monitor_verify_monitorable_co (self);
+#line 530 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 3869 "LibraryMonitor.c"
+}
+
+
+static gboolean library_monitor_verify_monitorable_co (LibraryMonitorVerifyMonitorableData* _data_) {
+#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ switch (_data_->_state_) {
+#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ case 0:
+#line 3878 "LibraryMonitor.c"
+ goto _state_0;
+#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ case 1:
+#line 3882 "LibraryMonitor.c"
+ goto _state_1;
+#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ case 2:
+#line 3886 "LibraryMonitor.c"
+ goto _state_2;
+ default:
+#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_assert_not_reached ();
+#line 3891 "LibraryMonitor.c"
+ }
+ _state_0:
+#line 494 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp0_ = NULL;
+#line 494 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp0_ = g_new0 (GFile*, 1 + 1);
+#line 494 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->files_length1 = 0;
+#line 494 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_files_size_ = 0;
+#line 494 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->files = _data_->_tmp0_;
+#line 494 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->files_length1 = 1;
+#line 494 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_files_size_ = _data_->files_length1;
+#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp1_ = NULL;
+#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp1__length1 = 0;
+#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp1_ = _data_->files;
+#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp1__length1 = _data_->files_length1;
+#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp2_ = NULL;
+#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp2_ = _data_->monitor;
+#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp3_ = NULL;
+#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp3_ = _data_->monitorable;
+#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp4_ = NULL;
+#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp4_ = media_monitor_get_master_file (_data_->_tmp2_, _data_->_tmp3_);
+#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->_tmp1_[0]);
+#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp1_[0] = _data_->_tmp4_;
+#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp5_ = NULL;
+#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp5_ = _data_->_tmp1_[0];
+#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp6_ = NULL;
+#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp6_ = _data_->monitor;
+#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp7_ = NULL;
+#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp7_ = _data_->monitorable;
+#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp8_ = 0;
+#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp9_ = NULL;
+#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp9_ = media_monitor_get_auxilliary_backing_files (_data_->_tmp6_, _data_->_tmp7_, &_data_->_tmp8_);
+#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->aux_files_length1 = 0;
+#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_aux_files_size_ = 0;
+#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->aux_files = _data_->_tmp9_;
+#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->aux_files_length1 = _data_->_tmp8_;
+#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_aux_files_size_ = _data_->aux_files_length1;
+#line 498 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp10_ = NULL;
+#line 498 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp10__length1 = 0;
+#line 498 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp10_ = _data_->aux_files;
+#line 498 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp10__length1 = _data_->aux_files_length1;
+#line 498 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp10_ != NULL) {
+#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp11_ = NULL;
+#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp11__length1 = 0;
+#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp11_ = _data_->aux_files;
+#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp11__length1 = _data_->aux_files_length1;
+#line 3978 "LibraryMonitor.c"
+ {
+#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->aux_file_collection_length1 = 0;
+#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_aux_file_collection_size_ = 0;
+#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->aux_file_collection = _data_->_tmp11_;
+#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->aux_file_collection_length1 = _data_->_tmp11__length1;
+#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ for (_data_->aux_file_it = 0; _data_->aux_file_it < _data_->_tmp11__length1; _data_->aux_file_it = _data_->aux_file_it + 1) {
+#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp12_ = NULL;
+#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp12_ = _g_object_ref0 (_data_->aux_file_collection[_data_->aux_file_it]);
+#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->aux_file = _data_->_tmp12_;
+#line 3996 "LibraryMonitor.c"
+ {
+#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp13_ = NULL;
+#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp13__length1 = 0;
+#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp13_ = _data_->files;
+#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp13__length1 = _data_->files_length1;
+#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp14_ = NULL;
+#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp14_ = _data_->aux_file;
+#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp15_ = NULL;
+#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp15_ = _g_object_ref0 (_data_->_tmp14_);
+#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _vala_array_add296 (&_data_->files, &_data_->files_length1, &_data_->_files_size_, _data_->_tmp15_);
+#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->aux_file);
+#line 4018 "LibraryMonitor.c"
+ }
+ }
+ }
+ }
+ {
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->ctr = 0;
+#line 4026 "LibraryMonitor.c"
+ {
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp16_ = TRUE;
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_data_->_tmp16_) {
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp17_ = 0;
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp17_ = _data_->ctr;
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->ctr = _data_->_tmp17_ + 1;
+#line 4040 "LibraryMonitor.c"
+ }
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp16_ = FALSE;
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp18_ = 0;
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp18_ = _data_->ctr;
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp19_ = NULL;
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp19__length1 = 0;
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp19_ = _data_->files;
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp19__length1 = _data_->files_length1;
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_data_->_tmp18_ < _data_->_tmp19__length1)) {
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 4060 "LibraryMonitor.c"
+ }
+#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp20_ = NULL;
+#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp20__length1 = 0;
+#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp20_ = _data_->files;
+#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp20__length1 = _data_->files_length1;
+#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp21_ = 0;
+#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp21_ = _data_->ctr;
+#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp22_ = NULL;
+#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp22_ = _data_->_tmp20_[_data_->_tmp21_];
+#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp23_ = NULL;
+#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp23_ = _g_object_ref0 (_data_->_tmp22_);
+#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->file = _data_->_tmp23_;
+#line 506 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp24_ = NULL;
+#line 506 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp24_ = _data_->file;
+#line 506 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp25_ = NULL;
+#line 506 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp25_ = directory_monitor_get_file_info (G_TYPE_CHECK_INSTANCE_CAST (_data_->self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _data_->_tmp24_);
+#line 506 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->info = _data_->_tmp25_;
+#line 507 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp26_ = NULL;
+#line 507 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp26_ = _data_->info;
+#line 507 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp26_ == NULL) {
+#line 4100 "LibraryMonitor.c"
+ {
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp28_ = NULL;
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp28_ = _data_->file;
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp29_ = NULL;
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp29_ = _data_->self->priv->cancellable;
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_state_ = 1;
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_file_query_info_async (_data_->_tmp28_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, DIRECTORY_MONITOR_FILE_INFO_FLAGS, DIRECTORY_MONITOR_DEFAULT_PRIORITY, _data_->_tmp29_, library_monitor_verify_monitorable_ready, _data_);
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return FALSE;
+#line 4116 "LibraryMonitor.c"
+ _state_1:
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp30_ = NULL;
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp30_ = g_file_query_info_finish (_data_->_tmp28_, _data_->_res_, &_data_->_inner_error_);
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp27_ = _data_->_tmp30_;
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
+#line 4126 "LibraryMonitor.c"
+ goto __catch474_g_error;
+ }
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp31_ = NULL;
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp31_ = _data_->_tmp27_;
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp27_ = NULL;
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->info);
+#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->info = _data_->_tmp31_;
+#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->_tmp27_);
+#line 4141 "LibraryMonitor.c"
+ }
+ goto __finally474;
+ __catch474_g_error:
+ {
+#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->err = _data_->_inner_error_;
+#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_inner_error_ = NULL;
+#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_error_free0 (_data_->err);
+#line 4152 "LibraryMonitor.c"
+ }
+ __finally474:
+#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
+#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->info);
+#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->file);
+#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->aux_files = (_vala_array_free (_data_->aux_files, _data_->aux_files_length1, (GDestroyNotify) g_object_unref), NULL);
+#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->files = (_vala_array_free (_data_->files, _data_->files_length1, (GDestroyNotify) g_object_unref), NULL);
+#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
+#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_clear_error (&_data_->_inner_error_);
+#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return FALSE;
+#line 4171 "LibraryMonitor.c"
+ }
+ }
+#line 517 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp32_ = 0;
+#line 517 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp32_ = _data_->ctr;
+#line 517 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp32_ == 0) {
+#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp34_ = NULL;
+#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp34_ = _data_->info;
+#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp34_ != NULL) {
+#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp35_ = NULL;
+#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp35_ = _data_->monitor;
+#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp36_ = NULL;
+#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp36_ = _data_->monitorable;
+#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp37_ = FALSE;
+#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp37_ = media_monitor_is_offline (_data_->_tmp35_, _data_->_tmp36_);
+#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp33_ = _data_->_tmp37_;
+#line 4200 "LibraryMonitor.c"
+ } else {
+#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp33_ = FALSE;
+#line 4204 "LibraryMonitor.c"
+ }
+#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp33_) {
+#line 519 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp38_ = NULL;
+#line 519 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp38_ = _data_->monitor;
+#line 519 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp39_ = NULL;
+#line 519 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp39_ = _data_->monitorable;
+#line 519 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ media_monitor_update_online (_data_->_tmp38_, _data_->_tmp39_);
+#line 4218 "LibraryMonitor.c"
+ } else {
+#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp41_ = NULL;
+#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp41_ = _data_->info;
+#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp41_ == NULL) {
+#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp42_ = NULL;
+#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp42_ = _data_->monitor;
+#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp43_ = NULL;
+#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp43_ = _data_->monitorable;
+#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp44_ = FALSE;
+#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp44_ = media_monitor_is_offline (_data_->_tmp42_, _data_->_tmp43_);
+#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp40_ = !_data_->_tmp44_;
+#line 4240 "LibraryMonitor.c"
+ } else {
+#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp40_ = FALSE;
+#line 4244 "LibraryMonitor.c"
+ }
+#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_tmp40_) {
+#line 521 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp45_ = NULL;
+#line 521 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp45_ = _data_->monitor;
+#line 521 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp46_ = NULL;
+#line 521 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp46_ = _data_->monitorable;
+#line 521 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ media_monitor_update_offline (_data_->_tmp45_, _data_->_tmp46_);
+#line 4258 "LibraryMonitor.c"
+ }
+ }
+ }
+#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp47_ = NULL;
+#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp47_ = _data_->monitor;
+#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp48_ = NULL;
+#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp48_ = _data_->monitorable;
+#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp49_ = NULL;
+#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp49_ = _data_->file;
+#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp50_ = NULL;
+#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp50_ = _data_->info;
+#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ media_monitor_update_backing_file_info (_data_->_tmp47_, _data_->_tmp48_, _data_->_tmp49_, _data_->_tmp50_);
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->info);
+#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_data_->file);
+#line 4284 "LibraryMonitor.c"
+ }
+ }
+ }
+#line 527 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp51_ = 0;
+#line 527 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp51_ = _data_->self->priv->completed_monitorable_verifies;
+#line 527 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->self->priv->completed_monitorable_verifies = _data_->_tmp51_ + 1;
+#line 528 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp52_ = 0;
+#line 528 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp52_ = _data_->self->priv->completed_monitorable_verifies;
+#line 528 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp53_ = 0;
+#line 528 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp53_ = _data_->self->priv->total_monitorable_verifies;
+#line 528 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_emit_by_name (_data_->self, "auto-update-progress", _data_->_tmp52_, _data_->_tmp53_);
+#line 530 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_idle_add_full (DIRECTORY_MONITOR_DEFAULT_PRIORITY, _library_monitor_verify_monitorable_co_gsource_func, _data_, NULL);
+#line 531 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_state_ = 2;
+#line 531 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return FALSE;
+#line 4310 "LibraryMonitor.c"
+ _state_2:
+ ;
+#line 534 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp54_ = 0;
+#line 534 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp54_ = _data_->self->priv->outstanding_verify_jobs;
+#line 534 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _vala_assert (_data_->_tmp54_ > 0, "outstanding_verify_jobs > 0");
+#line 535 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp55_ = 0;
+#line 535 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->_tmp55_ = _data_->self->priv->outstanding_verify_jobs;
+#line 535 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->self->priv->outstanding_verify_jobs = _data_->_tmp55_ - 1;
+#line 537 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_execute_next_verify_job (_data_->self);
+#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->aux_files = (_vala_array_free (_data_->aux_files, _data_->aux_files_length1, (GDestroyNotify) g_object_unref), NULL);
+#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_->files = (_vala_array_free (_data_->files, _data_->files_length1, (GDestroyNotify) g_object_unref), NULL);
+#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_data_->_state_ == 0) {
+#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_simple_async_result_complete_in_idle (_data_->_async_result);
+#line 4335 "LibraryMonitor.c"
+ } else {
+#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_simple_async_result_complete (_data_->_async_result);
+#line 4339 "LibraryMonitor.c"
+ }
+#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_object_unref (_data_->_async_result);
+#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return FALSE;
+#line 4345 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_on_config_changed (LibraryMonitor* self) {
+ gboolean value = FALSE;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gboolean _tmp3_ = FALSE;
+ gboolean _tmp4_ = FALSE;
+ gboolean _tmp5_ = FALSE;
+ gboolean _tmp6_ = FALSE;
+ gboolean _tmp7_ = FALSE;
+#line 540 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 541 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 541 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = _tmp0_;
+#line 541 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = configuration_facade_get_auto_import_from_library (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
+#line 541 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = _tmp2_;
+#line 541 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp1_);
+#line 541 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value = _tmp3_;
+#line 543 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = self->priv->auto_import;
+#line 543 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = value;
+#line 543 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp4_ == _tmp5_) {
+#line 544 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 4381 "LibraryMonitor.c"
+ }
+#line 546 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = value;
+#line 546 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->auto_import = _tmp6_;
+#line 547 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = self->priv->auto_import;
+#line 547 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp7_) {
+#line 4391 "LibraryMonitor.c"
+ gboolean _tmp8_ = FALSE;
+#line 548 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = commandline_options_no_runtime_monitoring;
+#line 548 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp8_) {
+#line 549 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_import_unrepresented_files (self);
+#line 4399 "LibraryMonitor.c"
+ }
+ } else {
+#line 551 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_cancel_batch_imports (self);
+#line 4404 "LibraryMonitor.c"
+ }
+}
+
+
+static void library_monitor_enqueue_import (LibraryMonitor* self, GFile* file) {
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+ GeeHashSet* _tmp2_ = NULL;
+ GFile* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+#line 555 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 555 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE (file));
+#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = self->priv->pending_imports;
+#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = file;
+#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp3_);
+#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp4_) {
+#line 4427 "LibraryMonitor.c"
+ GFile* _tmp5_ = NULL;
+ gboolean _tmp6_ = FALSE;
+#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = file;
+#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = library_monitor_is_supported_filetype (self, _tmp5_);
+#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = _tmp6_;
+#line 4436 "LibraryMonitor.c"
+ } else {
+#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = FALSE;
+#line 4440 "LibraryMonitor.c"
+ }
+#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp1_) {
+#line 4444 "LibraryMonitor.c"
+ GFile* _tmp7_ = NULL;
+ gboolean _tmp8_ = FALSE;
+#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = file;
+#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = library_monitor_is_blacklisted (_tmp7_);
+#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = !_tmp8_;
+#line 4453 "LibraryMonitor.c"
+ } else {
+#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = FALSE;
+#line 4457 "LibraryMonitor.c"
+ }
+#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp0_) {
+#line 4461 "LibraryMonitor.c"
+ GeeHashSet* _tmp9_ = NULL;
+ GFile* _tmp10_ = NULL;
+#line 557 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = self->priv->import_queue;
+#line 557 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = file;
+#line 557 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_);
+#line 4470 "LibraryMonitor.c"
+ }
+}
+
+
+static void library_monitor_enqueue_import_many (LibraryMonitor* self, GeeCollection* files) {
+#line 560 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 560 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (GEE_IS_COLLECTION (files));
+#line 4480 "LibraryMonitor.c"
+ {
+ GeeIterator* _file_it = NULL;
+ GeeCollection* _tmp0_ = NULL;
+ GeeIterator* _tmp1_ = NULL;
+#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = files;
+#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _file_it = _tmp1_;
+#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 4493 "LibraryMonitor.c"
+ GeeIterator* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+ GFile* file = NULL;
+ GeeIterator* _tmp4_ = NULL;
+ gpointer _tmp5_ = NULL;
+ GFile* _tmp6_ = NULL;
+#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = _file_it;
+#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = gee_iterator_next (_tmp2_);
+#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp3_) {
+#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 4508 "LibraryMonitor.c"
+ }
+#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _file_it;
+#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = gee_iterator_get (_tmp4_);
+#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ file = (GFile*) _tmp5_;
+#line 562 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = file;
+#line 562 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_enqueue_import (self, _tmp6_);
+#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (file);
+#line 4522 "LibraryMonitor.c"
+ }
+#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_file_it);
+#line 4526 "LibraryMonitor.c"
+ }
+}
+
+
+static void library_monitor_remove_queued_import (LibraryMonitor* self, GFile* file) {
+ GeeHashSet* _tmp0_ = NULL;
+ GFile* _tmp1_ = NULL;
+#line 565 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 565 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE (file));
+#line 566 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->priv->import_queue;
+#line 566 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = file;
+#line 566 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_);
+#line 4544 "LibraryMonitor.c"
+}
+
+
+static gboolean library_monitor_on_flush_import_queue (LibraryMonitor* self) {
+ gboolean result = FALSE;
+ GCancellable* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ GeeHashSet* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ gint _tmp4_ = 0;
+ BatchImport* _tmp5_ = NULL;
+ GeeHashSet* _tmp6_ = NULL;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+ gchar* _tmp9_ = NULL;
+ gchar* _tmp10_ = NULL;
+ time_t now = 0;
+ gulong _tmp11_ = 0UL;
+ gboolean _tmp12_ = FALSE;
+ BatchImportRoll* _tmp13_ = NULL;
+ time_t _tmp17_ = 0;
+ GeeArrayList* jobs = NULL;
+ GeeArrayList* _tmp18_ = NULL;
+ GeeHashSet* _tmp33_ = NULL;
+ BatchImport* importer = NULL;
+ GeeArrayList* _tmp34_ = NULL;
+ BatchImportRoll* _tmp35_ = NULL;
+ BatchImport* _tmp36_ = NULL;
+ BatchImport* _tmp37_ = NULL;
+ BatchImport* _tmp38_ = NULL;
+ GeeArrayList* _tmp39_ = NULL;
+ BatchImport* _tmp40_ = NULL;
+#line 569 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (IS_LIBRARY_MONITOR (self), FALSE);
+#line 570 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->priv->cancellable;
+#line 570 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = g_cancellable_is_cancelled (_tmp0_);
+#line 570 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp1_) {
+#line 571 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ result = FALSE;
+#line 571 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 4589 "LibraryMonitor.c"
+ }
+#line 573 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = self->priv->import_queue;
+#line 573 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 573 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _tmp3_;
+#line 573 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp4_ == 0) {
+#line 574 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ result = TRUE;
+#line 574 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 4603 "LibraryMonitor.c"
+ }
+#line 578 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = self->priv->current_batch_import;
+#line 578 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp5_ != NULL) {
+#line 579 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ result = TRUE;
+#line 579 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 4613 "LibraryMonitor.c"
+ }
+#line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = self->priv->import_queue;
+#line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = _tmp7_;
+#line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = g_strdup_printf ("Auto-importing %d files", _tmp8_);
+#line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = _tmp9_;
+#line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ directory_monitor_mdbg (_tmp10_);
+#line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp10_);
+#line 586 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = now_sec ();
+#line 586 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ now = (time_t) _tmp11_;
+#line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = self->priv->current_import_roll;
+#line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp13_ == NULL) {
+#line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = TRUE;
+#line 4639 "LibraryMonitor.c"
+ } else {
+ time_t _tmp14_ = 0;
+ time_t _tmp15_ = 0;
+#line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = now;
+#line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = self->priv->last_import_roll_use;
+#line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = (_tmp14_ - _tmp15_) >= ((time_t) LIBRARY_MONITOR_IMPORT_ROLL_QUIET_SEC);
+#line 4649 "LibraryMonitor.c"
+ }
+#line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp12_) {
+#line 4653 "LibraryMonitor.c"
+ BatchImportRoll* _tmp16_ = NULL;
+#line 588 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = batch_import_roll_new ();
+#line 588 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _batch_import_roll_unref0 (self->priv->current_import_roll);
+#line 588 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->current_import_roll = _tmp16_;
+#line 4661 "LibraryMonitor.c"
+ }
+#line 589 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = now;
+#line 589 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->last_import_roll_use = _tmp17_;
+#line 591 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = gee_array_list_new (TYPE_BATCH_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, batch_import_job_unref, NULL, NULL, NULL);
+#line 591 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ jobs = _tmp18_;
+#line 4671 "LibraryMonitor.c"
+ {
+ GeeIterator* _file_it = NULL;
+ GeeHashSet* _tmp19_ = NULL;
+ GeeIterator* _tmp20_ = NULL;
+#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = self->priv->import_queue;
+#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp20_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
+#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _file_it = _tmp20_;
+#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 4684 "LibraryMonitor.c"
+ GeeIterator* _tmp21_ = NULL;
+ gboolean _tmp22_ = FALSE;
+ GFile* file = NULL;
+ GeeIterator* _tmp23_ = NULL;
+ gpointer _tmp24_ = NULL;
+ GFile* _tmp25_ = NULL;
+ gboolean _tmp26_ = FALSE;
+ GeeArrayList* _tmp27_ = NULL;
+ GFile* _tmp28_ = NULL;
+ FileImportJob* _tmp29_ = NULL;
+ FileImportJob* _tmp30_ = NULL;
+ GeeHashSet* _tmp31_ = NULL;
+ GFile* _tmp32_ = NULL;
+#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp21_ = _file_it;
+#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp22_ = gee_iterator_next (_tmp21_);
+#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp22_) {
+#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 4706 "LibraryMonitor.c"
+ }
+#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp23_ = _file_it;
+#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp24_ = gee_iterator_get (_tmp23_);
+#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ file = (GFile*) _tmp24_;
+#line 593 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp25_ = file;
+#line 593 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp26_ = library_monitor_is_blacklisted (_tmp25_);
+#line 593 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp26_) {
+#line 594 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (file);
+#line 594 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ continue;
+#line 4724 "LibraryMonitor.c"
+ }
+#line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp27_ = jobs;
+#line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp28_ = file;
+#line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp29_ = file_import_job_new (_tmp28_, FALSE);
+#line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp30_ = _tmp29_;
+#line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_BATCH_IMPORT_JOB, BatchImportJob));
+#line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _batch_import_job_unref0 (_tmp30_);
+#line 597 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp31_ = self->priv->pending_imports;
+#line 597 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp32_ = file;
+#line 597 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp32_);
+#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (file);
+#line 4746 "LibraryMonitor.c"
+ }
+#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_file_it);
+#line 4750 "LibraryMonitor.c"
+ }
+#line 600 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp33_ = self->priv->import_queue;
+#line 600 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
+#line 602 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp34_ = jobs;
+#line 602 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp35_ = self->priv->current_import_roll;
+#line 602 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp36_ = batch_import_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_ITERABLE, GeeIterable), "LibraryMonitor autoimport", NULL, NULL, NULL, NULL, NULL, _tmp35_, NULL);
+#line 602 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ importer = _tmp36_;
+#line 604 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp37_ = importer;
+#line 604 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ batch_import_set_untrash_duplicates (_tmp37_, FALSE);
+#line 605 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp38_ = importer;
+#line 605 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ batch_import_set_mark_duplicates_online (_tmp38_, FALSE);
+#line 606 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp39_ = self->priv->batch_import_queue;
+#line 606 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp40_ = importer;
+#line 606 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp40_);
+#line 608 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_schedule_next_batch_import (self);
+#line 610 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ result = TRUE;
+#line 610 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (importer);
+#line 610 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (jobs);
+#line 610 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 4788 "LibraryMonitor.c"
+}
+
+
+static void _library_monitor_on_import_preparing_batch_import_preparing (BatchImport* _sender, gpointer self) {
+#line 618 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_on_import_preparing ((LibraryMonitor*) self);
+#line 4795 "LibraryMonitor.c"
+}
+
+
+static void _library_monitor_on_import_progress_batch_import_progress (BatchImport* _sender, guint64 completed_bytes, guint64 total_bytes, gpointer self) {
+#line 619 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_on_import_progress ((LibraryMonitor*) self, completed_bytes, total_bytes);
+#line 4802 "LibraryMonitor.c"
+}
+
+
+static void _library_monitor_on_import_complete_batch_import_import_complete (BatchImport* _sender, ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self) {
+#line 620 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_on_import_complete ((LibraryMonitor*) self, _sender, manifest, import_roll);
+#line 4809 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_schedule_next_batch_import (LibraryMonitor* self) {
+ gboolean _tmp0_ = FALSE;
+ BatchImport* _tmp1_ = NULL;
+ GeeArrayList* _tmp5_ = NULL;
+ gpointer _tmp6_ = NULL;
+ BatchImport* _tmp7_ = NULL;
+ BatchImport* _tmp8_ = NULL;
+ BatchImport* _tmp9_ = NULL;
+ BatchImport* _tmp10_ = NULL;
+#line 613 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = self->priv->current_batch_import;
+#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp1_ != NULL) {
+#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = TRUE;
+#line 4830 "LibraryMonitor.c"
+ } else {
+ GeeArrayList* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ gint _tmp4_ = 0;
+#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = self->priv->batch_import_queue;
+#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _tmp3_;
+#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = _tmp4_ == 0;
+#line 4843 "LibraryMonitor.c"
+ }
+#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp0_) {
+#line 615 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 4849 "LibraryMonitor.c"
+ }
+#line 617 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = self->priv->batch_import_queue;
+#line 617 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0);
+#line 617 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->current_batch_import);
+#line 617 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->current_batch_import = (BatchImport*) _tmp6_;
+#line 618 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = self->priv->current_batch_import;
+#line 618 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_connect_object (_tmp7_, "preparing", (GCallback) _library_monitor_on_import_preparing_batch_import_preparing, self, 0);
+#line 619 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = self->priv->current_batch_import;
+#line 619 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_connect_object (_tmp8_, "progress", (GCallback) _library_monitor_on_import_progress_batch_import_progress, self, 0);
+#line 620 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = self->priv->current_batch_import;
+#line 620 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_connect_object (_tmp9_, "import-complete", (GCallback) _library_monitor_on_import_complete_batch_import_import_complete, self, 0);
+#line 621 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = self->priv->current_batch_import;
+#line 621 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ batch_import_schedule (_tmp10_);
+#line 4875 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_discard_current_batch_import (LibraryMonitor* self) {
+ BatchImport* _tmp0_ = NULL;
+ gboolean removed = FALSE;
+ GeeArrayList* _tmp1_ = NULL;
+ BatchImport* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+ gboolean _tmp4_ = FALSE;
+ BatchImport* _tmp5_ = NULL;
+ guint _tmp6_ = 0U;
+ BatchImport* _tmp7_ = NULL;
+ guint _tmp8_ = 0U;
+ BatchImport* _tmp9_ = NULL;
+ guint _tmp10_ = 0U;
+ GeeArrayList* _tmp11_ = NULL;
+ gint _tmp12_ = 0;
+ gint _tmp13_ = 0;
+#line 624 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 625 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->priv->current_batch_import;
+#line 625 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _vala_assert (_tmp0_ != NULL, "current_batch_import != null");
+#line 627 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = self->priv->batch_import_queue;
+#line 627 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = self->priv->current_batch_import;
+#line 627 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp2_);
+#line 627 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ removed = _tmp3_;
+#line 628 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = removed;
+#line 628 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _vala_assert (_tmp4_, "removed");
+#line 629 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = self->priv->current_batch_import;
+#line 629 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_parse_name ("preparing", TYPE_BATCH_IMPORT, &_tmp6_, NULL, FALSE);
+#line 629 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _library_monitor_on_import_preparing_batch_import_preparing, self);
+#line 630 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = self->priv->current_batch_import;
+#line 630 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_parse_name ("progress", TYPE_BATCH_IMPORT, &_tmp8_, NULL, FALSE);
+#line 630 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_handlers_disconnect_matched (_tmp7_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _library_monitor_on_import_progress_batch_import_progress, self);
+#line 631 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = self->priv->current_batch_import;
+#line 631 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_parse_name ("import-complete", TYPE_BATCH_IMPORT, &_tmp10_, NULL, FALSE);
+#line 631 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_handlers_disconnect_matched (_tmp9_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _library_monitor_on_import_complete_batch_import_import_complete, self);
+#line 632 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->current_batch_import);
+#line 632 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->current_batch_import = NULL;
+#line 639 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = self->priv->batch_import_queue;
+#line 639 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 639 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = _tmp12_;
+#line 639 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp13_ == 0) {
+#line 4943 "LibraryMonitor.c"
+ GeeHashSet* _tmp14_ = NULL;
+#line 640 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = self->priv->pending_imports;
+#line 640 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
+#line 4949 "LibraryMonitor.c"
+ }
+}
+
+
+static void library_monitor_cancel_batch_imports (LibraryMonitor* self) {
+ gint ctr = 0;
+ BatchImport* _tmp16_ = NULL;
+ GeeHashSet* _tmp18_ = NULL;
+#line 643 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 645 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ctr = 0;
+#line 646 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 4964 "LibraryMonitor.c"
+ gint _tmp0_ = 0;
+ GeeArrayList* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+ gint _tmp3_ = 0;
+ GeeArrayList* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ gpointer _tmp6_ = NULL;
+ BatchImport* _tmp7_ = NULL;
+ BatchImport* _tmp8_ = NULL;
+ gboolean _tmp9_ = FALSE;
+ GeeArrayList* _tmp11_ = NULL;
+ GeeArrayList* _tmp12_ = NULL;
+ gint _tmp13_ = 0;
+ gpointer _tmp14_ = NULL;
+ BatchImport* _tmp15_ = NULL;
+#line 646 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = ctr;
+#line 646 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = self->priv->batch_import_queue;
+#line 646 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 646 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = _tmp2_;
+#line 646 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp0_ < _tmp3_)) {
+#line 646 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 4992 "LibraryMonitor.c"
+ }
+#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = self->priv->batch_import_queue;
+#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = ctr;
+#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp5_);
+#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = (BatchImport*) _tmp6_;
+#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = self->priv->current_batch_import;
+#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _tmp7_ == _tmp8_;
+#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp7_);
+#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp9_) {
+#line 5010 "LibraryMonitor.c"
+ gint _tmp10_ = 0;
+#line 648 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = ctr;
+#line 648 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ctr = _tmp10_ + 1;
+#line 650 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ continue;
+#line 5018 "LibraryMonitor.c"
+ }
+#line 653 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = self->priv->batch_import_queue;
+#line 653 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = self->priv->batch_import_queue;
+#line 653 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = ctr;
+#line 653 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp13_);
+#line 653 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = (BatchImport*) _tmp14_;
+#line 653 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp15_);
+#line 653 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp15_);
+#line 5034 "LibraryMonitor.c"
+ }
+#line 657 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = self->priv->current_batch_import;
+#line 657 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp16_ != NULL) {
+#line 5040 "LibraryMonitor.c"
+ BatchImport* _tmp17_ = NULL;
+#line 658 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = self->priv->current_batch_import;
+#line 658 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ batch_import_user_halt (_tmp17_);
+#line 5046 "LibraryMonitor.c"
+ }
+#line 661 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = self->priv->pending_imports;
+#line 661 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
+#line 5052 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_on_import_preparing (LibraryMonitor* self) {
+#line 664 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 665 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_emit_by_name (self, "auto-import-preparing");
+#line 5061 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_on_import_progress (LibraryMonitor* self, guint64 completed_bytes, guint64 total_bytes) {
+ guint64 _tmp0_ = 0ULL;
+ guint64 _tmp1_ = 0ULL;
+#line 668 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 669 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = completed_bytes;
+#line 669 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = total_bytes;
+#line 669 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_emit_by_name (self, "auto-import-progress", _tmp0_, _tmp1_);
+#line 5076 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_on_import_complete (LibraryMonitor* self, BatchImport* batch_import, ImportManifest* manifest, BatchImportRoll* import_roll) {
+ BatchImport* _tmp0_ = NULL;
+ BatchImport* _tmp1_ = NULL;
+ ImportManifest* _tmp2_ = NULL;
+ GeeList* _tmp3_ = NULL;
+ gint _tmp4_ = 0;
+ gint _tmp5_ = 0;
+ gchar* _tmp6_ = NULL;
+ gchar* _tmp7_ = NULL;
+ ImportManifest* _tmp25_ = NULL;
+ GeeList* _tmp26_ = NULL;
+ gint _tmp27_ = 0;
+ gint _tmp28_ = 0;
+ GeeHashSet* _tmp59_ = NULL;
+ gint _tmp60_ = 0;
+ gint _tmp61_ = 0;
+ gchar* _tmp62_ = NULL;
+ gchar* _tmp63_ = NULL;
+ GError * _inner_error_ = NULL;
+#line 672 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 672 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_BATCH_IMPORT (batch_import));
+#line 672 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_IMPORT_MANIFEST (manifest));
+#line 672 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_BATCH_IMPORT_ROLL (import_roll));
+#line 674 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = batch_import;
+#line 674 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = self->priv->current_batch_import;
+#line 674 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _vala_assert (_tmp0_ == _tmp1_, "batch_import == current_batch_import");
+#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = manifest;
+#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = _tmp2_->all;
+#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _tmp4_;
+#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = g_strdup_printf ("auto-import batch completed %d", _tmp5_);
+#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = _tmp6_;
+#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ directory_monitor_mdbg (_tmp7_);
+#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp7_);
+#line 677 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_emit_by_name (self, "auto-import-progress", (guint64) 0, (guint64) 0);
+#line 5131 "LibraryMonitor.c"
+ {
+ GeeList* _result_list = NULL;
+ ImportManifest* _tmp8_ = NULL;
+ GeeList* _tmp9_ = NULL;
+ GeeList* _tmp10_ = NULL;
+ gint _result_size = 0;
+ GeeList* _tmp11_ = NULL;
+ gint _tmp12_ = 0;
+ gint _tmp13_ = 0;
+ gint _result_index = 0;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = manifest;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _tmp8_->all;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = _g_object_ref0 (_tmp9_);
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _result_list = _tmp10_;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = _result_list;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = _tmp12_;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _result_size = _tmp13_;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _result_index = -1;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 5162 "LibraryMonitor.c"
+ gint _tmp14_ = 0;
+ gint _tmp15_ = 0;
+ gint _tmp16_ = 0;
+ BatchImportResult* _result_ = NULL;
+ GeeList* _tmp17_ = NULL;
+ gint _tmp18_ = 0;
+ gpointer _tmp19_ = NULL;
+ BatchImportResult* _tmp20_ = NULL;
+ GFile* _tmp21_ = NULL;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = _result_index;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _result_index = _tmp14_ + 1;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = _result_index;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = _result_size;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp15_ < _tmp16_)) {
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 5184 "LibraryMonitor.c"
+ }
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = _result_list;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = _result_index;
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = gee_list_get (_tmp17_, _tmp18_);
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _result_ = (BatchImportResult*) _tmp19_;
+#line 682 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp20_ = _result_;
+#line 682 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp21_ = _tmp20_->file;
+#line 682 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp21_ != NULL) {
+#line 5200 "LibraryMonitor.c"
+ GeeHashSet* _tmp22_ = NULL;
+ BatchImportResult* _tmp23_ = NULL;
+ GFile* _tmp24_ = NULL;
+#line 683 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp22_ = self->priv->pending_imports;
+#line 683 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp23_ = _result_;
+#line 683 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp24_ = _tmp23_->file;
+#line 683 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp24_);
+#line 5212 "LibraryMonitor.c"
+ }
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _batch_import_result_unref0 (_result_);
+#line 5216 "LibraryMonitor.c"
+ }
+#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_result_list);
+#line 5220 "LibraryMonitor.c"
+ }
+#line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp25_ = manifest;
+#line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp26_ = _tmp25_->already_imported;
+#line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp27_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp28_ = _tmp27_;
+#line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp28_ > 0) {
+#line 5232 "LibraryMonitor.c"
+ GeeArrayList* to_tombstone = NULL;
+ GeeArrayList* _tmp29_ = NULL;
+#line 687 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp29_ = gee_array_list_new (TYPE_TOMBSTONED_FILE, (GBoxedCopyFunc) tombstoned_file_ref, tombstoned_file_unref, NULL, NULL, NULL);
+#line 687 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ to_tombstone = _tmp29_;
+#line 5239 "LibraryMonitor.c"
+ {
+ GeeList* _result_list = NULL;
+ ImportManifest* _tmp30_ = NULL;
+ GeeList* _tmp31_ = NULL;
+ GeeList* _tmp32_ = NULL;
+ gint _result_size = 0;
+ GeeList* _tmp33_ = NULL;
+ gint _tmp34_ = 0;
+ gint _tmp35_ = 0;
+ gint _result_index = 0;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp30_ = manifest;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp31_ = _tmp30_->already_imported;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp32_ = _g_object_ref0 (_tmp31_);
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _result_list = _tmp32_;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp33_ = _result_list;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp34_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp35_ = _tmp34_;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _result_size = _tmp35_;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _result_index = -1;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 5270 "LibraryMonitor.c"
+ gint _tmp36_ = 0;
+ gint _tmp37_ = 0;
+ gint _tmp38_ = 0;
+ BatchImportResult* _result_ = NULL;
+ GeeList* _tmp39_ = NULL;
+ gint _tmp40_ = 0;
+ gpointer _tmp41_ = NULL;
+ GFileInfo* info = NULL;
+ BatchImportResult* _tmp42_ = NULL;
+ GFile* _tmp43_ = NULL;
+ GFileInfo* _tmp44_ = NULL;
+ GFileInfo* _tmp45_ = NULL;
+ GeeArrayList* _tmp50_ = NULL;
+ BatchImportResult* _tmp51_ = NULL;
+ GFile* _tmp52_ = NULL;
+ GFileInfo* _tmp53_ = NULL;
+ gint64 _tmp54_ = 0LL;
+ TombstonedFile* _tmp55_ = NULL;
+ TombstonedFile* _tmp56_ = NULL;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp36_ = _result_index;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _result_index = _tmp36_ + 1;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp37_ = _result_index;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp38_ = _result_size;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp37_ < _tmp38_)) {
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 5302 "LibraryMonitor.c"
+ }
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp39_ = _result_list;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp40_ = _result_index;
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp41_ = gee_list_get (_tmp39_, _tmp40_);
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _result_ = (BatchImportResult*) _tmp41_;
+#line 689 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp42_ = _result_;
+#line 689 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp43_ = _tmp42_->file;
+#line 689 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp44_ = directory_monitor_get_file_info (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp43_);
+#line 689 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ info = _tmp44_;
+#line 690 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp45_ = info;
+#line 690 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp45_ == NULL) {
+#line 5324 "LibraryMonitor.c"
+ BatchImportResult* _tmp46_ = NULL;
+ GFile* _tmp47_ = NULL;
+ gchar* _tmp48_ = NULL;
+ gchar* _tmp49_ = NULL;
+#line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp46_ = _result_;
+#line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp47_ = _tmp46_->file;
+#line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp48_ = g_file_get_path (_tmp47_);
+#line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp49_ = _tmp48_;
+#line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_warning ("LibraryMonitor.vala:691: Unable to get info for duplicate file %s", _tmp49_);
+#line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp49_);
+#line 693 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (info);
+#line 693 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _batch_import_result_unref0 (_result_);
+#line 693 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ continue;
+#line 5347 "LibraryMonitor.c"
+ }
+#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp50_ = to_tombstone;
+#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp51_ = _result_;
+#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp52_ = _tmp51_->file;
+#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp53_ = info;
+#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp54_ = g_file_info_get_size (_tmp53_);
+#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp55_ = tombstoned_file_new (_tmp52_, _tmp54_, NULL);
+#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp56_ = _tmp55_;
+#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp56_);
+#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tombstoned_file_unref0 (_tmp56_);
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (info);
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _batch_import_result_unref0 (_result_);
+#line 5371 "LibraryMonitor.c"
+ }
+#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_result_list);
+#line 5375 "LibraryMonitor.c"
+ }
+ {
+ GeeArrayList* _tmp57_ = NULL;
+#line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp57_ = to_tombstone;
+#line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ tombstone_entomb_many_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, GEE_TYPE_COLLECTION, GeeCollection), TOMBSTONE_REASON_AUTO_DETECTED_DUPLICATE, &_inner_error_);
+#line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 5387 "LibraryMonitor.c"
+ goto __catch475_database_error;
+ }
+#line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (to_tombstone);
+#line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.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 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_clear_error (&_inner_error_);
+#line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 5398 "LibraryMonitor.c"
+ }
+ }
+ goto __finally475;
+ __catch475_database_error:
+ {
+ GError* err = NULL;
+ GError* _tmp58_ = NULL;
+#line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ err = _inner_error_;
+#line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _inner_error_ = NULL;
+#line 702 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp58_ = err;
+#line 702 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ app_window_database_error (_tmp58_);
+#line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_error_free0 (err);
+#line 5416 "LibraryMonitor.c"
+ }
+ __finally475:
+#line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (to_tombstone);
+#line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.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 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_clear_error (&_inner_error_);
+#line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 5429 "LibraryMonitor.c"
+ }
+#line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (to_tombstone);
+#line 5433 "LibraryMonitor.c"
+ }
+#line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp59_ = self->priv->pending_imports;
+#line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp60_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp61_ = _tmp60_;
+#line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp62_ = g_strdup_printf ("%d files remain pending for auto-import", _tmp61_);
+#line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp63_ = _tmp62_;
+#line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ directory_monitor_mdbg (_tmp63_);
+#line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp63_);
+#line 708 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_discard_current_batch_import (self);
+#line 709 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_schedule_next_batch_import (self);
+#line 5453 "LibraryMonitor.c"
+}
+
+
+void library_monitor_blacklist_file (GFile* file, const gchar* reason) {
+ const gchar* _tmp0_ = NULL;
+ GFile* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ gchar* _tmp4_ = NULL;
+ gchar* _tmp5_ = NULL;
+ GError * _inner_error_ = NULL;
+#line 725 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE (file));
+#line 725 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (reason != NULL);
+#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = reason;
+#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = file;
+#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = g_file_get_path (_tmp1_);
+#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = _tmp2_;
+#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = g_strdup_printf ("[%s] Blacklisting %s", _tmp0_, _tmp3_);
+#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _tmp4_;
+#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ directory_monitor_mdbg (_tmp5_);
+#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp5_);
+#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp3_);
+#line 5487 "LibraryMonitor.c"
+ {
+ GeeHashSet* _tmp6_ = NULL;
+#line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = library_monitor_blacklist;
+#line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_rec_mutex_lock (&__lock_library_monitor_blacklist);
+#line 5494 "LibraryMonitor.c"
+ {
+ GeeHashSet* _tmp7_ = NULL;
+ GFile* _tmp8_ = NULL;
+#line 728 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = library_monitor_blacklist;
+#line 728 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = file;
+#line 728 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp8_);
+#line 5504 "LibraryMonitor.c"
+ }
+ __finally476:
+ {
+ GeeHashSet* _tmp9_ = NULL;
+#line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = library_monitor_blacklist;
+#line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_rec_mutex_unlock (&__lock_library_monitor_blacklist);
+#line 5513 "LibraryMonitor.c"
+ }
+#line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.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 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_clear_error (&_inner_error_);
+#line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 5523 "LibraryMonitor.c"
+ }
+ }
+}
+
+
+void library_monitor_unblacklist_file (GFile* file) {
+ GError * _inner_error_ = NULL;
+#line 732 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE (file));
+#line 5533 "LibraryMonitor.c"
+ {
+ GeeHashSet* _tmp0_ = NULL;
+#line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = library_monitor_blacklist;
+#line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_rec_mutex_lock (&__lock_library_monitor_blacklist);
+#line 5540 "LibraryMonitor.c"
+ {
+ gboolean _tmp1_ = FALSE;
+ GeeHashSet* _tmp2_ = NULL;
+ GFile* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = library_monitor_blacklist;
+#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = file;
+#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp3_);
+#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp4_) {
+#line 5554 "LibraryMonitor.c"
+ HashTimedQueue* _tmp5_ = NULL;
+ GFile* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = library_monitor_to_unblacklist;
+#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = file;
+#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = timed_queue_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_TIMED_QUEUE, TimedQueue), _tmp6_);
+#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = !_tmp7_;
+#line 5566 "LibraryMonitor.c"
+ } else {
+#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = FALSE;
+#line 5570 "LibraryMonitor.c"
+ }
+#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp1_) {
+#line 5574 "LibraryMonitor.c"
+ HashTimedQueue* _tmp8_ = NULL;
+ GFile* _tmp9_ = NULL;
+#line 737 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = library_monitor_to_unblacklist;
+#line 737 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = file;
+#line 737 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ timed_queue_enqueue (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_TIMED_QUEUE, TimedQueue), _tmp9_);
+#line 5583 "LibraryMonitor.c"
+ }
+ }
+ __finally477:
+ {
+ GeeHashSet* _tmp10_ = NULL;
+#line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = library_monitor_blacklist;
+#line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_rec_mutex_unlock (&__lock_library_monitor_blacklist);
+#line 5593 "LibraryMonitor.c"
+ }
+#line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.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 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_clear_error (&_inner_error_);
+#line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 5603 "LibraryMonitor.c"
+ }
+ }
+}
+
+
+static void library_monitor_on_unblacklist_file (GFile* file) {
+ gboolean removed = FALSE;
+ GError * _inner_error_ = NULL;
+#line 741 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE (file));
+#line 5614 "LibraryMonitor.c"
+ {
+ GeeHashSet* _tmp0_ = NULL;
+#line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = library_monitor_blacklist;
+#line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_rec_mutex_lock (&__lock_library_monitor_blacklist);
+#line 5621 "LibraryMonitor.c"
+ {
+ GeeHashSet* _tmp1_ = NULL;
+ GFile* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+#line 744 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = library_monitor_blacklist;
+#line 744 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = file;
+#line 744 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp2_);
+#line 744 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ removed = _tmp3_;
+#line 5634 "LibraryMonitor.c"
+ }
+ __finally478:
+ {
+ GeeHashSet* _tmp4_ = NULL;
+#line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = library_monitor_blacklist;
+#line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_rec_mutex_unlock (&__lock_library_monitor_blacklist);
+#line 5643 "LibraryMonitor.c"
+ }
+#line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.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 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_clear_error (&_inner_error_);
+#line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 5653 "LibraryMonitor.c"
+ }
+ }
+#line 747 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (removed) {
+#line 5658 "LibraryMonitor.c"
+ GFile* _tmp5_ = NULL;
+ gchar* _tmp6_ = NULL;
+ gchar* _tmp7_ = NULL;
+ gchar* _tmp8_ = NULL;
+ gchar* _tmp9_ = NULL;
+#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = file;
+#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = g_file_get_path (_tmp5_);
+#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = _tmp6_;
+#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = g_strdup_printf ("Blacklist for %s removed", _tmp7_);
+#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _tmp8_;
+#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ directory_monitor_mdbg (_tmp9_);
+#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp9_);
+#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp7_);
+#line 5680 "LibraryMonitor.c"
+ } else {
+ GFile* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+ gchar* _tmp12_ = NULL;
+#line 750 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = file;
+#line 750 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = g_file_get_path (_tmp10_);
+#line 750 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = _tmp11_;
+#line 750 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_warning ("LibraryMonitor.vala:750: File %s was not blacklisted but unblacklisted", _tmp12_);
+#line 750 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp12_);
+#line 5695 "LibraryMonitor.c"
+ }
+}
+
+
+gboolean library_monitor_is_blacklisted (GFile* file) {
+ gboolean result = FALSE;
+ GError * _inner_error_ = NULL;
+#line 753 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (G_IS_FILE (file), FALSE);
+#line 5705 "LibraryMonitor.c"
+ {
+ GeeHashSet* _tmp0_ = NULL;
+#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = library_monitor_blacklist;
+#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_rec_mutex_lock (&__lock_library_monitor_blacklist);
+#line 5712 "LibraryMonitor.c"
+ {
+ GeeHashSet* _tmp1_ = NULL;
+ GFile* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+#line 755 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = library_monitor_blacklist;
+#line 755 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = file;
+#line 755 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp2_);
+#line 755 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ result = _tmp3_;
+#line 5725 "LibraryMonitor.c"
+ {
+ GeeHashSet* _tmp4_ = NULL;
+#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = library_monitor_blacklist;
+#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_rec_mutex_unlock (&__lock_library_monitor_blacklist);
+#line 5732 "LibraryMonitor.c"
+ }
+#line 755 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 5736 "LibraryMonitor.c"
+ }
+ __finally479:
+ {
+ GeeHashSet* _tmp5_ = NULL;
+#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = library_monitor_blacklist;
+#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_rec_mutex_unlock (&__lock_library_monitor_blacklist);
+#line 5745 "LibraryMonitor.c"
+ }
+#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.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 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_clear_error (&_inner_error_);
+#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return FALSE;
+#line 5753 "LibraryMonitor.c"
+ }
+}
+
+
+static gboolean library_monitor_is_supported_filetype (LibraryMonitor* self, GFile* file) {
+ gboolean result = FALSE;
+ MediaCollectionRegistry* _tmp0_ = NULL;
+ MediaCollectionRegistry* _tmp1_ = NULL;
+ GFile* _tmp2_ = NULL;
+ MediaSourceCollection* _tmp3_ = NULL;
+ MediaSourceCollection* _tmp4_ = NULL;
+ gboolean _tmp5_ = FALSE;
+#line 759 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (IS_LIBRARY_MONITOR (self), FALSE);
+#line 759 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (G_IS_FILE (file), FALSE);
+#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = media_collection_registry_get_instance ();
+#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = _tmp0_;
+#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = file;
+#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = media_collection_registry_get_collection_for_file (_tmp1_, _tmp2_);
+#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _tmp3_;
+#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _tmp4_ != NULL;
+#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _data_collection_unref0 (_tmp4_);
+#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _media_collection_registry_unref0 (_tmp1_);
+#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ result = _tmp5_;
+#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return result;
+#line 5790 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_import_unrepresented_files (LibraryMonitor* self) {
+ gboolean _tmp0_ = FALSE;
+ GeeArrayList* to_import = NULL;
+ GeeArrayList* _tmp42_ = NULL;
+#line 765 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 766 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->priv->auto_import;
+#line 766 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp0_) {
+#line 767 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 5806 "LibraryMonitor.c"
+ }
+#line 769 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ to_import = NULL;
+#line 5810 "LibraryMonitor.c"
+ {
+ GeeIterator* _file_it = NULL;
+ GeeCollection* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+ GeeIterator* _tmp3_ = NULL;
+ GeeIterator* _tmp4_ = NULL;
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = directory_monitor_get_files (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor));
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = _tmp1_;
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _tmp3_;
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp2_);
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _file_it = _tmp4_;
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 5831 "LibraryMonitor.c"
+ GeeIterator* _tmp5_ = NULL;
+ gboolean _tmp6_ = FALSE;
+ GFile* file = NULL;
+ GeeIterator* _tmp7_ = NULL;
+ gpointer _tmp8_ = NULL;
+ GFileInfo* info = NULL;
+ GFile* _tmp9_ = NULL;
+ GFileInfo* _tmp10_ = NULL;
+ gboolean _tmp11_ = FALSE;
+ GFileInfo* _tmp12_ = NULL;
+ GeeHashSet* _tmp15_ = NULL;
+ GFile* _tmp16_ = NULL;
+ gboolean _tmp17_ = FALSE;
+ TombstoneSourceCollection* _tmp18_ = NULL;
+ GFile* _tmp19_ = NULL;
+ gboolean _tmp20_ = FALSE;
+ gboolean represented = FALSE;
+ gboolean _tmp35_ = FALSE;
+ GFile* _tmp36_ = NULL;
+ gboolean _tmp37_ = FALSE;
+ GeeArrayList* _tmp38_ = NULL;
+ GeeArrayList* _tmp40_ = NULL;
+ GFile* _tmp41_ = NULL;
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _file_it;
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = gee_iterator_next (_tmp5_);
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp6_) {
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 5863 "LibraryMonitor.c"
+ }
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = _file_it;
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = gee_iterator_get (_tmp7_);
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ file = (GFile*) _tmp8_;
+#line 771 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = file;
+#line 771 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = directory_monitor_get_file_info (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp9_);
+#line 771 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ info = _tmp10_;
+#line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = info;
+#line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp12_ == NULL) {
+#line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = TRUE;
+#line 5883 "LibraryMonitor.c"
+ } else {
+ GFileInfo* _tmp13_ = NULL;
+ GFileType _tmp14_ = 0;
+#line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = info;
+#line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = g_file_info_get_file_type (_tmp13_);
+#line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = _tmp14_ != G_FILE_TYPE_REGULAR;
+#line 5893 "LibraryMonitor.c"
+ }
+#line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp11_) {
+#line 773 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (info);
+#line 773 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (file);
+#line 773 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ continue;
+#line 5903 "LibraryMonitor.c"
+ }
+#line 775 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = self->priv->pending_imports;
+#line 775 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = file;
+#line 775 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp16_);
+#line 775 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp17_) {
+#line 776 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (info);
+#line 776 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (file);
+#line 776 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ continue;
+#line 5919 "LibraryMonitor.c"
+ }
+#line 778 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = tombstone_global;
+#line 778 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = file;
+#line 778 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp20_ = tombstone_source_collection_matches (_tmp18_, _tmp19_);
+#line 778 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp20_) {
+#line 779 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (info);
+#line 779 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (file);
+#line 779 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ continue;
+#line 5935 "LibraryMonitor.c"
+ }
+#line 781 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ represented = FALSE;
+#line 5939 "LibraryMonitor.c"
+ {
+ GeeList* _monitor_list = NULL;
+ GeeList* _tmp21_ = NULL;
+ GeeList* _tmp22_ = NULL;
+ gint _monitor_size = 0;
+ GeeList* _tmp23_ = NULL;
+ gint _tmp24_ = 0;
+ gint _tmp25_ = 0;
+ gint _monitor_index = 0;
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp21_ = self->priv->monitors;
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp22_ = _g_object_ref0 (_tmp21_);
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_list = _tmp22_;
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp23_ = _monitor_list;
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp24_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp25_ = _tmp24_;
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_size = _tmp25_;
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = -1;
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 5967 "LibraryMonitor.c"
+ gint _tmp26_ = 0;
+ gint _tmp27_ = 0;
+ gint _tmp28_ = 0;
+ MediaMonitor* monitor = NULL;
+ GeeList* _tmp29_ = NULL;
+ gint _tmp30_ = 0;
+ gpointer _tmp31_ = NULL;
+ MediaMonitor* _tmp32_ = NULL;
+ GFile* _tmp33_ = NULL;
+ gboolean _tmp34_ = FALSE;
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp26_ = _monitor_index;
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = _tmp26_ + 1;
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp27_ = _monitor_index;
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp28_ = _monitor_size;
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp27_ < _tmp28_)) {
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 5990 "LibraryMonitor.c"
+ }
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp29_ = _monitor_list;
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp30_ = _monitor_index;
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp31_ = gee_list_get (_tmp29_, _tmp30_);
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = (MediaMonitor*) _tmp31_;
+#line 783 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp32_ = monitor;
+#line 783 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp33_ = file;
+#line 783 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp34_ = media_monitor_is_file_represented (_tmp32_, _tmp33_);
+#line 783 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp34_) {
+#line 784 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ represented = TRUE;
+#line 786 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 786 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 6014 "LibraryMonitor.c"
+ }
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 6018 "LibraryMonitor.c"
+ }
+#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitor_list);
+#line 6022 "LibraryMonitor.c"
+ }
+#line 790 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp35_ = represented;
+#line 790 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp35_) {
+#line 791 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (info);
+#line 791 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (file);
+#line 791 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ continue;
+#line 6034 "LibraryMonitor.c"
+ }
+#line 793 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp36_ = file;
+#line 793 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp37_ = library_monitor_is_supported_filetype (self, _tmp36_);
+#line 793 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp37_) {
+#line 794 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (info);
+#line 794 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (file);
+#line 794 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ continue;
+#line 6048 "LibraryMonitor.c"
+ }
+#line 796 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp38_ = to_import;
+#line 796 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp38_ == NULL) {
+#line 6054 "LibraryMonitor.c"
+ GeeArrayList* _tmp39_ = NULL;
+#line 797 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp39_ = gee_array_list_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_equal_gee_equal_data_func, NULL, NULL);
+#line 797 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (to_import);
+#line 797 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ to_import = _tmp39_;
+#line 6062 "LibraryMonitor.c"
+ }
+#line 799 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp40_ = to_import;
+#line 799 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp41_ = file;
+#line 799 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp41_);
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (info);
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (file);
+#line 6074 "LibraryMonitor.c"
+ }
+#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_file_it);
+#line 6078 "LibraryMonitor.c"
+ }
+#line 802 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp42_ = to_import;
+#line 802 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp42_ != NULL) {
+#line 6084 "LibraryMonitor.c"
+ GeeArrayList* _tmp43_ = NULL;
+#line 803 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp43_ = to_import;
+#line 803 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_enqueue_import_many (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 6090 "LibraryMonitor.c"
+ }
+#line 765 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (to_import);
+#line 6094 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_runtime_unknown_file_discovered (LibraryMonitor* self, GFile* file) {
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+#line 808 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 808 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE (file));
+#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = self->priv->auto_import;
+#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp2_) {
+#line 6110 "LibraryMonitor.c"
+ GFile* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = file;
+#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = library_monitor_is_supported_filetype (self, _tmp3_);
+#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = _tmp4_;
+#line 6119 "LibraryMonitor.c"
+ } else {
+#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = FALSE;
+#line 6123 "LibraryMonitor.c"
+ }
+#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp1_) {
+#line 6127 "LibraryMonitor.c"
+ TombstoneSourceCollection* _tmp5_ = NULL;
+ GFile* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = tombstone_global;
+#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = file;
+#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = tombstone_source_collection_matches (_tmp5_, _tmp6_);
+#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = !_tmp7_;
+#line 6139 "LibraryMonitor.c"
+ } else {
+#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = FALSE;
+#line 6143 "LibraryMonitor.c"
+ }
+#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp0_) {
+#line 6147 "LibraryMonitor.c"
+ GFile* _tmp8_ = NULL;
+ gchar* _tmp9_ = NULL;
+ gchar* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+ gchar* _tmp12_ = NULL;
+ GFile* _tmp13_ = NULL;
+#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = file;
+#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = g_file_get_path (_tmp8_);
+#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = _tmp9_;
+#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = g_strdup_printf ("Unknown file %s discovered, enqueuing for import", _tmp10_);
+#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = _tmp11_;
+#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ directory_monitor_mdbg (_tmp12_);
+#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp12_);
+#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp10_);
+#line 811 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = file;
+#line 811 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_enqueue_import (self, _tmp13_);
+#line 6174 "LibraryMonitor.c"
+ }
+}
+
+
+static void library_monitor_real_notify_file_created (DirectoryMonitor* base, GFile* file, GFileInfo* info) {
+ LibraryMonitor * self;
+ GFile* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ gboolean known = FALSE;
+ gboolean _tmp19_ = FALSE;
+ gboolean _tmp98_ = FALSE;
+ GFile* _tmp100_ = NULL;
+ GFileInfo* _tmp101_ = NULL;
+#line 815 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor);
+#line 815 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE (file));
+#line 815 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE_INFO (info));
+#line 816 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = file;
+#line 816 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = library_monitor_is_blacklisted (_tmp0_);
+#line 816 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp1_) {
+#line 6200 "LibraryMonitor.c"
+ GFile* _tmp2_ = NULL;
+ GFileInfo* _tmp3_ = NULL;
+#line 817 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = file;
+#line 817 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = info;
+#line 817 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_created (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp2_, _tmp3_);
+#line 819 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 6211 "LibraryMonitor.c"
+ }
+#line 822 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ known = FALSE;
+#line 6215 "LibraryMonitor.c"
+ {
+ GeeList* _monitor_list = NULL;
+ GeeList* _tmp4_ = NULL;
+ GeeList* _tmp5_ = NULL;
+ gint _monitor_size = 0;
+ GeeList* _tmp6_ = NULL;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+ gint _monitor_index = 0;
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = self->priv->monitors;
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _g_object_ref0 (_tmp4_);
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_list = _tmp5_;
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = _monitor_list;
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = _tmp7_;
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_size = _tmp8_;
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = -1;
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 6243 "LibraryMonitor.c"
+ gint _tmp9_ = 0;
+ gint _tmp10_ = 0;
+ gint _tmp11_ = 0;
+ MediaMonitor* monitor = NULL;
+ GeeList* _tmp12_ = NULL;
+ gint _tmp13_ = 0;
+ gpointer _tmp14_ = NULL;
+ MediaMonitor* _tmp15_ = NULL;
+ GFile* _tmp16_ = NULL;
+ GFileInfo* _tmp17_ = NULL;
+ gboolean _tmp18_ = FALSE;
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _monitor_index;
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = _tmp9_ + 1;
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = _monitor_index;
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = _monitor_size;
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp10_ < _tmp11_)) {
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 6267 "LibraryMonitor.c"
+ }
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = _monitor_list;
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = _monitor_index;
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = gee_list_get (_tmp12_, _tmp13_);
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = (MediaMonitor*) _tmp14_;
+#line 824 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = monitor;
+#line 824 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = file;
+#line 824 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = info;
+#line 824 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = media_monitor_notify_file_created (_tmp15_, _tmp16_, _tmp17_);
+#line 824 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp18_) {
+#line 825 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ known = TRUE;
+#line 827 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 827 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 6293 "LibraryMonitor.c"
+ }
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 6297 "LibraryMonitor.c"
+ }
+#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitor_list);
+#line 6301 "LibraryMonitor.c"
+ }
+#line 831 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = known;
+#line 831 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp19_) {
+#line 6307 "LibraryMonitor.c"
+ GeeHashSet* all_candidates = NULL;
+ gboolean _tmp78_ = FALSE;
+ gboolean _tmp79_ = FALSE;
+ gboolean _tmp80_ = FALSE;
+#line 833 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ all_candidates = NULL;
+#line 6314 "LibraryMonitor.c"
+ {
+ GeeList* _monitor_list = NULL;
+ GeeList* _tmp20_ = NULL;
+ GeeList* _tmp21_ = NULL;
+ gint _monitor_size = 0;
+ GeeList* _tmp22_ = NULL;
+ gint _tmp23_ = 0;
+ gint _tmp24_ = 0;
+ gint _monitor_index = 0;
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp20_ = self->priv->monitors;
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp21_ = _g_object_ref0 (_tmp20_);
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_list = _tmp21_;
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp22_ = _monitor_list;
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp23_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp24_ = _tmp23_;
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_size = _tmp24_;
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = -1;
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 6342 "LibraryMonitor.c"
+ gint _tmp25_ = 0;
+ gint _tmp26_ = 0;
+ gint _tmp27_ = 0;
+ MediaMonitor* monitor = NULL;
+ GeeList* _tmp28_ = NULL;
+ gint _tmp29_ = 0;
+ gpointer _tmp30_ = NULL;
+ MediaMonitorDiscoveredFile _result_ = 0;
+ GeeCollection* candidates = NULL;
+ MediaMonitor* _tmp31_ = NULL;
+ GFile* _tmp32_ = NULL;
+ GFileInfo* _tmp33_ = NULL;
+ MediaMonitorDiscoveredFile _tmp34_ = 0;
+ GeeCollection* _tmp35_ = NULL;
+ gboolean _tmp36_ = FALSE;
+ MediaMonitorDiscoveredFile _tmp37_ = 0;
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp25_ = _monitor_index;
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = _tmp25_ + 1;
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp26_ = _monitor_index;
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp27_ = _monitor_size;
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp26_ < _tmp27_)) {
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 6371 "LibraryMonitor.c"
+ }
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp28_ = _monitor_list;
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp29_ = _monitor_index;
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp30_ = gee_list_get (_tmp28_, _tmp29_);
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = (MediaMonitor*) _tmp30_;
+#line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp31_ = monitor;
+#line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp32_ = file;
+#line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp33_ = info;
+#line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp35_ = media_monitor_candidates_for_unknown_file (_tmp31_, _tmp32_, _tmp33_, &_tmp34_);
+#line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _result_ = _tmp34_;
+#line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ candidates = _tmp35_;
+#line 838 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp37_ = _result_;
+#line 838 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp37_ == MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED) {
+#line 838 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp36_ = TRUE;
+#line 6399 "LibraryMonitor.c"
+ } else {
+ MediaMonitorDiscoveredFile _tmp38_ = 0;
+#line 839 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp38_ = _result_;
+#line 839 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp36_ = _tmp38_ == MEDIA_MONITOR_DISCOVERED_FILE_IGNORE;
+#line 6406 "LibraryMonitor.c"
+ }
+#line 838 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp36_) {
+#line 6410 "LibraryMonitor.c"
+ MediaMonitor* _tmp39_ = NULL;
+ gchar* _tmp40_ = NULL;
+ gchar* _tmp41_ = NULL;
+ MediaMonitorDiscoveredFile _tmp42_ = 0;
+ GEnumValue* _tmp43_;
+ GFile* _tmp44_ = NULL;
+ gchar* _tmp45_ = NULL;
+ gchar* _tmp46_ = NULL;
+ gchar* _tmp47_ = NULL;
+ gchar* _tmp48_ = NULL;
+#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp39_ = monitor;
+#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp40_ = media_monitor_to_string (_tmp39_);
+#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp41_ = _tmp40_;
+#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp42_ = _result_;
+#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp43_ = g_enum_get_value (g_type_class_ref (MEDIA_MONITOR_TYPE_DISCOVERED_FILE), _tmp42_);
+#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp44_ = file;
+#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp45_ = g_file_get_path (_tmp44_);
+#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp46_ = _tmp45_;
+#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp47_ = g_strdup_printf ("%s %s created file %s", _tmp41_, (_tmp43_ != NULL) ? _tmp43_->value_name : NULL, _tmp46_);
+#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp48_ = _tmp47_;
+#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ directory_monitor_mdbg (_tmp48_);
+#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp48_);
+#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp46_);
+#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp41_);
+#line 843 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ known = TRUE;
+#line 845 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (candidates);
+#line 845 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 845 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 6457 "LibraryMonitor.c"
+ } else {
+ gboolean _tmp49_ = FALSE;
+ GeeCollection* _tmp50_ = NULL;
+#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp50_ = candidates;
+#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp50_ != NULL) {
+#line 6465 "LibraryMonitor.c"
+ GeeCollection* _tmp51_ = NULL;
+ gint _tmp52_ = 0;
+ gint _tmp53_ = 0;
+#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp51_ = candidates;
+#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp52_ = gee_collection_get_size (_tmp51_);
+#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp53_ = _tmp52_;
+#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp49_ = _tmp53_ > 0;
+#line 6477 "LibraryMonitor.c"
+ } else {
+#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp49_ = FALSE;
+#line 6481 "LibraryMonitor.c"
+ }
+#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp49_) {
+#line 6485 "LibraryMonitor.c"
+ MediaMonitor* _tmp54_ = NULL;
+ gchar* _tmp55_ = NULL;
+ gchar* _tmp56_ = NULL;
+ GeeCollection* _tmp57_ = NULL;
+ gint _tmp58_ = 0;
+ gint _tmp59_ = 0;
+ GFile* _tmp60_ = NULL;
+ gchar* _tmp61_ = NULL;
+ gchar* _tmp62_ = NULL;
+ gchar* _tmp63_ = NULL;
+ gchar* _tmp64_ = NULL;
+ GeeHashSet* _tmp65_ = NULL;
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp54_ = monitor;
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp55_ = media_monitor_to_string (_tmp54_);
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp56_ = _tmp55_;
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp57_ = candidates;
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp58_ = gee_collection_get_size (_tmp57_);
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp59_ = _tmp58_;
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp60_ = file;
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp61_ = g_file_get_path (_tmp60_);
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp62_ = _tmp61_;
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp63_ = g_strdup_printf ("%s suggests %d candidates for created file %s", _tmp56_, _tmp59_, _tmp62_);
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp64_ = _tmp63_;
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ directory_monitor_mdbg (_tmp64_);
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp64_);
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp62_);
+#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp56_);
+#line 850 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp65_ = all_candidates;
+#line 850 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp65_ == NULL) {
+#line 6532 "LibraryMonitor.c"
+ GeeHashSet* _tmp66_ = NULL;
+#line 851 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp66_ = gee_hash_set_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 851 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (all_candidates);
+#line 851 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ all_candidates = _tmp66_;
+#line 6540 "LibraryMonitor.c"
+ }
+ {
+ GeeIterator* _candidate_it = NULL;
+ GeeCollection* _tmp67_ = NULL;
+ GeeIterator* _tmp68_ = NULL;
+#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp67_ = candidates;
+#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp68_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _candidate_it = _tmp68_;
+#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 6554 "LibraryMonitor.c"
+ GeeIterator* _tmp69_ = NULL;
+ gboolean _tmp70_ = FALSE;
+ Monitorable* candidate = NULL;
+ GeeIterator* _tmp71_ = NULL;
+ gpointer _tmp72_ = NULL;
+ MediaMonitor* _tmp73_ = NULL;
+ Monitorable* _tmp74_ = NULL;
+ gboolean _tmp75_ = FALSE;
+#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp69_ = _candidate_it;
+#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp70_ = gee_iterator_next (_tmp69_);
+#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp70_) {
+#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 6571 "LibraryMonitor.c"
+ }
+#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp71_ = _candidate_it;
+#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp72_ = gee_iterator_get (_tmp71_);
+#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ candidate = (Monitorable*) _tmp72_;
+#line 854 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp73_ = monitor;
+#line 854 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp74_ = candidate;
+#line 854 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp75_ = media_monitor_is_offline (_tmp73_, _tmp74_);
+#line 854 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp75_) {
+#line 6587 "LibraryMonitor.c"
+ GeeHashSet* _tmp76_ = NULL;
+ Monitorable* _tmp77_ = NULL;
+#line 855 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp76_ = all_candidates;
+#line 855 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp77_ = candidate;
+#line 855 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp77_);
+#line 6596 "LibraryMonitor.c"
+ }
+#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (candidate);
+#line 6600 "LibraryMonitor.c"
+ }
+#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_candidate_it);
+#line 6604 "LibraryMonitor.c"
+ }
+ }
+ }
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (candidates);
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 6612 "LibraryMonitor.c"
+ }
+#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitor_list);
+#line 6616 "LibraryMonitor.c"
+ }
+#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp80_ = known;
+#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp80_) {
+#line 6622 "LibraryMonitor.c"
+ GeeHashSet* _tmp81_ = NULL;
+#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp81_ = all_candidates;
+#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp79_ = _tmp81_ != NULL;
+#line 6628 "LibraryMonitor.c"
+ } else {
+#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp79_ = FALSE;
+#line 6632 "LibraryMonitor.c"
+ }
+#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp79_) {
+#line 6636 "LibraryMonitor.c"
+ GeeHashSet* _tmp82_ = NULL;
+ gint _tmp83_ = 0;
+ gint _tmp84_ = 0;
+#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp82_ = all_candidates;
+#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp83_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp84_ = _tmp83_;
+#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp78_ = _tmp84_ > 0;
+#line 6648 "LibraryMonitor.c"
+ } else {
+#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp78_ = FALSE;
+#line 6652 "LibraryMonitor.c"
+ }
+#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp78_) {
+#line 6656 "LibraryMonitor.c"
+ GeeHashSet* _tmp85_ = NULL;
+ gint _tmp86_ = 0;
+ gint _tmp87_ = 0;
+ GFile* _tmp88_ = NULL;
+ gchar* _tmp89_ = NULL;
+ gchar* _tmp90_ = NULL;
+ gchar* _tmp91_ = NULL;
+ gchar* _tmp92_ = NULL;
+ Workers* _tmp93_ = NULL;
+ GFile* _tmp94_ = NULL;
+ GeeHashSet* _tmp95_ = NULL;
+ LibraryMonitorRuntimeFindMoveJob* _tmp96_ = NULL;
+ LibraryMonitorRuntimeFindMoveJob* _tmp97_ = NULL;
+#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp85_ = all_candidates;
+#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp86_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp85_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp87_ = _tmp86_;
+#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp88_ = file;
+#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp89_ = g_file_get_path (_tmp88_);
+#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp90_ = _tmp89_;
+#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp91_ = g_strdup_printf ("%d candidates for created file %s being checksummed", _tmp87_, _tmp90_);
+#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp92_ = _tmp91_;
+#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ directory_monitor_mdbg (_tmp92_);
+#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp92_);
+#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp90_);
+#line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp93_ = self->priv->workers;
+#line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp94_ = file;
+#line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp95_ = all_candidates;
+#line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp96_ = library_monitor_runtime_find_move_job_new (self, _tmp94_, G_TYPE_CHECK_INSTANCE_CAST (_tmp95_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp97_ = _tmp96_;
+#line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ workers_enqueue (_tmp93_, G_TYPE_CHECK_INSTANCE_CAST (_tmp97_, TYPE_BACKGROUND_JOB, BackgroundJob));
+#line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _background_job_unref0 (_tmp97_);
+#line 866 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ known = TRUE;
+#line 6708 "LibraryMonitor.c"
+ }
+#line 831 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (all_candidates);
+#line 6712 "LibraryMonitor.c"
+ }
+#line 870 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp98_ = known;
+#line 870 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp98_) {
+#line 6718 "LibraryMonitor.c"
+ GFile* _tmp99_ = NULL;
+#line 871 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp99_ = file;
+#line 871 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_runtime_unknown_file_discovered (self, _tmp99_);
+#line 6724 "LibraryMonitor.c"
+ }
+#line 873 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp100_ = file;
+#line 873 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp101_ = info;
+#line 873 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_created (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp100_, _tmp101_);
+#line 6732 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_on_runtime_find_move_completed (LibraryMonitor* self, BackgroundJob* j) {
+ LibraryMonitorRuntimeFindMoveJob* job = NULL;
+ BackgroundJob* _tmp0_ = NULL;
+ LibraryMonitorRuntimeFindMoveJob* _tmp1_ = NULL;
+ LibraryMonitorRuntimeFindMoveJob* _tmp2_ = NULL;
+ GError* _tmp3_ = NULL;
+ LibraryMonitorRuntimeFindMoveJob* _tmp11_ = NULL;
+ Monitorable* _tmp12_ = NULL;
+#line 876 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_LIBRARY_MONITOR (self));
+#line 876 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (IS_BACKGROUND_JOB (j));
+#line 877 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = j;
+#line 877 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, LibraryMonitorRuntimeFindMoveJob));
+#line 877 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ job = _tmp1_;
+#line 879 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = job;
+#line 879 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = _tmp2_->err;
+#line 879 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp3_ != NULL) {
+#line 6760 "LibraryMonitor.c"
+ LibraryMonitorRuntimeFindMoveJob* _tmp4_ = NULL;
+ GFile* _tmp5_ = NULL;
+ gchar* _tmp6_ = NULL;
+ gchar* _tmp7_ = NULL;
+ LibraryMonitorRuntimeFindMoveJob* _tmp8_ = NULL;
+ GError* _tmp9_ = NULL;
+ const gchar* _tmp10_ = NULL;
+#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = job;
+#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _tmp4_->file;
+#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = g_file_get_path (_tmp5_);
+#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = _tmp6_;
+#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = job;
+#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _tmp8_->err;
+#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = _tmp9_->message;
+#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_critical ("LibraryMonitor.vala:880: Error attempting to find a match at runtime f" \
+"or %s: %s", _tmp7_, _tmp10_);
+#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp7_);
+#line 6786 "LibraryMonitor.c"
+ }
+#line 884 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = job;
+#line 884 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = _tmp11_->match;
+#line 884 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp12_ != NULL) {
+#line 6794 "LibraryMonitor.c"
+ MediaMonitor* monitor = NULL;
+ LibraryMonitorRuntimeFindMoveJob* _tmp13_ = NULL;
+ Monitorable* _tmp14_ = NULL;
+ MediaMonitor* _tmp15_ = NULL;
+ MediaMonitor* _tmp16_ = NULL;
+ LibraryMonitorRuntimeFindMoveJob* _tmp17_ = NULL;
+ Monitorable* _tmp18_ = NULL;
+ LibraryMonitorRuntimeFindMoveJob* _tmp19_ = NULL;
+ GFile* _tmp20_ = NULL;
+ MediaMonitor* _tmp21_ = NULL;
+ LibraryMonitorRuntimeFindMoveJob* _tmp22_ = NULL;
+ Monitorable* _tmp23_ = NULL;
+#line 885 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = job;
+#line 885 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = _tmp13_->match;
+#line 885 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = library_monitor_get_monitor_for_monitorable (self, _tmp14_);
+#line 885 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = _tmp15_;
+#line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = monitor;
+#line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = job;
+#line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = _tmp17_->match;
+#line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = job;
+#line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp20_ = _tmp19_->file;
+#line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ media_monitor_update_master_file (_tmp16_, _tmp18_, _tmp20_);
+#line 887 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp21_ = monitor;
+#line 887 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp22_ = job;
+#line 887 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp23_ = _tmp22_->match;
+#line 887 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ media_monitor_update_online (_tmp21_, _tmp23_);
+#line 884 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 6837 "LibraryMonitor.c"
+ } else {
+ LibraryMonitorRuntimeFindMoveJob* _tmp24_ = NULL;
+ GFile* _tmp25_ = NULL;
+#line 890 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp24_ = job;
+#line 890 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp25_ = _tmp24_->file;
+#line 890 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_runtime_unknown_file_discovered (self, _tmp25_);
+#line 6847 "LibraryMonitor.c"
+ }
+#line 876 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _background_job_unref0 (job);
+#line 6851 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_real_notify_file_moved (DirectoryMonitor* base, GFile* old_file, GFile* new_file, GFileInfo* new_info) {
+ LibraryMonitor * self;
+ gboolean _tmp0_ = FALSE;
+ GFile* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gboolean known = FALSE;
+ gboolean _tmp24_ = FALSE;
+ GFile* _tmp26_ = NULL;
+ GFile* _tmp27_ = NULL;
+ GFileInfo* _tmp28_ = NULL;
+#line 894 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor);
+#line 894 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE (old_file));
+#line 894 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE (new_file));
+#line 894 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE_INFO (new_info));
+#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = old_file;
+#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = library_monitor_is_blacklisted (_tmp1_);
+#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp2_) {
+#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = TRUE;
+#line 6881 "LibraryMonitor.c"
+ } else {
+ GFile* _tmp3_ = NULL;
+ gboolean _tmp4_ = FALSE;
+#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = new_file;
+#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = library_monitor_is_blacklisted (_tmp3_);
+#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = _tmp4_;
+#line 6891 "LibraryMonitor.c"
+ }
+#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp0_) {
+#line 6895 "LibraryMonitor.c"
+ GFile* _tmp5_ = NULL;
+ GFile* _tmp6_ = NULL;
+ GFileInfo* _tmp7_ = NULL;
+#line 896 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = old_file;
+#line 896 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = new_file;
+#line 896 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = new_info;
+#line 896 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_moved (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp5_, _tmp6_, _tmp7_);
+#line 898 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 6909 "LibraryMonitor.c"
+ }
+#line 901 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ known = FALSE;
+#line 6913 "LibraryMonitor.c"
+ {
+ GeeList* _monitor_list = NULL;
+ GeeList* _tmp8_ = NULL;
+ GeeList* _tmp9_ = NULL;
+ gint _monitor_size = 0;
+ GeeList* _tmp10_ = NULL;
+ gint _tmp11_ = 0;
+ gint _tmp12_ = 0;
+ gint _monitor_index = 0;
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = self->priv->monitors;
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _g_object_ref0 (_tmp8_);
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_list = _tmp9_;
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = _monitor_list;
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = _tmp11_;
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_size = _tmp12_;
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = -1;
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 6941 "LibraryMonitor.c"
+ gint _tmp13_ = 0;
+ gint _tmp14_ = 0;
+ gint _tmp15_ = 0;
+ MediaMonitor* monitor = NULL;
+ GeeList* _tmp16_ = NULL;
+ gint _tmp17_ = 0;
+ gpointer _tmp18_ = NULL;
+ MediaMonitor* _tmp19_ = NULL;
+ GFile* _tmp20_ = NULL;
+ GFile* _tmp21_ = NULL;
+ GFileInfo* _tmp22_ = NULL;
+ gboolean _tmp23_ = FALSE;
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = _monitor_index;
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = _tmp13_ + 1;
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = _monitor_index;
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = _monitor_size;
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp14_ < _tmp15_)) {
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 6966 "LibraryMonitor.c"
+ }
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = _monitor_list;
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = _monitor_index;
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = gee_list_get (_tmp16_, _tmp17_);
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = (MediaMonitor*) _tmp18_;
+#line 903 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = monitor;
+#line 903 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp20_ = old_file;
+#line 903 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp21_ = new_file;
+#line 903 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp22_ = new_info;
+#line 903 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp23_ = media_monitor_notify_file_moved (_tmp19_, _tmp20_, _tmp21_, _tmp22_);
+#line 903 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp23_) {
+#line 904 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ known = TRUE;
+#line 906 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 906 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 6994 "LibraryMonitor.c"
+ }
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 6998 "LibraryMonitor.c"
+ }
+#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitor_list);
+#line 7002 "LibraryMonitor.c"
+ }
+#line 910 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp24_ = known;
+#line 910 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp24_) {
+#line 7008 "LibraryMonitor.c"
+ GFile* _tmp25_ = NULL;
+#line 911 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp25_ = new_file;
+#line 911 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_runtime_unknown_file_discovered (self, _tmp25_);
+#line 7014 "LibraryMonitor.c"
+ }
+#line 913 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp26_ = old_file;
+#line 913 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp27_ = new_file;
+#line 913 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp28_ = new_info;
+#line 913 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_moved (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp26_, _tmp27_, _tmp28_);
+#line 7024 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_real_notify_file_altered (DirectoryMonitor* base, GFile* file) {
+ LibraryMonitor * self;
+ GFile* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ gboolean known = FALSE;
+ gboolean _tmp17_ = FALSE;
+ GFile* _tmp19_ = NULL;
+#line 916 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor);
+#line 916 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE (file));
+#line 917 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = file;
+#line 917 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = library_monitor_is_blacklisted (_tmp0_);
+#line 917 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp1_) {
+#line 7045 "LibraryMonitor.c"
+ GFile* _tmp2_ = NULL;
+#line 918 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = file;
+#line 918 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp2_);
+#line 920 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 7053 "LibraryMonitor.c"
+ }
+#line 923 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ known = FALSE;
+#line 7057 "LibraryMonitor.c"
+ {
+ GeeList* _monitor_list = NULL;
+ GeeList* _tmp3_ = NULL;
+ GeeList* _tmp4_ = NULL;
+ gint _monitor_size = 0;
+ GeeList* _tmp5_ = NULL;
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+ gint _monitor_index = 0;
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = self->priv->monitors;
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _g_object_ref0 (_tmp3_);
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_list = _tmp4_;
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _monitor_list;
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = _tmp6_;
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_size = _tmp7_;
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = -1;
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 7085 "LibraryMonitor.c"
+ gint _tmp8_ = 0;
+ gint _tmp9_ = 0;
+ gint _tmp10_ = 0;
+ MediaMonitor* monitor = NULL;
+ GeeList* _tmp11_ = NULL;
+ gint _tmp12_ = 0;
+ gpointer _tmp13_ = NULL;
+ MediaMonitor* _tmp14_ = NULL;
+ GFile* _tmp15_ = NULL;
+ gboolean _tmp16_ = FALSE;
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = _monitor_index;
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = _tmp8_ + 1;
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _monitor_index;
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = _monitor_size;
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp9_ < _tmp10_)) {
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 7108 "LibraryMonitor.c"
+ }
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = _monitor_list;
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = _monitor_index;
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = gee_list_get (_tmp11_, _tmp12_);
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = (MediaMonitor*) _tmp13_;
+#line 925 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = monitor;
+#line 925 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = file;
+#line 925 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = media_monitor_notify_file_altered (_tmp14_, _tmp15_);
+#line 925 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp16_) {
+#line 926 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ known = TRUE;
+#line 928 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 928 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 7132 "LibraryMonitor.c"
+ }
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 7136 "LibraryMonitor.c"
+ }
+#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitor_list);
+#line 7140 "LibraryMonitor.c"
+ }
+#line 932 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = known;
+#line 932 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp17_) {
+#line 7146 "LibraryMonitor.c"
+ GFile* _tmp18_ = NULL;
+#line 933 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = file;
+#line 933 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_runtime_unknown_file_discovered (self, _tmp18_);
+#line 7152 "LibraryMonitor.c"
+ }
+#line 935 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = file;
+#line 935 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp19_);
+#line 7158 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_real_notify_file_attributes_altered (DirectoryMonitor* base, GFile* file) {
+ LibraryMonitor * self;
+ GFile* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ gboolean known = FALSE;
+ gboolean _tmp17_ = FALSE;
+ GFile* _tmp19_ = NULL;
+#line 938 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor);
+#line 938 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE (file));
+#line 939 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = file;
+#line 939 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = library_monitor_is_blacklisted (_tmp0_);
+#line 939 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp1_) {
+#line 7179 "LibraryMonitor.c"
+ GFile* _tmp2_ = NULL;
+#line 940 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = file;
+#line 940 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_attributes_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp2_);
+#line 942 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 7187 "LibraryMonitor.c"
+ }
+#line 945 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ known = FALSE;
+#line 7191 "LibraryMonitor.c"
+ {
+ GeeList* _monitor_list = NULL;
+ GeeList* _tmp3_ = NULL;
+ GeeList* _tmp4_ = NULL;
+ gint _monitor_size = 0;
+ GeeList* _tmp5_ = NULL;
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+ gint _monitor_index = 0;
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = self->priv->monitors;
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _g_object_ref0 (_tmp3_);
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_list = _tmp4_;
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _monitor_list;
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = _tmp6_;
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_size = _tmp7_;
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = -1;
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 7219 "LibraryMonitor.c"
+ gint _tmp8_ = 0;
+ gint _tmp9_ = 0;
+ gint _tmp10_ = 0;
+ MediaMonitor* monitor = NULL;
+ GeeList* _tmp11_ = NULL;
+ gint _tmp12_ = 0;
+ gpointer _tmp13_ = NULL;
+ MediaMonitor* _tmp14_ = NULL;
+ GFile* _tmp15_ = NULL;
+ gboolean _tmp16_ = FALSE;
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = _monitor_index;
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = _tmp8_ + 1;
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _monitor_index;
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = _monitor_size;
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp9_ < _tmp10_)) {
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 7242 "LibraryMonitor.c"
+ }
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = _monitor_list;
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = _monitor_index;
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = gee_list_get (_tmp11_, _tmp12_);
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = (MediaMonitor*) _tmp13_;
+#line 947 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = monitor;
+#line 947 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = file;
+#line 947 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = media_monitor_notify_file_attributes_altered (_tmp14_, _tmp15_);
+#line 947 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp16_) {
+#line 948 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ known = TRUE;
+#line 950 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 950 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 7266 "LibraryMonitor.c"
+ }
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 7270 "LibraryMonitor.c"
+ }
+#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitor_list);
+#line 7274 "LibraryMonitor.c"
+ }
+#line 954 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = known;
+#line 954 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp17_) {
+#line 7280 "LibraryMonitor.c"
+ GFile* _tmp18_ = NULL;
+#line 955 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = file;
+#line 955 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_runtime_unknown_file_discovered (self, _tmp18_);
+#line 7286 "LibraryMonitor.c"
+ }
+#line 957 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = file;
+#line 957 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_attributes_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp19_);
+#line 7292 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_real_notify_file_alteration_completed (DirectoryMonitor* base, GFile* file, GFileInfo* info) {
+ LibraryMonitor * self;
+ GFile* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ gboolean known = FALSE;
+ gboolean _tmp19_ = FALSE;
+ GFile* _tmp21_ = NULL;
+ GFileInfo* _tmp22_ = NULL;
+#line 960 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor);
+#line 960 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE (file));
+#line 960 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE_INFO (info));
+#line 961 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = file;
+#line 961 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = library_monitor_is_blacklisted (_tmp0_);
+#line 961 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp1_) {
+#line 7316 "LibraryMonitor.c"
+ GFile* _tmp2_ = NULL;
+ GFileInfo* _tmp3_ = NULL;
+#line 962 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = file;
+#line 962 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = info;
+#line 962 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_alteration_completed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp2_, _tmp3_);
+#line 964 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 7327 "LibraryMonitor.c"
+ }
+#line 967 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ known = FALSE;
+#line 7331 "LibraryMonitor.c"
+ {
+ GeeList* _monitor_list = NULL;
+ GeeList* _tmp4_ = NULL;
+ GeeList* _tmp5_ = NULL;
+ gint _monitor_size = 0;
+ GeeList* _tmp6_ = NULL;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+ gint _monitor_index = 0;
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = self->priv->monitors;
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _g_object_ref0 (_tmp4_);
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_list = _tmp5_;
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = _monitor_list;
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = _tmp7_;
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_size = _tmp8_;
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = -1;
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 7359 "LibraryMonitor.c"
+ gint _tmp9_ = 0;
+ gint _tmp10_ = 0;
+ gint _tmp11_ = 0;
+ MediaMonitor* monitor = NULL;
+ GeeList* _tmp12_ = NULL;
+ gint _tmp13_ = 0;
+ gpointer _tmp14_ = NULL;
+ MediaMonitor* _tmp15_ = NULL;
+ GFile* _tmp16_ = NULL;
+ GFileInfo* _tmp17_ = NULL;
+ gboolean _tmp18_ = FALSE;
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _monitor_index;
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = _tmp9_ + 1;
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = _monitor_index;
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = _monitor_size;
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp10_ < _tmp11_)) {
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 7383 "LibraryMonitor.c"
+ }
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = _monitor_list;
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = _monitor_index;
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = gee_list_get (_tmp12_, _tmp13_);
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = (MediaMonitor*) _tmp14_;
+#line 969 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = monitor;
+#line 969 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = file;
+#line 969 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = info;
+#line 969 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = media_monitor_notify_file_alteration_completed (_tmp15_, _tmp16_, _tmp17_);
+#line 969 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp18_) {
+#line 970 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ known = TRUE;
+#line 972 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 972 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 7409 "LibraryMonitor.c"
+ }
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 7413 "LibraryMonitor.c"
+ }
+#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitor_list);
+#line 7417 "LibraryMonitor.c"
+ }
+#line 976 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = known;
+#line 976 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp19_) {
+#line 7423 "LibraryMonitor.c"
+ GFile* _tmp20_ = NULL;
+#line 977 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp20_ = file;
+#line 977 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_runtime_unknown_file_discovered (self, _tmp20_);
+#line 7429 "LibraryMonitor.c"
+ }
+#line 979 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp21_ = file;
+#line 979 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp22_ = info;
+#line 979 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_alteration_completed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp21_, _tmp22_);
+#line 7437 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_real_notify_file_deleted (DirectoryMonitor* base, GFile* file) {
+ LibraryMonitor * self;
+ GFile* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ gboolean known = FALSE;
+ gboolean _tmp17_ = FALSE;
+ GFile* _tmp28_ = NULL;
+#line 982 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor);
+#line 982 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_IS_FILE (file));
+#line 983 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = file;
+#line 983 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = library_monitor_is_blacklisted (_tmp0_);
+#line 983 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp1_) {
+#line 7458 "LibraryMonitor.c"
+ GFile* _tmp2_ = NULL;
+#line 984 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = file;
+#line 984 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_deleted (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp2_);
+#line 986 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 7466 "LibraryMonitor.c"
+ }
+#line 989 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ known = FALSE;
+#line 7470 "LibraryMonitor.c"
+ {
+ GeeList* _monitor_list = NULL;
+ GeeList* _tmp3_ = NULL;
+ GeeList* _tmp4_ = NULL;
+ gint _monitor_size = 0;
+ GeeList* _tmp5_ = NULL;
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+ gint _monitor_index = 0;
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = self->priv->monitors;
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = _g_object_ref0 (_tmp3_);
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_list = _tmp4_;
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _monitor_list;
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = _tmp6_;
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_size = _tmp7_;
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = -1;
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 7498 "LibraryMonitor.c"
+ gint _tmp8_ = 0;
+ gint _tmp9_ = 0;
+ gint _tmp10_ = 0;
+ MediaMonitor* monitor = NULL;
+ GeeList* _tmp11_ = NULL;
+ gint _tmp12_ = 0;
+ gpointer _tmp13_ = NULL;
+ MediaMonitor* _tmp14_ = NULL;
+ GFile* _tmp15_ = NULL;
+ gboolean _tmp16_ = FALSE;
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = _monitor_index;
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _monitor_index = _tmp8_ + 1;
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = _monitor_index;
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = _monitor_size;
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!(_tmp9_ < _tmp10_)) {
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 7521 "LibraryMonitor.c"
+ }
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = _monitor_list;
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = _monitor_index;
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = gee_list_get (_tmp11_, _tmp12_);
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ monitor = (MediaMonitor*) _tmp13_;
+#line 991 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = monitor;
+#line 991 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = file;
+#line 991 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = media_monitor_notify_file_deleted (_tmp14_, _tmp15_);
+#line 991 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp16_) {
+#line 992 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ known = TRUE;
+#line 994 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 994 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 7545 "LibraryMonitor.c"
+ }
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (monitor);
+#line 7549 "LibraryMonitor.c"
+ }
+#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_monitor_list);
+#line 7553 "LibraryMonitor.c"
+ }
+#line 998 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = known;
+#line 998 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp17_) {
+#line 7559 "LibraryMonitor.c"
+ Tombstone* tombstone = NULL;
+ TombstoneSourceCollection* _tmp18_ = NULL;
+ GFile* _tmp19_ = NULL;
+ Tombstone* _tmp20_ = NULL;
+ Tombstone* _tmp21_ = NULL;
+ GFile* _tmp27_ = NULL;
+#line 1000 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = tombstone_global;
+#line 1000 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = file;
+#line 1000 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp20_ = tombstone_source_collection_locate (_tmp18_, _tmp19_);
+#line 1000 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ tombstone = _tmp20_;
+#line 1001 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp21_ = tombstone;
+#line 1001 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp21_ != NULL) {
+#line 7578 "LibraryMonitor.c"
+ GFile* _tmp22_ = NULL;
+ gchar* _tmp23_ = NULL;
+ gchar* _tmp24_ = NULL;
+ TombstoneSourceCollection* _tmp25_ = NULL;
+ Tombstone* _tmp26_ = NULL;
+#line 1002 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp22_ = file;
+#line 1002 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp23_ = g_file_get_path (_tmp22_);
+#line 1002 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp24_ = _tmp23_;
+#line 1002 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_debug ("LibraryMonitor.vala:1002: Resurrecting tombstoned file %s", _tmp24_);
+#line 1002 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp24_);
+#line 1003 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp25_ = tombstone_global;
+#line 1003 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp26_ = tombstone;
+#line 1003 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ tombstone_source_collection_resurrect (_tmp25_, _tmp26_);
+#line 7600 "LibraryMonitor.c"
+ }
+#line 1007 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp27_ = file;
+#line 1007 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_remove_queued_import (self, _tmp27_);
+#line 998 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (tombstone);
+#line 7608 "LibraryMonitor.c"
+ }
+#line 1010 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp28_ = file;
+#line 1010 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_deleted (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp28_);
+#line 7614 "LibraryMonitor.c"
+}
+
+
+static void g_cclosure_user_marshal_VOID__INT_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) {
+ typedef void (*GMarshalFunc_VOID__INT_INT) (gpointer data1, gint arg_1, gint arg_2, gpointer data2);
+ register GMarshalFunc_VOID__INT_INT callback;
+ register GCClosure * cc;
+ register gpointer data1;
+ register gpointer data2;
+ cc = (GCClosure *) closure;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (n_param_values == 3);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (G_CCLOSURE_SWAP_DATA (closure)) {
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ data1 = closure->data;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ data2 = param_values->data[0].v_pointer;
+#line 7633 "LibraryMonitor.c"
+ } else {
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ data1 = param_values->data[0].v_pointer;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ data2 = closure->data;
+#line 7639 "LibraryMonitor.c"
+ }
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ callback = (GMarshalFunc_VOID__INT_INT) (marshal_data ? marshal_data : cc->callback);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ callback (data1, g_value_get_int (param_values + 1), g_value_get_int (param_values + 2), data2);
+#line 7645 "LibraryMonitor.c"
+}
+
+
+static void g_cclosure_user_marshal_VOID__UINT64_UINT64 (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) {
+ typedef void (*GMarshalFunc_VOID__UINT64_UINT64) (gpointer data1, guint64 arg_1, guint64 arg_2, gpointer data2);
+ register GMarshalFunc_VOID__UINT64_UINT64 callback;
+ register GCClosure * cc;
+ register gpointer data1;
+ register gpointer data2;
+ cc = (GCClosure *) closure;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (n_param_values == 3);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (G_CCLOSURE_SWAP_DATA (closure)) {
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ data1 = closure->data;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ data2 = param_values->data[0].v_pointer;
+#line 7664 "LibraryMonitor.c"
+ } else {
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ data1 = param_values->data[0].v_pointer;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ data2 = closure->data;
+#line 7670 "LibraryMonitor.c"
+ }
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ callback = (GMarshalFunc_VOID__UINT64_UINT64) (marshal_data ? marshal_data : cc->callback);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ callback (data1, g_value_get_uint64 (param_values + 1), g_value_get_uint64 (param_values + 2), data2);
+#line 7676 "LibraryMonitor.c"
+}
+
+
+static void _library_monitor_on_find_move_completed_completion_callback (BackgroundJob* job, gpointer self) {
+#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_on_find_move_completed ((LibraryMonitor*) self, job);
+#line 7683 "LibraryMonitor.c"
+}
+
+
+static void _library_monitor_on_find_move_cancelled_cancellation_callback (BackgroundJob* job, gpointer self) {
+#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_on_find_move_cancelled ((LibraryMonitor*) self, job);
+#line 7690 "LibraryMonitor.c"
+}
+
+
+static LibraryMonitorFindMoveJob* library_monitor_find_move_job_construct (GType object_type, LibraryMonitor* owner, GFile* file, GeeCollection* candidates) {
+ LibraryMonitorFindMoveJob* self = NULL;
+ LibraryMonitor* _tmp0_ = NULL;
+ LibraryMonitor* _tmp1_ = NULL;
+ LibraryMonitor* _tmp2_ = NULL;
+ GCancellable* _tmp3_ = NULL;
+ LibraryMonitor* _tmp4_ = NULL;
+ GFile* _tmp5_ = NULL;
+ GFile* _tmp6_ = NULL;
+ GeeCollection* _tmp7_ = NULL;
+ GeeCollection* _tmp8_ = NULL;
+#line 110 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (IS_LIBRARY_MONITOR (owner), NULL);
+#line 110 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (G_IS_FILE (file), NULL);
+#line 110 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (GEE_IS_COLLECTION (candidates), NULL);
+#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = owner;
+#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = owner;
+#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = owner;
+#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = _tmp2_->priv->cancellable;
+#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = owner;
+#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = (LibraryMonitorFindMoveJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _library_monitor_on_find_move_completed_completion_callback, _tmp1_, _tmp3_, _library_monitor_on_find_move_cancelled_cancellation_callback, _tmp4_, NULL);
+#line 113 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = file;
+#line 113 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = _g_object_ref0 (_tmp5_);
+#line 113 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->file);
+#line 113 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->file = _tmp6_;
+#line 114 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = candidates;
+#line 114 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = _g_object_ref0 (_tmp7_);
+#line 114 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->candidates);
+#line 114 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->candidates = _tmp8_;
+#line 116 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ background_job_set_completion_priority (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), G_PRIORITY_LOW);
+#line 110 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return self;
+#line 7743 "LibraryMonitor.c"
+}
+
+
+static LibraryMonitorFindMoveJob* library_monitor_find_move_job_new (LibraryMonitor* owner, GFile* file, GeeCollection* candidates) {
+#line 110 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return library_monitor_find_move_job_construct (LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, owner, file, candidates);
+#line 7750 "LibraryMonitor.c"
+}
+
+
+static gpointer _g_error_copy0 (gpointer self) {
+#line 135 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return self ? g_error_copy (self) : NULL;
+#line 7757 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_find_move_job_real_execute (BackgroundJob* base) {
+ LibraryMonitorFindMoveJob * self;
+ GeeIterator* iter = NULL;
+ GeeCollection* _tmp0_ = NULL;
+ GeeIterator* _tmp1_ = NULL;
+ GeeCollection* _tmp12_ = NULL;
+ gint _tmp13_ = 0;
+ gint _tmp14_ = 0;
+ gchar* md5 = NULL;
+ GError * _inner_error_ = NULL;
+#line 119 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, LibraryMonitorFindMoveJob);
+#line 121 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = self->candidates;
+#line 121 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 121 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ iter = _tmp1_;
+#line 122 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 7781 "LibraryMonitor.c"
+ GeeIterator* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+ GeeIterator* _tmp4_ = NULL;
+ gpointer _tmp5_ = NULL;
+ Monitorable* _tmp6_ = NULL;
+ GFile* _tmp7_ = NULL;
+ GFile* _tmp8_ = NULL;
+ gboolean _tmp9_ = FALSE;
+ gboolean _tmp10_ = FALSE;
+#line 122 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = iter;
+#line 122 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = gee_iterator_next (_tmp2_);
+#line 122 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp3_) {
+#line 122 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 7799 "LibraryMonitor.c"
+ }
+#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = iter;
+#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = gee_iterator_get (_tmp4_);
+#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = (Monitorable*) _tmp5_;
+#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE, MediaSource));
+#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = _tmp7_;
+#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = g_file_query_exists (_tmp8_, NULL);
+#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = _tmp9_;
+#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp8_);
+#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp6_);
+#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp10_) {
+#line 7821 "LibraryMonitor.c"
+ GeeIterator* _tmp11_ = NULL;
+#line 124 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = iter;
+#line 124 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_iterator_remove (_tmp11_);
+#line 7827 "LibraryMonitor.c"
+ }
+ }
+#line 128 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = self->candidates;
+#line 128 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = gee_collection_get_size (_tmp12_);
+#line 128 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = _tmp13_;
+#line 128 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp14_ == 0) {
+#line 129 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (iter);
+#line 129 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 7842 "LibraryMonitor.c"
+ }
+#line 131 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ md5 = NULL;
+#line 7846 "LibraryMonitor.c"
+ {
+ gchar* _tmp15_ = NULL;
+ GFile* _tmp16_ = NULL;
+ gchar* _tmp17_ = NULL;
+ gchar* _tmp18_ = NULL;
+#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = self->file;
+#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = md5_file (_tmp16_, &_inner_error_);
+#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = _tmp17_;
+#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 7860 "LibraryMonitor.c"
+ goto __catch480_g_error;
+ }
+#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = _tmp15_;
+#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = NULL;
+#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (md5);
+#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ md5 = _tmp18_;
+#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp15_);
+#line 7873 "LibraryMonitor.c"
+ }
+ goto __finally480;
+ __catch480_g_error:
+ {
+ GError* err = NULL;
+ GError* _tmp19_ = NULL;
+ GError* _tmp20_ = NULL;
+#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ err = _inner_error_;
+#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _inner_error_ = NULL;
+#line 135 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp19_ = err;
+#line 135 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp20_ = _g_error_copy0 (_tmp19_);
+#line 135 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_error_free0 (self->err);
+#line 135 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->err = _tmp20_;
+#line 137 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_error_free0 (err);
+#line 137 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (md5);
+#line 137 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (iter);
+#line 137 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 7901 "LibraryMonitor.c"
+ }
+ __finally480:
+#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (md5);
+#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (iter);
+#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.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 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_clear_error (&_inner_error_);
+#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 7916 "LibraryMonitor.c"
+ }
+ {
+ GeeIterator* _candidate_it = NULL;
+ GeeCollection* _tmp21_ = NULL;
+ GeeIterator* _tmp22_ = NULL;
+#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp21_ = self->candidates;
+#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp22_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _candidate_it = _tmp22_;
+#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 7930 "LibraryMonitor.c"
+ GeeIterator* _tmp23_ = NULL;
+ gboolean _tmp24_ = FALSE;
+ Monitorable* candidate = NULL;
+ GeeIterator* _tmp25_ = NULL;
+ gpointer _tmp26_ = NULL;
+ Monitorable* _tmp27_ = NULL;
+ gchar* _tmp28_ = NULL;
+ gchar* _tmp29_ = NULL;
+ const gchar* _tmp30_ = NULL;
+ gboolean _tmp31_ = FALSE;
+ Monitorable* _tmp32_ = NULL;
+ Monitorable* _tmp46_ = NULL;
+ Monitorable* _tmp47_ = NULL;
+#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp23_ = _candidate_it;
+#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp24_ = gee_iterator_next (_tmp23_);
+#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp24_) {
+#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 7952 "LibraryMonitor.c"
+ }
+#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp25_ = _candidate_it;
+#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp26_ = gee_iterator_get (_tmp25_);
+#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ candidate = (Monitorable*) _tmp26_;
+#line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp27_ = candidate;
+#line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp28_ = media_source_get_master_md5 (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_MEDIA_SOURCE, MediaSource));
+#line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp29_ = _tmp28_;
+#line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp30_ = md5;
+#line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp31_ = g_strcmp0 (_tmp29_, _tmp30_) != 0;
+#line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp29_);
+#line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp31_) {
+#line 142 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (candidate);
+#line 142 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ continue;
+#line 7978 "LibraryMonitor.c"
+ }
+#line 144 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp32_ = self->match;
+#line 144 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp32_ != NULL) {
+#line 7984 "LibraryMonitor.c"
+ GFile* _tmp33_ = NULL;
+ gchar* _tmp34_ = NULL;
+ gchar* _tmp35_ = NULL;
+ Monitorable* _tmp36_ = NULL;
+ gchar* _tmp37_ = NULL;
+ gchar* _tmp38_ = NULL;
+ Monitorable* _tmp39_ = NULL;
+ gchar* _tmp40_ = NULL;
+ gchar* _tmp41_ = NULL;
+ GeeArrayList* _tmp42_ = NULL;
+ GeeArrayList* _tmp44_ = NULL;
+ Monitorable* _tmp45_ = NULL;
+#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp33_ = self->file;
+#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp34_ = g_file_get_path (_tmp33_);
+#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp35_ = _tmp34_;
+#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp36_ = self->match;
+#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp37_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_DATA_OBJECT, DataObject));
+#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp38_ = _tmp37_;
+#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp39_ = candidate;
+#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp40_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_DATA_OBJECT, DataObject));
+#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp41_ = _tmp40_;
+#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_warning ("LibraryMonitor.vala:145: Found more than one media match for %s: %s an" \
+"d %s", _tmp35_, _tmp38_, _tmp41_);
+#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp41_);
+#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp38_);
+#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp35_);
+#line 148 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp42_ = self->losers;
+#line 148 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp42_ == NULL) {
+#line 8027 "LibraryMonitor.c"
+ GeeArrayList* _tmp43_ = NULL;
+#line 149 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp43_ = gee_array_list_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
+#line 149 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->losers);
+#line 149 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->losers = _tmp43_;
+#line 8035 "LibraryMonitor.c"
+ }
+#line 151 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp44_ = self->losers;
+#line 151 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp45_ = candidate;
+#line 151 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp45_);
+#line 153 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (candidate);
+#line 153 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ continue;
+#line 8047 "LibraryMonitor.c"
+ }
+#line 156 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp46_ = candidate;
+#line 156 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp47_ = _g_object_ref0 (_tmp46_);
+#line 156 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->match);
+#line 156 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->match = _tmp47_;
+#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (candidate);
+#line 8059 "LibraryMonitor.c"
+ }
+#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_candidate_it);
+#line 8063 "LibraryMonitor.c"
+ }
+#line 119 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (md5);
+#line 119 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (iter);
+#line 8069 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_find_move_job_class_init (LibraryMonitorFindMoveJobClass * klass) {
+#line 103 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_find_move_job_parent_class = g_type_class_peek_parent (klass);
+#line 103 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((BackgroundJobClass *) klass)->finalize = library_monitor_find_move_job_finalize;
+#line 103 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((BackgroundJobClass *) klass)->execute = library_monitor_find_move_job_real_execute;
+#line 8080 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_find_move_job_instance_init (LibraryMonitorFindMoveJob * self) {
+#line 106 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->match = NULL;
+#line 107 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->losers = NULL;
+#line 108 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->err = NULL;
+#line 8091 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_find_move_job_finalize (BackgroundJob* obj) {
+ LibraryMonitorFindMoveJob * self;
+#line 103 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, LibraryMonitorFindMoveJob);
+#line 104 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->file);
+#line 105 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->candidates);
+#line 106 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->match);
+#line 107 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->losers);
+#line 108 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_error_free0 (self->err);
+#line 103 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ BACKGROUND_JOB_CLASS (library_monitor_find_move_job_parent_class)->finalize (obj);
+#line 8111 "LibraryMonitor.c"
+}
+
+
+static GType library_monitor_find_move_job_get_type (void) {
+ static volatile gsize library_monitor_find_move_job_type_id__volatile = 0;
+ if (g_once_init_enter (&library_monitor_find_move_job_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryMonitorFindMoveJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_monitor_find_move_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryMonitorFindMoveJob), 0, (GInstanceInitFunc) library_monitor_find_move_job_instance_init, NULL };
+ GType library_monitor_find_move_job_type_id;
+ library_monitor_find_move_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "LibraryMonitorFindMoveJob", &g_define_type_info, 0);
+ g_once_init_leave (&library_monitor_find_move_job_type_id__volatile, library_monitor_find_move_job_type_id);
+ }
+ return library_monitor_find_move_job_type_id__volatile;
+}
+
+
+static void _library_monitor_on_runtime_find_move_completed_completion_callback (BackgroundJob* job, gpointer self) {
+#line 168 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_on_runtime_find_move_completed ((LibraryMonitor*) self, job);
+#line 8130 "LibraryMonitor.c"
+}
+
+
+static LibraryMonitorRuntimeFindMoveJob* library_monitor_runtime_find_move_job_construct (GType object_type, LibraryMonitor* owner, GFile* file, GeeCollection* candidates) {
+ LibraryMonitorRuntimeFindMoveJob* self = NULL;
+ LibraryMonitor* _tmp0_ = NULL;
+ LibraryMonitor* _tmp1_ = NULL;
+ LibraryMonitor* _tmp2_ = NULL;
+ GCancellable* _tmp3_ = NULL;
+ GFile* _tmp4_ = NULL;
+ GFile* _tmp5_ = NULL;
+ GeeCollection* _tmp6_ = NULL;
+ GeeCollection* _tmp7_ = NULL;
+#line 167 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (IS_LIBRARY_MONITOR (owner), NULL);
+#line 167 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (G_IS_FILE (file), NULL);
+#line 167 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (GEE_IS_COLLECTION (candidates), NULL);
+#line 168 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = owner;
+#line 168 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = owner;
+#line 168 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = owner;
+#line 168 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = _tmp2_->priv->cancellable;
+#line 168 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = (LibraryMonitorRuntimeFindMoveJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _library_monitor_on_runtime_find_move_completed_completion_callback, _tmp1_, _tmp3_, NULL, NULL, NULL);
+#line 170 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = file;
+#line 170 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _g_object_ref0 (_tmp4_);
+#line 170 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->file);
+#line 170 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->file = _tmp5_;
+#line 171 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = candidates;
+#line 171 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = _g_object_ref0 (_tmp6_);
+#line 171 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->candidates);
+#line 171 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->candidates = _tmp7_;
+#line 173 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ background_job_set_completion_priority (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), G_PRIORITY_LOW);
+#line 167 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return self;
+#line 8180 "LibraryMonitor.c"
+}
+
+
+static LibraryMonitorRuntimeFindMoveJob* library_monitor_runtime_find_move_job_new (LibraryMonitor* owner, GFile* file, GeeCollection* candidates) {
+#line 167 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return library_monitor_runtime_find_move_job_construct (LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, owner, file, candidates);
+#line 8187 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_runtime_find_move_job_real_execute (BackgroundJob* base) {
+ LibraryMonitorRuntimeFindMoveJob * self;
+ gchar* md5 = NULL;
+ GError * _inner_error_ = NULL;
+#line 176 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, LibraryMonitorRuntimeFindMoveJob);
+#line 177 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ md5 = NULL;
+#line 8199 "LibraryMonitor.c"
+ {
+ gchar* _tmp0_ = NULL;
+ GFile* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = self->file;
+#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = md5_file (_tmp1_, &_inner_error_);
+#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = _tmp2_;
+#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 8213 "LibraryMonitor.c"
+ goto __catch481_g_error;
+ }
+#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = _tmp0_;
+#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = NULL;
+#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (md5);
+#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ md5 = _tmp3_;
+#line 178 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp0_);
+#line 8226 "LibraryMonitor.c"
+ }
+ goto __finally481;
+ __catch481_g_error:
+ {
+ GError* err = NULL;
+ GError* _tmp4_ = NULL;
+ GError* _tmp5_ = NULL;
+#line 178 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ err = _inner_error_;
+#line 178 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _inner_error_ = NULL;
+#line 181 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = err;
+#line 181 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = _g_error_copy0 (_tmp4_);
+#line 181 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_error_free0 (self->err);
+#line 181 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->err = _tmp5_;
+#line 183 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_error_free0 (err);
+#line 183 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (md5);
+#line 183 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 8252 "LibraryMonitor.c"
+ }
+ __finally481:
+#line 178 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 178 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (md5);
+#line 178 "/home/jens/Source/shotwell/src/LibraryMonitor.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 178 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_clear_error (&_inner_error_);
+#line 178 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return;
+#line 8265 "LibraryMonitor.c"
+ }
+ {
+ GeeIterator* _candidate_it = NULL;
+ GeeCollection* _tmp6_ = NULL;
+ GeeIterator* _tmp7_ = NULL;
+#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = self->candidates;
+#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _candidate_it = _tmp7_;
+#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ while (TRUE) {
+#line 8279 "LibraryMonitor.c"
+ GeeIterator* _tmp8_ = NULL;
+ gboolean _tmp9_ = FALSE;
+ Monitorable* candidate = NULL;
+ GeeIterator* _tmp10_ = NULL;
+ gpointer _tmp11_ = NULL;
+ Monitorable* _tmp12_ = NULL;
+ gchar* _tmp13_ = NULL;
+ gchar* _tmp14_ = NULL;
+ const gchar* _tmp15_ = NULL;
+ gboolean _tmp16_ = FALSE;
+#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp8_ = _candidate_it;
+#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp9_ = gee_iterator_next (_tmp8_);
+#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!_tmp9_) {
+#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 8298 "LibraryMonitor.c"
+ }
+#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp10_ = _candidate_it;
+#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp11_ = gee_iterator_get (_tmp10_);
+#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ candidate = (Monitorable*) _tmp11_;
+#line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp12_ = candidate;
+#line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp13_ = media_source_get_master_md5 (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_MEDIA_SOURCE, MediaSource));
+#line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp14_ = _tmp13_;
+#line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp15_ = md5;
+#line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp16_ = g_strcmp0 (_tmp14_, _tmp15_) == 0;
+#line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (_tmp14_);
+#line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (_tmp16_) {
+#line 8320 "LibraryMonitor.c"
+ Monitorable* _tmp17_ = NULL;
+ Monitorable* _tmp18_ = NULL;
+#line 188 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp17_ = candidate;
+#line 188 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp18_ = _g_object_ref0 (_tmp17_);
+#line 188 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->match);
+#line 188 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->match = _tmp18_;
+#line 190 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (candidate);
+#line 190 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ break;
+#line 8335 "LibraryMonitor.c"
+ }
+#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (candidate);
+#line 8339 "LibraryMonitor.c"
+ }
+#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_candidate_it);
+#line 8343 "LibraryMonitor.c"
+ }
+#line 176 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_free0 (md5);
+#line 8347 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_runtime_find_move_job_class_init (LibraryMonitorRuntimeFindMoveJobClass * klass) {
+#line 161 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_runtime_find_move_job_parent_class = g_type_class_peek_parent (klass);
+#line 161 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((BackgroundJobClass *) klass)->finalize = library_monitor_runtime_find_move_job_finalize;
+#line 161 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((BackgroundJobClass *) klass)->execute = library_monitor_runtime_find_move_job_real_execute;
+#line 8358 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_runtime_find_move_job_instance_init (LibraryMonitorRuntimeFindMoveJob * self) {
+#line 164 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->match = NULL;
+#line 165 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->err = NULL;
+#line 8367 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_runtime_find_move_job_finalize (BackgroundJob* obj) {
+ LibraryMonitorRuntimeFindMoveJob * self;
+#line 161 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, LibraryMonitorRuntimeFindMoveJob);
+#line 162 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->file);
+#line 163 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->candidates);
+#line 164 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->match);
+#line 165 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_error_free0 (self->err);
+#line 161 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ BACKGROUND_JOB_CLASS (library_monitor_runtime_find_move_job_parent_class)->finalize (obj);
+#line 8385 "LibraryMonitor.c"
+}
+
+
+static GType library_monitor_runtime_find_move_job_get_type (void) {
+ static volatile gsize library_monitor_runtime_find_move_job_type_id__volatile = 0;
+ if (g_once_init_enter (&library_monitor_runtime_find_move_job_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryMonitorRuntimeFindMoveJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_monitor_runtime_find_move_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryMonitorRuntimeFindMoveJob), 0, (GInstanceInitFunc) library_monitor_runtime_find_move_job_instance_init, NULL };
+ GType library_monitor_runtime_find_move_job_type_id;
+ library_monitor_runtime_find_move_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "LibraryMonitorRuntimeFindMoveJob", &g_define_type_info, 0);
+ g_once_init_leave (&library_monitor_runtime_find_move_job_type_id__volatile, library_monitor_runtime_find_move_job_type_id);
+ }
+ return library_monitor_runtime_find_move_job_type_id__volatile;
+}
+
+
+static LibraryMonitorVerifyJob* library_monitor_verify_job_construct (GType object_type, Monitorable* monitorable, MediaMonitor* monitor) {
+ LibraryMonitorVerifyJob* self = NULL;
+ Monitorable* _tmp0_ = NULL;
+ Monitorable* _tmp1_ = NULL;
+ MediaMonitor* _tmp2_ = NULL;
+ MediaMonitor* _tmp3_ = NULL;
+#line 200 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (IS_MONITORABLE (monitorable), NULL);
+#line 200 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (IS_MEDIA_MONITOR (monitor), NULL);
+#line 200 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = (LibraryMonitorVerifyJob*) g_type_create_instance (object_type);
+#line 201 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = monitorable;
+#line 201 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 201 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->monitorable);
+#line 201 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->monitorable = _tmp1_;
+#line 202 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = monitor;
+#line 202 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 202 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->monitor);
+#line 202 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->monitor = _tmp3_;
+#line 200 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return self;
+#line 8431 "LibraryMonitor.c"
+}
+
+
+static LibraryMonitorVerifyJob* library_monitor_verify_job_new (Monitorable* monitorable, MediaMonitor* monitor) {
+#line 200 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return library_monitor_verify_job_construct (LIBRARY_MONITOR_TYPE_VERIFY_JOB, monitorable, monitor);
+#line 8438 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_value_verify_job_init (GValue* value) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value->data[0].v_pointer = NULL;
+#line 8445 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_value_verify_job_free_value (GValue* value) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (value->data[0].v_pointer) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_verify_job_unref (value->data[0].v_pointer);
+#line 8454 "LibraryMonitor.c"
+ }
+}
+
+
+static void library_monitor_value_verify_job_copy_value (const GValue* src_value, GValue* dest_value) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (src_value->data[0].v_pointer) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ dest_value->data[0].v_pointer = library_monitor_verify_job_ref (src_value->data[0].v_pointer);
+#line 8464 "LibraryMonitor.c"
+ } else {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ dest_value->data[0].v_pointer = NULL;
+#line 8468 "LibraryMonitor.c"
+ }
+}
+
+
+static gpointer library_monitor_value_verify_job_peek_pointer (const GValue* value) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return value->data[0].v_pointer;
+#line 8476 "LibraryMonitor.c"
+}
+
+
+static gchar* library_monitor_value_verify_job_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (collect_values[0].v_pointer) {
+#line 8483 "LibraryMonitor.c"
+ LibraryMonitorVerifyJob* object;
+ object = collect_values[0].v_pointer;
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (object->parent_instance.g_class == NULL) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+#line 8490 "LibraryMonitor.c"
+ } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.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 8494 "LibraryMonitor.c"
+ }
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value->data[0].v_pointer = library_monitor_verify_job_ref (object);
+#line 8498 "LibraryMonitor.c"
+ } else {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value->data[0].v_pointer = NULL;
+#line 8502 "LibraryMonitor.c"
+ }
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return NULL;
+#line 8506 "LibraryMonitor.c"
+}
+
+
+static gchar* library_monitor_value_verify_job_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+ LibraryMonitorVerifyJob** object_p;
+ object_p = collect_values[0].v_pointer;
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!object_p) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
+#line 8517 "LibraryMonitor.c"
+ }
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (!value->data[0].v_pointer) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ *object_p = NULL;
+#line 8523 "LibraryMonitor.c"
+ } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ *object_p = value->data[0].v_pointer;
+#line 8527 "LibraryMonitor.c"
+ } else {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ *object_p = library_monitor_verify_job_ref (value->data[0].v_pointer);
+#line 8531 "LibraryMonitor.c"
+ }
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return NULL;
+#line 8535 "LibraryMonitor.c"
+}
+
+
+static GParamSpec* library_monitor_param_spec_verify_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
+ LibraryMonitorParamSpecVerifyJob* spec;
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (g_type_is_a (object_type, LIBRARY_MONITOR_TYPE_VERIFY_JOB), NULL);
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ G_PARAM_SPEC (spec)->value_type = object_type;
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return G_PARAM_SPEC (spec);
+#line 8549 "LibraryMonitor.c"
+}
+
+
+static gpointer library_monitor_value_get_verify_job (const GValue* value) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIBRARY_MONITOR_TYPE_VERIFY_JOB), NULL);
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return value->data[0].v_pointer;
+#line 8558 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_value_set_verify_job (GValue* value, gpointer v_object) {
+ LibraryMonitorVerifyJob* old;
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIBRARY_MONITOR_TYPE_VERIFY_JOB));
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ old = value->data[0].v_pointer;
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (v_object) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, LIBRARY_MONITOR_TYPE_VERIFY_JOB));
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value->data[0].v_pointer = v_object;
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_verify_job_ref (value->data[0].v_pointer);
+#line 8578 "LibraryMonitor.c"
+ } else {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value->data[0].v_pointer = NULL;
+#line 8582 "LibraryMonitor.c"
+ }
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (old) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_verify_job_unref (old);
+#line 8588 "LibraryMonitor.c"
+ }
+}
+
+
+static void library_monitor_value_take_verify_job (GValue* value, gpointer v_object) {
+ LibraryMonitorVerifyJob* old;
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIBRARY_MONITOR_TYPE_VERIFY_JOB));
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ old = value->data[0].v_pointer;
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (v_object) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, LIBRARY_MONITOR_TYPE_VERIFY_JOB));
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value->data[0].v_pointer = v_object;
+#line 8607 "LibraryMonitor.c"
+ } else {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ value->data[0].v_pointer = NULL;
+#line 8611 "LibraryMonitor.c"
+ }
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (old) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_verify_job_unref (old);
+#line 8617 "LibraryMonitor.c"
+ }
+}
+
+
+static void library_monitor_verify_job_class_init (LibraryMonitorVerifyJobClass * klass) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_verify_job_parent_class = g_type_class_peek_parent (klass);
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((LibraryMonitorVerifyJobClass *) klass)->finalize = library_monitor_verify_job_finalize;
+#line 8627 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_verify_job_instance_init (LibraryMonitorVerifyJob * self) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->ref_count = 1;
+#line 8634 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_verify_job_finalize (LibraryMonitorVerifyJob* obj) {
+ LibraryMonitorVerifyJob * self;
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_MONITOR_TYPE_VERIFY_JOB, LibraryMonitorVerifyJob);
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_handlers_destroy (self);
+#line 197 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->monitorable);
+#line 198 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->monitor);
+#line 8648 "LibraryMonitor.c"
+}
+
+
+static GType library_monitor_verify_job_get_type (void) {
+ static volatile gsize library_monitor_verify_job_type_id__volatile = 0;
+ if (g_once_init_enter (&library_monitor_verify_job_type_id__volatile)) {
+ static const GTypeValueTable g_define_type_value_table = { library_monitor_value_verify_job_init, library_monitor_value_verify_job_free_value, library_monitor_value_verify_job_copy_value, library_monitor_value_verify_job_peek_pointer, "p", library_monitor_value_verify_job_collect_value, "p", library_monitor_value_verify_job_lcopy_value };
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryMonitorVerifyJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_monitor_verify_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryMonitorVerifyJob), 0, (GInstanceInitFunc) library_monitor_verify_job_instance_init, &g_define_type_value_table };
+ static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
+ GType library_monitor_verify_job_type_id;
+ library_monitor_verify_job_type_id = g_type_register_fundamental (g_type_fundamental_next (), "LibraryMonitorVerifyJob", &g_define_type_info, &g_define_type_fundamental_info, 0);
+ g_once_init_leave (&library_monitor_verify_job_type_id__volatile, library_monitor_verify_job_type_id);
+ }
+ return library_monitor_verify_job_type_id__volatile;
+}
+
+
+static gpointer library_monitor_verify_job_ref (gpointer instance) {
+ LibraryMonitorVerifyJob* self;
+ self = instance;
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_atomic_int_inc (&self->ref_count);
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ return instance;
+#line 8673 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_verify_job_unref (gpointer instance) {
+ LibraryMonitorVerifyJob* self;
+ self = instance;
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ if (g_atomic_int_dec_and_test (&self->ref_count)) {
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ LIBRARY_MONITOR_VERIFY_JOB_GET_CLASS (self)->finalize (self);
+#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_type_free_instance ((GTypeInstance *) self);
+#line 8686 "LibraryMonitor.c"
+ }
+}
+
+
+static void library_monitor_class_init (LibraryMonitorClass * klass) {
+ GeeHashSet* _tmp0_ = NULL;
+ HashTimedQueue* _tmp1_ = NULL;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_parent_class = g_type_class_peek_parent (klass);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_type_class_add_private (klass, sizeof (LibraryMonitorPrivate));
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((DirectoryMonitorClass *) klass)->close = library_monitor_real_close;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((DirectoryMonitorClass *) klass)->discovery_started = library_monitor_real_discovery_started;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((DirectoryMonitorClass *) klass)->file_discovered = library_monitor_real_file_discovered;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((DirectoryMonitorClass *) klass)->discovery_completed = library_monitor_real_discovery_completed;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((DirectoryMonitorClass *) klass)->notify_file_created = library_monitor_real_notify_file_created;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((DirectoryMonitorClass *) klass)->notify_file_moved = library_monitor_real_notify_file_moved;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((DirectoryMonitorClass *) klass)->notify_file_altered = library_monitor_real_notify_file_altered;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((DirectoryMonitorClass *) klass)->notify_file_attributes_altered = library_monitor_real_notify_file_attributes_altered;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((DirectoryMonitorClass *) klass)->notify_file_alteration_completed = library_monitor_real_notify_file_alteration_completed;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ ((DirectoryMonitorClass *) klass)->notify_file_deleted = library_monitor_real_notify_file_deleted;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ G_OBJECT_CLASS (klass)->finalize = library_monitor_finalize;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_new ("auto_update_progress", TYPE_LIBRARY_MONITOR, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__INT_INT, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_new ("auto_import_preparing", TYPE_LIBRARY_MONITOR, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_new ("auto_import_progress", TYPE_LIBRARY_MONITOR, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__UINT64_UINT64, G_TYPE_NONE, 2, G_TYPE_UINT64, G_TYPE_UINT64);
+#line 206 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_rec_mutex_init (&__lock_library_monitor_blacklist);
+#line 206 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = gee_hash_set_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL);
+#line 206 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_blacklist = _tmp0_;
+#line 207 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = hash_timed_queue_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, (guint) LIBRARY_MONITOR_MIN_BLACKLIST_DURATION_MSEC, _library_monitor_on_unblacklist_file_dequeued_callback, NULL, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, G_PRIORITY_LOW);
+#line 207 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ library_monitor_to_unblacklist = _tmp1_;
+#line 8736 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_instance_init (LibraryMonitor * self) {
+ guint _tmp0_ = 0U;
+ Workers* _tmp1_ = NULL;
+ GCancellable* _tmp2_ = NULL;
+ GeeArrayList* _tmp3_ = NULL;
+ GeeHashSet* _tmp4_ = NULL;
+ GeeHashSet* _tmp5_ = NULL;
+ GeeArrayList* _tmp6_ = NULL;
+ GeeLinkedList* _tmp7_ = NULL;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv = LIBRARY_MONITOR_GET_PRIVATE (self);
+#line 210 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = workers_thread_per_cpu_minus_one ();
+#line 210 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = workers_new (_tmp0_, FALSE);
+#line 210 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->workers = _tmp1_;
+#line 211 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp2_ = g_cancellable_new ();
+#line 211 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->cancellable = _tmp2_;
+#line 212 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->auto_import = FALSE;
+#line 213 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->unknown_files = NULL;
+#line 214 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp3_ = gee_array_list_new (TYPE_MEDIA_MONITOR, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
+#line 214 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->monitors = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_LIST, GeeList);
+#line 215 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->discovered = NULL;
+#line 216 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp4_ = gee_hash_set_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL);
+#line 216 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->import_queue = _tmp4_;
+#line 217 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp5_ = gee_hash_set_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL);
+#line 217 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->pending_imports = _tmp5_;
+#line 218 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp6_ = gee_array_list_new (TYPE_BATCH_IMPORT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL);
+#line 218 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->batch_import_queue = _tmp6_;
+#line 219 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->current_import_roll = NULL;
+#line 220 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->last_import_roll_use = (time_t) 0;
+#line 221 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->current_batch_import = NULL;
+#line 222 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->checksums_completed = 0;
+#line 223 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->checksums_total = 0;
+#line 224 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->import_queue_timer_id = (guint) 0;
+#line 225 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp7_ = gee_linked_list_new (LIBRARY_MONITOR_TYPE_VERIFY_JOB, (GBoxedCopyFunc) library_monitor_verify_job_ref, library_monitor_verify_job_unref, NULL, NULL, NULL);
+#line 225 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->verify_queue = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_QUEUE, GeeQueue);
+#line 226 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->outstanding_verify_jobs = 0;
+#line 227 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->completed_monitorable_verifies = 0;
+#line 228 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self->priv->total_monitorable_verifies = 0;
+#line 8805 "LibraryMonitor.c"
+}
+
+
+static void library_monitor_finalize (GObject* obj) {
+ LibraryMonitor * self;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ guint _tmp2_ = 0U;
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_MONITOR, LibraryMonitor);
+#line 247 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 247 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _tmp1_ = _tmp0_;
+#line 247 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_parse_name ("auto-import-from-library-changed", TYPE_CONFIGURATION_FACADE, &_tmp2_, NULL, FALSE);
+#line 247 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _library_monitor_on_config_changed_configuration_facade_auto_import_from_library_changed, self);
+#line 247 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (_tmp1_);
+#line 210 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _workers_unref0 (self->priv->workers);
+#line 211 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->cancellable);
+#line 213 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->unknown_files);
+#line 214 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->monitors);
+#line 215 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->discovered);
+#line 216 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->import_queue);
+#line 217 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->pending_imports);
+#line 218 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->batch_import_queue);
+#line 219 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _batch_import_roll_unref0 (self->priv->current_import_roll);
+#line 221 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->current_batch_import);
+#line 225 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ _g_object_unref0 (self->priv->verify_queue);
+#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala"
+ G_OBJECT_CLASS (library_monitor_parent_class)->finalize (obj);
+#line 8850 "LibraryMonitor.c"
+}
+
+
+GType library_monitor_get_type (void) {
+ static volatile gsize library_monitor_type_id__volatile = 0;
+ if (g_once_init_enter (&library_monitor_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (LibraryMonitorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_monitor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryMonitor), 0, (GInstanceInitFunc) library_monitor_instance_init, NULL };
+ GType library_monitor_type_id;
+ library_monitor_type_id = g_type_register_static (TYPE_DIRECTORY_MONITOR, "LibraryMonitor", &g_define_type_info, 0);
+ g_once_init_leave (&library_monitor_type_id__volatile, library_monitor_type_id);
+ }
+ return library_monitor_type_id__volatile;
+}
+
+
+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);
+}
+
+
+