From 143bfc9f801c84428074312d661f8e08803df83b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 20 Aug 2016 15:09:31 +0200 Subject: Imported Upstream version 0.23.5 --- src/LibraryMonitor.c | 8885 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 8885 insertions(+) create mode 100644 src/LibraryMonitor.c (limited to 'src/LibraryMonitor.c') 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 +#include +#include +#include +#include +#include +#include +#include + + +#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); +} + + + -- cgit v1.2.3