/* LibraryMonitor.c generated by valac 0.40.4, 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; enum { LIBRARY_MONITOR_POOL_MONITOR_INSTALLED_SIGNAL, LIBRARY_MONITOR_POOL_MONITOR_DESTROYED_SIGNAL, LIBRARY_MONITOR_POOL_NUM_SIGNALS }; static guint library_monitor_pool_signals[LIBRARY_MONITOR_POOL_NUM_SIGNALS] = {0}; 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; enum { LIBRARY_MONITOR_0_PROPERTY, LIBRARY_MONITOR_NUM_PROPERTIES }; static GParamSpec* library_monitor_properties[LIBRARY_MONITOR_NUM_PROPERTIES]; #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; enum { LIBRARY_MONITOR_AUTO_UPDATE_PROGRESS_SIGNAL, LIBRARY_MONITOR_AUTO_IMPORT_PREPARING_SIGNAL, LIBRARY_MONITOR_AUTO_IMPORT_PROGRESS_SIGNAL, LIBRARY_MONITOR_NUM_SIGNALS }; static guint library_monitor_signals[LIBRARY_MONITOR_NUM_SIGNALS] = {0}; #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_; GTask* _async_result; GAsyncReadyCallback _callback_; gboolean _task_complete_; 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_; GFile* file; GeeIterator* _tmp8_; gpointer _tmp9_; GFileInfo* info; GFile* _tmp10_; GFileInfo* _tmp11_; GFileInfo* _tmp12_; GeeArrayList* _tmp13_; GeeCollection* candidates; gboolean associated; GeeList* _monitor_list; GeeList* _tmp14_; GeeList* _tmp15_; gint _monitor_size; GeeList* _tmp16_; gint _tmp17_; gint _tmp18_; gint _monitor_index; gint _tmp19_; gint _tmp20_; gint _tmp21_; MediaMonitor* monitor; GeeList* _tmp22_; gint _tmp23_; gpointer _tmp24_; MediaMonitorDiscoveredFile _result_; MediaMonitor* _tmp25_; GFile* _tmp26_; GFileInfo* _tmp27_; MediaMonitorDiscoveredFile _tmp28_; GeeCollection* _tmp29_; gboolean _tmp30_; MediaMonitorDiscoveredFile _tmp31_; MediaMonitorDiscoveredFile _tmp32_; GeeCollection* _tmp33_; GeeArrayList* _tmp34_; GeeCollection* _tmp35_; gboolean _tmp36_; GeeArrayList* _tmp37_; GFile* _tmp38_; GeeArrayList* _tmp39_; gint _tmp40_; gint _tmp41_; GeeArrayList* job_candidates; GeeArrayList* _tmp42_; GeeArrayList* _tmp43_; GeeArrayList* _tmp44_; gint _tmp45_; Workers* _tmp46_; GFile* _tmp47_; GeeArrayList* _tmp48_; LibraryMonitorFindMoveJob* _tmp49_; LibraryMonitorFindMoveJob* _tmp50_; GeeHashSet* _tmp51_; GeeArrayList* _tmp52_; gint _tmp53_; gint _tmp54_; gchar* _tmp55_; gchar* _tmp56_; gint _tmp57_; gint _tmp58_; }; 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_; GTask* _async_result; GAsyncReadyCallback _callback_; gboolean _task_complete_; LibraryMonitor* self; Monitorable* monitorable; MediaMonitor* monitor; GFile** files; GFile** _tmp0_; gint files_length1; gint _files_size_; GFile** _tmp1_; gint _tmp1__length1; GFile* _tmp2_; GFile* _tmp3_; GFile** aux_files; gint _tmp4_; GFile** _tmp5_; gint aux_files_length1; gint _aux_files_size_; GFile** _tmp6_; gint _tmp6__length1; GFile** _tmp7_; gint _tmp7__length1; GFile** aux_file_collection; gint aux_file_collection_length1; gint _aux_file_collection_size_; gint aux_file_it; GFile* _tmp8_; GFile* aux_file; GFile** _tmp9_; gint _tmp9__length1; GFile* _tmp10_; GFile* _tmp11_; gint ctr; gboolean _tmp12_; gint _tmp13_; gint _tmp14_; GFile** _tmp15_; gint _tmp15__length1; GFile* file; GFile** _tmp16_; gint _tmp16__length1; gint _tmp17_; GFile* _tmp18_; GFile* _tmp19_; GFileInfo* info; GFile* _tmp20_; GFileInfo* _tmp21_; GFileInfo* _tmp22_; GFileInfo* _tmp23_; GFile* _tmp24_; GCancellable* _tmp25_; GFileInfo* _tmp26_; GFileInfo* _tmp27_; GError* err; gint _tmp28_; gboolean _tmp29_; GFileInfo* _tmp30_; gboolean _tmp31_; GFileInfo* _tmp32_; GFile* _tmp33_; GFileInfo* _tmp34_; gint _tmp35_; gint _tmp36_; gint _tmp37_; gint _tmp38_; gint _tmp39_; 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; GTimer* timer; }; 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)) 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)) 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 void library_monitor_async_discovery_completed_async_ready_wrapper (GObject *source_object, GAsyncResult *res, void *user_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 void library_monitor_verify_monitorable_async_ready_wrapper (GObject *source_object, GAsyncResult *res, void *user_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_add131 (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, gboolean recurse); FileImportJob* file_import_job_construct (GType object_type, GFile* file_or_dir, gboolean copy_to_library, gboolean recurse); 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); 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); 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); 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 1520 "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 1529 "LibraryMonitor.c" } void library_monitor_pool_init (void) { } void library_monitor_pool_terminate (void) { LibraryMonitorPool* _tmp0_; #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 1547 "LibraryMonitor.c" LibraryMonitorPool* _tmp1_; #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 1553 "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 1559 "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 1568 "LibraryMonitor.c" } LibraryMonitorPool* library_monitor_pool_get_instance (void) { LibraryMonitorPool* result = NULL; LibraryMonitorPool* _tmp0_; LibraryMonitorPool* _tmp2_; LibraryMonitorPool* _tmp3_; #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 1583 "LibraryMonitor.c" LibraryMonitorPool* _tmp1_; #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 1591 "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 1601 "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 1610 "LibraryMonitor.c" } LibraryMonitor* library_monitor_pool_get_monitor (LibraryMonitorPool* self) { LibraryMonitor* result = NULL; LibraryMonitor* _tmp0_; LibraryMonitor* _tmp1_; #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 1630 "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 1641 "LibraryMonitor.c" } void library_monitor_pool_replace (LibraryMonitorPool* self, LibraryMonitor* replacement, gint start_msec_delay) { LibraryMonitor* _tmp0_; gboolean _tmp1_ = FALSE; LibraryMonitor* _tmp3_; #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_ = _g_object_ref0 (replacement); #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 = _tmp0_; #line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (start_msec_delay > 0) { #line 1667 "LibraryMonitor.c" guint _tmp2_; #line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = self->priv->timer_id; #line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = _tmp2_ == ((guint) 0); #line 1673 "LibraryMonitor.c" } else { #line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = FALSE; #line 1677 "LibraryMonitor.c" } #line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp1_) { #line 68 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" self->priv->timer_id = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) start_msec_delay, _library_monitor_pool_on_start_monitor_gsource_func, library_monitor_pool_ref (self), library_monitor_pool_unref); #line 1683 "LibraryMonitor.c" } #line 70 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = self->priv->monitor; #line 70 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_signal_emit (self, library_monitor_pool_signals[LIBRARY_MONITOR_POOL_MONITOR_INSTALLED_SIGNAL], 0, _tmp3_); #line 1689 "LibraryMonitor.c" } static void library_monitor_pool_close (LibraryMonitorPool* self) { LibraryMonitor* _tmp0_; LibraryMonitor* _tmp1_; LibraryMonitor* closed = NULL; LibraryMonitor* _tmp2_; LibraryMonitor* _tmp3_; LibraryMonitor* _tmp4_; #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 1710 "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 (self, library_monitor_pool_signals[LIBRARY_MONITOR_POOL_MONITOR_DESTROYED_SIGNAL], 0, _tmp4_); #line 73 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (closed); #line 1732 "LibraryMonitor.c" } static gboolean library_monitor_pool_on_start_monitor (LibraryMonitorPool* self) { gboolean result = FALSE; LibraryMonitor* _tmp0_; LibraryMonitor* _tmp1_; #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 1754 "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 1764 "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 1773 "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 1784 "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 1797 "LibraryMonitor.c" } else { #line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" dest_value->data[0].v_pointer = NULL; #line 1801 "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 1811 "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 1823 "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 1830 "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 1834 "LibraryMonitor.c" } #line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" value->data[0].v_pointer = library_monitor_pool_ref (object); #line 1838 "LibraryMonitor.c" } else { #line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" value->data[0].v_pointer = NULL; #line 1842 "LibraryMonitor.c" } #line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return NULL; #line 1846 "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 1862 "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 1868 "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 1872 "LibraryMonitor.c" } else { #line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" *object_p = library_monitor_pool_ref (value->data[0].v_pointer); #line 1876 "LibraryMonitor.c" } #line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return NULL; #line 1880 "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 1900 "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 1911 "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 1934 "LibraryMonitor.c" } else { #line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" value->data[0].v_pointer = NULL; #line 1938 "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 1944 "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 1966 "LibraryMonitor.c" } else { #line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" value->data[0].v_pointer = NULL; #line 1970 "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 1976 "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" library_monitor_pool_signals[LIBRARY_MONITOR_POOL_MONITOR_INSTALLED_SIGNAL] = 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" library_monitor_pool_signals[LIBRARY_MONITOR_POOL_MONITOR_DESTROYED_SIGNAL] = 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 1994 "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 2009 "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 2023 "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 2052 "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 2067 "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 2078 "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 2090 "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 2103 "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 2113 "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 2124 "LibraryMonitor.c" } LibraryMonitor* library_monitor_construct (GType object_type, GFile* root, gboolean recurse, gboolean monitoring) { LibraryMonitor * self = NULL; ConfigFacade* _tmp0_; ConfigFacade* _tmp1_; ConfigFacade* _tmp2_; ConfigFacade* _tmp3_; #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" self = (LibraryMonitor*) directory_monitor_construct (object_type, root, recurse, monitoring); #line 240 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp0_ = config_facade_get_instance (); #line 240 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = _tmp0_; #line 240 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" self->priv->auto_import = configuration_facade_get_auto_import_from_library (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); #line 240 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_tmp1_); #line 241 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = config_facade_get_instance (); #line 241 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = _tmp2_; #line 241 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, 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 (_tmp3_); #line 243 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" self->priv->import_queue_timer_id = 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 236 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return self; #line 2163 "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 2174 "LibraryMonitor.c" } static void library_monitor_real_close (DirectoryMonitor* base) { LibraryMonitor * self; GCancellable* _tmp0_; guint _tmp13_; #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 2190 "LibraryMonitor.c" { GeeList* _monitor_list = NULL; GeeList* _tmp1_; GeeList* _tmp2_; gint _monitor_size = 0; GeeList* _tmp3_; gint _tmp4_; gint _tmp5_; 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 2218 "LibraryMonitor.c" gint _tmp6_; gint _tmp7_; gint _tmp8_; MediaMonitor* monitor = NULL; GeeList* _tmp9_; gint _tmp10_; gpointer _tmp11_; MediaMonitor* _tmp12_; #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 2239 "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 2255 "LibraryMonitor.c" } #line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_monitor_list); #line 2259 "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 2265 "LibraryMonitor.c" guint _tmp14_; #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 2273 "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 2277 "LibraryMonitor.c" } static void library_monitor_add_to_discovered_list (LibraryMonitor* self, MediaMonitor* monitor, Monitorable* monitorable) { GeeHashMap* _tmp0_; GeeHashMap* _tmp4_; gpointer _tmp5_; GeeSet* _tmp6_; #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" if (!gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), monitor)) { #line 2300 "LibraryMonitor.c" GeeHashMap* _tmp1_; GeeHashSet* _tmp2_; GeeHashSet* _tmp3_; #line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = self->priv->discovered; #line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = gee_hash_set_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); #line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = _tmp2_; #line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), monitor, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_SET, GeeSet)); #line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_tmp3_); #line 2314 "LibraryMonitor.c" } #line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = self->priv->discovered; #line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), monitor); #line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = (GeeSet*) _tmp5_; #line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection), monitorable); #line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_tmp6_); #line 2326 "LibraryMonitor.c" } static MediaMonitor* library_monitor_get_monitor_for_monitorable (LibraryMonitor* self, Monitorable* monitorable) { MediaMonitor* result = NULL; gchar* _tmp15_; gchar* _tmp16_; #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 2341 "LibraryMonitor.c" { GeeList* _monitor_list = NULL; GeeList* _tmp0_; GeeList* _tmp1_; gint _monitor_size = 0; GeeList* _tmp2_; gint _tmp3_; gint _tmp4_; 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 2369 "LibraryMonitor.c" gint _tmp5_; gint _tmp6_; gint _tmp7_; MediaMonitor* monitor = NULL; GeeList* _tmp8_; gint _tmp9_; gpointer _tmp10_; MediaMonitor* _tmp11_; MediaSourceCollection* _tmp12_; MediaSourceCollection* _tmp13_; gboolean _tmp14_; #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 2393 "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_ = source_collection_holds_type_of_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (monitorable, TYPE_DATA_SOURCE, DataSource)); #line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_collection_unref0 (_tmp13_); #line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp14_) { #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 2421 "LibraryMonitor.c" } #line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (monitor); #line 2425 "LibraryMonitor.c" } #line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_monitor_list); #line 2429 "LibraryMonitor.c" } #line 277 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp15_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (monitorable, TYPE_DATA_OBJECT, DataObject)); #line 277 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp16_ = _tmp15_; #line 277 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_error ("LibraryMonitor.vala:277: Unable to locate MediaMonitor for %s", _tmp16_); #line 277 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp16_); #line 2439 "LibraryMonitor.c" } static void library_monitor_real_discovery_started (DirectoryMonitor* base) { LibraryMonitor * self; GeeHashMap* _tmp27_; GeeHashSet* _tmp28_; #line 280 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor); #line 2451 "LibraryMonitor.c" { GeeIterator* _collection_it = NULL; MediaCollectionRegistry* _tmp0_; MediaCollectionRegistry* _tmp1_; GeeCollection* _tmp2_; GeeCollection* _tmp3_; GeeIterator* _tmp4_; GeeIterator* _tmp5_; #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 2480 "LibraryMonitor.c" GeeIterator* _tmp6_; MediaSourceCollection* collection = NULL; GeeIterator* _tmp7_; gpointer _tmp8_; GeeList* _tmp9_; MediaSourceCollection* _tmp10_; Workers* _tmp11_; GCancellable* _tmp12_; MediaMonitor* _tmp13_; MediaMonitor* _tmp14_; #line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = _collection_it; #line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!gee_iterator_next (_tmp6_)) { #line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 2497 "LibraryMonitor.c" } #line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = _collection_it; #line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = gee_iterator_get (_tmp7_); #line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" collection = (MediaSourceCollection*) _tmp8_; #line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp9_ = self->priv->monitors; #line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = collection; #line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = self->priv->workers; #line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = self->priv->cancellable; #line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp13_ = media_source_collection_create_media_monitor (_tmp10_, _tmp11_, _tmp12_); #line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp14_ = _tmp13_; #line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection), _tmp14_); #line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_tmp14_); #line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_collection_unref0 (collection); #line 2523 "LibraryMonitor.c" } #line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_collection_it); #line 2527 "LibraryMonitor.c" } { GeeList* _monitor_list = NULL; GeeList* _tmp15_; GeeList* _tmp16_; gint _monitor_size = 0; GeeList* _tmp17_; gint _tmp18_; gint _tmp19_; gint _monitor_index = 0; #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp15_ = self->priv->monitors; #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp16_ = _g_object_ref0 (_tmp15_); #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_list = _tmp16_; #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp17_ = _monitor_list; #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp18_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection)); #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp19_ = _tmp18_; #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_size = _tmp19_; #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = -1; #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 2556 "LibraryMonitor.c" gint _tmp20_; gint _tmp21_; gint _tmp22_; MediaMonitor* monitor = NULL; GeeList* _tmp23_; gint _tmp24_; gpointer _tmp25_; MediaMonitor* _tmp26_; #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp20_ = _monitor_index; #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = _tmp20_ + 1; #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp21_ = _monitor_index; #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp22_ = _monitor_size; #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!(_tmp21_ < _tmp22_)) { #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 2577 "LibraryMonitor.c" } #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp23_ = _monitor_list; #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp24_ = _monitor_index; #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp25_ = gee_list_get (_tmp23_, _tmp24_); #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" monitor = (MediaMonitor*) _tmp25_; #line 285 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp26_ = monitor; #line 285 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" media_monitor_notify_discovery_started (_tmp26_); #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (monitor); #line 2593 "LibraryMonitor.c" } #line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_monitor_list); #line 2597 "LibraryMonitor.c" } #line 287 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp27_ = gee_hash_map_new (TYPE_MEDIA_MONITOR, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, GEE_TYPE_SET, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 = _tmp27_; #line 288 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp28_ = gee_hash_set_new (g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 = _tmp28_; #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 2613 "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* _tmp18_; #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 2639 "LibraryMonitor.c" { GeeList* _monitor_list = NULL; GeeList* _tmp0_; GeeList* _tmp1_; gint _monitor_size = 0; GeeList* _tmp2_; gint _tmp3_; gint _tmp4_; 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 2667 "LibraryMonitor.c" gint _tmp5_; gint _tmp6_; gint _tmp7_; MediaMonitor* monitor = NULL; GeeList* _tmp8_; gint _tmp9_; gpointer _tmp10_; MediaMonitorDiscoveredFile _result_ = 0; MediaMonitor* _tmp11_; Monitorable* _tmp12_ = NULL; MediaMonitorDiscoveredFile _tmp13_; MediaMonitorDiscoveredFile _tmp14_; #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 2692 "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" _tmp13_ = media_monitor_notify_file_discovered (_tmp11_, file, info, &_tmp12_); #line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (representation); #line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" representation = _tmp12_; #line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _result_ = _tmp13_; #line 300 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp14_ = _result_; #line 300 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp14_ == MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED) { #line 2716 "LibraryMonitor.c" MediaMonitor* _tmp15_; MediaMonitor* _tmp16_; #line 301 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp15_ = monitor; #line 301 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp16_ = _g_object_ref0 (_tmp15_); #line 301 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (representing); #line 301 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" representing = _tmp16_; #line 303 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (monitor); #line 303 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 2731 "LibraryMonitor.c" } else { MediaMonitorDiscoveredFile _tmp17_; #line 304 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp17_ = _result_; #line 304 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp17_ == 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 2744 "LibraryMonitor.c" } } #line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (monitor); #line 2749 "LibraryMonitor.c" } #line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_monitor_list); #line 2753 "LibraryMonitor.c" } #line 312 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp18_ = representing; #line 312 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp18_ != NULL) { #line 2759 "LibraryMonitor.c" gboolean _tmp19_ = FALSE; Monitorable* _tmp20_; MediaMonitor* _tmp22_; Monitorable* _tmp23_; #line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp20_ = representation; #line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp20_ != NULL) { #line 2768 "LibraryMonitor.c" gboolean _tmp21_; #line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp21_ = ignore; #line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp19_ = !_tmp21_; #line 2774 "LibraryMonitor.c" } else { #line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp19_ = FALSE; #line 2778 "LibraryMonitor.c" } #line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _vala_assert (_tmp19_, "representation != null && !ignore"); #line 314 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp22_ = representing; #line 314 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp23_ = representation; #line 314 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_add_to_discovered_list (self, _tmp22_, _tmp23_); #line 2788 "LibraryMonitor.c" } else { gboolean _tmp24_ = FALSE; gboolean _tmp25_ = FALSE; gboolean _tmp26_; #line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp26_ = ignore; #line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!_tmp26_) { #line 2797 "LibraryMonitor.c" TombstoneSourceCollection* _tmp27_; #line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp27_ = tombstone_global; #line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp25_ = !tombstone_source_collection_matches (_tmp27_, file); #line 2803 "LibraryMonitor.c" } else { #line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp25_ = FALSE; #line 2807 "LibraryMonitor.c" } #line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp25_) { #line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp24_ = library_monitor_is_supported_filetype (self, file); #line 2813 "LibraryMonitor.c" } else { #line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp24_ = FALSE; #line 2817 "LibraryMonitor.c" } #line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp24_) { #line 2821 "LibraryMonitor.c" GeeHashSet* _tmp28_; #line 316 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp28_ = self->priv->unknown_files; #line 316 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), file); #line 2827 "LibraryMonitor.c" } } #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), file, info); #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 2836 "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 2848 "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 2861 "LibraryMonitor.c" } static void library_monitor_async_discovery_completed_async_ready_wrapper (GObject *source_object, GAsyncResult *res, void *user_data) { LibraryMonitorAsyncDiscoveryCompletedData* _task_data_; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _task_data_ = g_task_get_task_data (G_TASK (res)); #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_task_data_->_callback_ != NULL) { #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _task_data_->_callback_ (source_object, res, user_data); #line 2877 "LibraryMonitor.c" } #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _task_data_->_task_complete_ = TRUE; #line 2881 "LibraryMonitor.c" } static void library_monitor_async_discovery_completed (LibraryMonitor* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { LibraryMonitorAsyncDiscoveryCompletedData* _data_; LibraryMonitor* _tmp0_; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_ = g_slice_new0 (LibraryMonitorAsyncDiscoveryCompletedData); #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_callback_ = _callback_; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_async_result = g_task_new (G_OBJECT (self), NULL, library_monitor_async_discovery_completed_async_ready_wrapper, _user_data_); #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_callback_ == NULL) { #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_task_complete_ = TRUE; #line 2902 "LibraryMonitor.c" } #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_task_set_task_data (_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 2912 "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_task_propagate_pointer (G_TASK (_res_), NULL); #line 2923 "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 2934 "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 2945 "LibraryMonitor.c" goto _state_0; #line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" case 1: #line 2949 "LibraryMonitor.c" goto _state_1; default: #line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_assert_not_reached (); #line 2954 "LibraryMonitor.c" } _state_0: #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_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #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" g_task_return_pointer (_data_->_async_result, _data_, NULL); #line 334 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_state_ != 0) { #line 334 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (_data_->_task_complete_ != TRUE) { #line 334 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE); #line 2975 "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 2982 "LibraryMonitor.c" } #line 337 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp3_ = gee_array_list_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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_ = gee_array_list_new (g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 2992 "LibraryMonitor.c" { #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_ = 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_ = _data_->_file_it; #line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!gee_iterator_next (_data_->_tmp7_)) { #line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 3008 "LibraryMonitor.c" } #line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp8_ = _data_->_file_it; #line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp9_ = gee_iterator_get (_data_->_tmp8_); #line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->file = (GFile*) _data_->_tmp9_; #line 340 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp10_ = _data_->file; #line 340 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp11_ = directory_monitor_get_file_info (G_TYPE_CHECK_INSTANCE_CAST (_data_->self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _data_->_tmp10_); #line 340 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->info = _data_->_tmp11_; #line 341 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp12_ = _data_->info; #line 341 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_tmp12_ == 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 3032 "LibraryMonitor.c" } #line 345 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp13_ = _data_->all_candidates; #line 345 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp13_, 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 3042 "LibraryMonitor.c" { #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp14_ = _data_->self->priv->monitors; #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp15_ = _g_object_ref0 (_data_->_tmp14_); #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_monitor_list = _data_->_tmp15_; #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp16_ = _data_->_monitor_list; #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp17_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp16_, GEE_TYPE_COLLECTION, GeeCollection)); #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp18_ = _data_->_tmp17_; #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_monitor_size = _data_->_tmp18_; #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_->_tmp19_ = _data_->_monitor_index; #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_monitor_index = _data_->_tmp19_ + 1; #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp20_ = _data_->_monitor_index; #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp21_ = _data_->_monitor_size; #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!(_data_->_tmp20_ < _data_->_tmp21_)) { #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 3074 "LibraryMonitor.c" } #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp22_ = _data_->_monitor_list; #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp23_ = _data_->_monitor_index; #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp24_ = gee_list_get (_data_->_tmp22_, _data_->_tmp23_); #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->monitor = (MediaMonitor*) _data_->_tmp24_; #line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp25_ = _data_->monitor; #line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp26_ = _data_->file; #line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp27_ = _data_->info; #line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp28_ = 0; #line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp29_ = media_monitor_candidates_for_unknown_file (_data_->_tmp25_, _data_->_tmp26_, _data_->_tmp27_, &_data_->_tmp28_); #line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_result_ = _data_->_tmp28_; #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_->_tmp29_; #line 352 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp31_ = _data_->_result_; #line 352 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_tmp31_ == MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED) { #line 352 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp30_ = TRUE; #line 3106 "LibraryMonitor.c" } else { #line 353 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp32_ = _data_->_result_; #line 353 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp30_ = _data_->_tmp32_ == MEDIA_MONITOR_DISCOVERED_FILE_IGNORE; #line 3112 "LibraryMonitor.c" } #line 352 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_tmp30_) { #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 3122 "LibraryMonitor.c" } else { #line 357 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp33_ = _data_->candidates; #line 357 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_tmp33_ != NULL) { #line 358 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp34_ = _data_->all_candidates; #line 358 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp35_ = _data_->candidates; #line 358 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_array_list_add_all (_data_->_tmp34_, _data_->_tmp35_); #line 3134 "LibraryMonitor.c" } } #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_data_->monitor); #line 3139 "LibraryMonitor.c" } #line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_data_->_monitor_list); #line 3143 "LibraryMonitor.c" } #line 362 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp36_ = _data_->associated; #line 362 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_tmp36_) { #line 363 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp37_ = _data_->adopted; #line 363 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp38_ = _data_->file; #line 363 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp37_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _data_->_tmp38_); #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 3163 "LibraryMonitor.c" } #line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp39_ = _data_->all_candidates; #line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp40_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp39_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp41_ = _data_->_tmp40_; #line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_tmp41_ > 0) { #line 371 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp42_ = _data_->all_candidates; #line 371 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp43_ = _g_object_ref0 (_data_->_tmp42_); #line 371 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->job_candidates = _data_->_tmp43_; #line 372 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp44_ = gee_array_list_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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_->_tmp44_; #line 374 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp45_ = _data_->self->priv->checksums_total; #line 374 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->self->priv->checksums_total = _data_->_tmp45_ + 1; #line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp46_ = _data_->self->priv->workers; #line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp47_ = _data_->file; #line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp48_ = _data_->job_candidates; #line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp49_ = library_monitor_find_move_job_new (_data_->self, _data_->_tmp47_, G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp48_, GEE_TYPE_COLLECTION, GeeCollection)); #line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp50_ = _data_->_tmp49_; #line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" workers_enqueue (_data_->_tmp46_, G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp50_, TYPE_BACKGROUND_JOB, BackgroundJob)); #line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _background_job_unref0 (_data_->_tmp50_); #line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_data_->job_candidates); #line 3205 "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 3213 "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 3222 "LibraryMonitor.c" } #line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_data_->_file_it); #line 3226 "LibraryMonitor.c" } #line 383 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp51_ = _data_->self->priv->unknown_files; #line 383 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp52_ = _data_->adopted; #line 383 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_collection_remove_all (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp51_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp52_, 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_->_tmp53_ = _data_->self->priv->checksums_total; #line 387 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_tmp53_ == 0) { #line 388 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_discovery_stage_completed (_data_->self); #line 3242 "LibraryMonitor.c" } else { #line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp54_ = _data_->self->priv->checksums_total; #line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp55_ = g_strdup_printf ("%d checksum jobs initiated to verify unknown photo files", _data_->_tmp54_); #line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp56_ = _data_->_tmp55_; #line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" directory_monitor_mdbg (_data_->_tmp56_); #line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_data_->_tmp56_); #line 391 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp57_ = _data_->self->priv->checksums_completed; #line 391 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp58_ = _data_->self->priv->checksums_total; #line 391 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_signal_emit (_data_->self, library_monitor_signals[LIBRARY_MONITOR_AUTO_UPDATE_PROGRESS_SIGNAL], 0, _data_->_tmp57_, _data_->_tmp58_); #line 3260 "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" g_task_return_pointer (_data_->_async_result, _data_, NULL); #line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_state_ != 0) { #line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (_data_->_task_complete_ != TRUE) { #line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE); #line 3274 "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 3281 "LibraryMonitor.c" } static void library_monitor_report_checksum_job_completed (LibraryMonitor* self) { gint _tmp0_; gint _tmp1_; gint _tmp2_; gint _tmp3_; gint _tmp4_; gint _tmp5_; gint _tmp6_; #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 (self, library_monitor_signals[LIBRARY_MONITOR_AUTO_UPDATE_PROGRESS_SIGNAL], 0, _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 3321 "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 3331 "LibraryMonitor.c" } static void library_monitor_on_find_move_completed (LibraryMonitor* self, BackgroundJob* j) { LibraryMonitorFindMoveJob* job = NULL; LibraryMonitorFindMoveJob* _tmp0_; LibraryMonitorFindMoveJob* _tmp1_; Monitorable* _tmp2_; LibraryMonitorFindMoveJob* _tmp27_; GError* _tmp28_; #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_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (j, LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, LibraryMonitorFindMoveJob)); #line 406 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" job = _tmp0_; #line 411 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = job; #line 411 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = _tmp1_->match; #line 411 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp2_ != NULL) { #line 3359 "LibraryMonitor.c" LibraryMonitorFindMoveJob* _tmp3_; GFile* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; LibraryMonitorFindMoveJob* _tmp7_; Monitorable* _tmp8_; gchar* _tmp9_; gchar* _tmp10_; gchar* _tmp11_; gchar* _tmp12_; MediaMonitor* monitor = NULL; LibraryMonitorFindMoveJob* _tmp13_; Monitorable* _tmp14_; MediaMonitor* _tmp15_; MediaMonitor* _tmp16_; LibraryMonitorFindMoveJob* _tmp17_; Monitorable* _tmp18_; LibraryMonitorFindMoveJob* _tmp19_; GFile* _tmp20_; GeeHashSet* _tmp21_; LibraryMonitorFindMoveJob* _tmp22_; GFile* _tmp23_; MediaMonitor* _tmp24_; LibraryMonitorFindMoveJob* _tmp25_; Monitorable* _tmp26_; #line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = job; #line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = _tmp3_->file; #line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = g_file_get_path (_tmp4_); #line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = _tmp5_; #line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = job; #line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = _tmp7_->match; #line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp9_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_OBJECT, DataObject)); #line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = _tmp9_; #line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = g_strdup_printf ("Found moved master file: %s matches %s", _tmp6_, _tmp10_); #line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = _tmp11_; #line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" directory_monitor_mdbg (_tmp12_); #line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp12_); #line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp10_); #line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp6_); #line 415 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp13_ = job; #line 415 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp14_ = _tmp13_->match; #line 415 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp15_ = library_monitor_get_monitor_for_monitorable (self, _tmp14_); #line 415 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" monitor = _tmp15_; #line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp16_ = monitor; #line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp17_ = job; #line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp18_ = _tmp17_->match; #line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp19_ = job; #line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp20_ = _tmp19_->file; #line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" media_monitor_update_master_file (_tmp16_, _tmp18_, _tmp20_); #line 417 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp21_ = self->priv->unknown_files; #line 417 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp22_ = job; #line 417 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp23_ = _tmp22_->file; #line 417 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp23_); #line 418 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp24_ = monitor; #line 418 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp25_ = job; #line 418 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp26_ = _tmp25_->match; #line 418 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_add_to_discovered_list (self, _tmp24_, _tmp26_); #line 411 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (monitor); #line 3451 "LibraryMonitor.c" } #line 421 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp27_ = job; #line 421 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp28_ = _tmp27_->err; #line 421 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp28_ != NULL) { #line 3459 "LibraryMonitor.c" LibraryMonitorFindMoveJob* _tmp29_; GFile* _tmp30_; gchar* _tmp31_; gchar* _tmp32_; LibraryMonitorFindMoveJob* _tmp33_; GError* _tmp34_; const gchar* _tmp35_; #line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp29_ = job; #line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp30_ = _tmp29_->file; #line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp31_ = g_file_get_path (_tmp30_); #line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp32_ = _tmp31_; #line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp33_ = job; #line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp34_ = _tmp33_->err; #line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp35_ = _tmp34_->message; #line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_warning ("LibraryMonitor.vala:422: Unable to checksum unknown media file %s: %s", _tmp32_, _tmp35_); #line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp32_); #line 3485 "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 3491 "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 3505 "LibraryMonitor.c" } static void library_monitor_discovery_stage_completed (LibraryMonitor* self) { gboolean _tmp60_; TombstoneSourceCollection* _tmp62_; GCancellable* _tmp63_; #line 431 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_return_if_fail (IS_LIBRARY_MONITOR (self)); #line 3517 "LibraryMonitor.c" { GeeList* _monitor_list = NULL; GeeList* _tmp0_; GeeList* _tmp1_; gint _monitor_size = 0; GeeList* _tmp2_; gint _tmp3_; gint _tmp4_; 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 3545 "LibraryMonitor.c" gint _tmp5_; gint _tmp6_; gint _tmp7_; MediaMonitor* monitor = NULL; GeeList* _tmp8_; gint _tmp9_; gpointer _tmp10_; GeeSet* monitorables = NULL; GeeHashMap* _tmp11_; MediaMonitor* _tmp12_; gpointer _tmp13_; GeeSet* _tmp14_; #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 3570 "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 3592 "LibraryMonitor.c" { GeeIterator* _monitorable_it = NULL; GeeSet* _tmp15_; GeeIterator* _tmp16_; #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 3605 "LibraryMonitor.c" GeeIterator* _tmp17_; Monitorable* monitorable = NULL; GeeIterator* _tmp18_; gpointer _tmp19_; Monitorable* _tmp20_; MediaMonitor* _tmp21_; #line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp17_ = _monitorable_it; #line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!gee_iterator_next (_tmp17_)) { #line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 3618 "LibraryMonitor.c" } #line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp18_ = _monitorable_it; #line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp19_ = gee_iterator_get (_tmp18_); #line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" monitorable = (Monitorable*) _tmp19_; #line 436 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp20_ = monitorable; #line 436 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp21_ = monitor; #line 436 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_enqueue_verify_monitorable (self, _tmp20_, _tmp21_); #line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (monitorable); #line 3634 "LibraryMonitor.c" } #line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_monitorable_it); #line 3638 "LibraryMonitor.c" } } { GeeIterator* _object_it = NULL; MediaMonitor* _tmp22_; MediaSourceCollection* _tmp23_; MediaSourceCollection* _tmp24_; GeeCollection* _tmp25_; GeeCollection* _tmp26_; GeeIterator* _tmp27_; GeeIterator* _tmp28_; #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp22_ = monitor; #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp23_ = media_monitor_get_media_source_collection (_tmp22_); #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp24_ = _tmp23_; #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp25_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_DATA_COLLECTION, DataCollection)); #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp26_ = _tmp25_; #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp27_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ITERABLE, GeeIterable)); #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp28_ = _tmp27_; #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_tmp26_); #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_collection_unref0 (_tmp24_); #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _object_it = _tmp28_; #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 3672 "LibraryMonitor.c" GeeIterator* _tmp29_; DataObject* object = NULL; GeeIterator* _tmp30_; gpointer _tmp31_; Monitorable* monitorable = NULL; DataObject* _tmp32_; Monitorable* _tmp33_; gboolean _tmp34_ = FALSE; GeeSet* _tmp35_; Monitorable* _tmp38_; MediaMonitor* _tmp39_; #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp29_ = _object_it; #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!gee_iterator_next (_tmp29_)) { #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 3690 "LibraryMonitor.c" } #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp30_ = _object_it; #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp31_ = gee_iterator_get (_tmp30_); #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" object = (DataObject*) _tmp31_; #line 440 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp32_ = object; #line 440 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp33_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_MONITORABLE, Monitorable)); #line 440 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" monitorable = _tmp33_; #line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp35_ = monitorables; #line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp35_ != NULL) { #line 3708 "LibraryMonitor.c" GeeSet* _tmp36_; Monitorable* _tmp37_; #line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp36_ = monitorables; #line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp37_ = monitorable; #line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp34_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection), _tmp37_); #line 3717 "LibraryMonitor.c" } else { #line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp34_ = FALSE; #line 3721 "LibraryMonitor.c" } #line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp34_) { #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 3731 "LibraryMonitor.c" } #line 445 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp38_ = monitorable; #line 445 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp39_ = monitor; #line 445 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_enqueue_verify_monitorable (self, _tmp38_, _tmp39_); #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 3743 "LibraryMonitor.c" } #line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_object_it); #line 3747 "LibraryMonitor.c" } { GeeIterator* _source_it = NULL; MediaMonitor* _tmp40_; MediaSourceCollection* _tmp41_; MediaSourceCollection* _tmp42_; MediaSourceHoldingTank* _tmp43_; MediaSourceHoldingTank* _tmp44_; GeeCollection* _tmp45_; GeeCollection* _tmp46_; GeeIterator* _tmp47_; GeeIterator* _tmp48_; #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp40_ = monitor; #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp41_ = media_monitor_get_media_source_collection (_tmp40_); #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp42_ = _tmp41_; #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp43_ = media_source_collection_get_offline_bin (_tmp42_); #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp44_ = _tmp43_; #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp45_ = source_holding_tank_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)); #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp46_ = _tmp45_; #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp47_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_ITERABLE, GeeIterable)); #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp48_ = _tmp47_; #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_tmp46_); #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _source_holding_tank_unref0 (_tmp44_); #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_collection_unref0 (_tmp42_); #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _source_it = _tmp48_; #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 3788 "LibraryMonitor.c" GeeIterator* _tmp49_; DataSource* source = NULL; GeeIterator* _tmp50_; gpointer _tmp51_; Monitorable* monitorable = NULL; DataSource* _tmp52_; Monitorable* _tmp53_; gboolean _tmp54_ = FALSE; GeeSet* _tmp55_; Monitorable* _tmp58_; MediaMonitor* _tmp59_; #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp49_ = _source_it; #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!gee_iterator_next (_tmp49_)) { #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 3806 "LibraryMonitor.c" } #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp50_ = _source_it; #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp51_ = gee_iterator_get (_tmp50_); #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" source = (DataSource*) _tmp51_; #line 450 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp52_ = source; #line 450 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp53_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, TYPE_MONITORABLE, Monitorable)); #line 450 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" monitorable = _tmp53_; #line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp55_ = monitorables; #line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp55_ != NULL) { #line 3824 "LibraryMonitor.c" GeeSet* _tmp56_; Monitorable* _tmp57_; #line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp56_ = monitorables; #line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp57_ = monitorable; #line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp54_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, GEE_TYPE_COLLECTION, GeeCollection), _tmp57_); #line 3833 "LibraryMonitor.c" } else { #line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp54_ = FALSE; #line 3837 "LibraryMonitor.c" } #line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp54_) { #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 3847 "LibraryMonitor.c" } #line 455 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp58_ = monitorable; #line 455 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp59_ = monitor; #line 455 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_enqueue_verify_monitorable (self, _tmp58_, _tmp59_); #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 3859 "LibraryMonitor.c" } #line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_source_it); #line 3863 "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 3869 "LibraryMonitor.c" } #line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_monitor_list); #line 3873 "LibraryMonitor.c" } #line 460 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp60_ = self->priv->auto_import; #line 460 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp60_) { #line 3879 "LibraryMonitor.c" GeeHashSet* _tmp61_; #line 461 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp61_ = self->priv->unknown_files; #line 461 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_enqueue_import_many (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, GEE_TYPE_COLLECTION, GeeCollection)); #line 3885 "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" _tmp62_ = tombstone_global; #line 469 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp63_ = self->priv->cancellable; #line 469 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" tombstone_source_collection_launch_scan (_tmp62_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp63_); #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 3903 "LibraryMonitor.c" } static void library_monitor_enqueue_verify_monitorable (LibraryMonitor* self, Monitorable* monitorable, MediaMonitor* monitor) { gboolean offered = FALSE; GeeQueue* _tmp0_; LibraryMonitorVerifyJob* _tmp1_; LibraryMonitorVerifyJob* _tmp2_; gboolean _tmp3_; #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_ = library_monitor_verify_job_new (monitorable, monitor); #line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = _tmp1_; #line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = gee_queue_offer (_tmp0_, _tmp2_); #line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _library_monitor_verify_job_unref0 (_tmp2_); #line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" offered = _tmp3_; #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 3939 "LibraryMonitor.c" } static void library_monitor_execute_next_verify_job (LibraryMonitor* self) { gboolean _tmp0_ = FALSE; gint _tmp1_; LibraryMonitorVerifyJob* job = NULL; GeeQueue* _tmp5_; gpointer _tmp6_; LibraryMonitorVerifyJob* _tmp7_; gint _tmp8_; LibraryMonitorVerifyJob* _tmp9_; Monitorable* _tmp10_; LibraryMonitorVerifyJob* _tmp11_; MediaMonitor* _tmp12_; #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 3965 "LibraryMonitor.c" } else { GeeQueue* _tmp2_; gint _tmp3_; gint _tmp4_; #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 3978 "LibraryMonitor.c" } #line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp0_) { #line 484 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return; #line 3984 "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 4012 "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 4029 "LibraryMonitor.c" } static void library_monitor_verify_monitorable_async_ready_wrapper (GObject *source_object, GAsyncResult *res, void *user_data) { LibraryMonitorVerifyMonitorableData* _task_data_; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _task_data_ = g_task_get_task_data (G_TASK (res)); #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_task_data_->_callback_ != NULL) { #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _task_data_->_callback_ (source_object, res, user_data); #line 4045 "LibraryMonitor.c" } #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _task_data_->_task_complete_ = TRUE; #line 4049 "LibraryMonitor.c" } static void library_monitor_verify_monitorable (LibraryMonitor* self, Monitorable* monitorable, MediaMonitor* monitor, GAsyncReadyCallback _callback_, gpointer _user_data_) { LibraryMonitorVerifyMonitorableData* _data_; LibraryMonitor* _tmp0_; Monitorable* _tmp1_; MediaMonitor* _tmp2_; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_ = g_slice_new0 (LibraryMonitorVerifyMonitorableData); #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_callback_ = _callback_; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_async_result = g_task_new (G_OBJECT (self), NULL, library_monitor_verify_monitorable_async_ready_wrapper, _user_data_); #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_callback_ == NULL) { #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_task_complete_ = TRUE; #line 4074 "LibraryMonitor.c" } #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_task_set_task_data (_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_ = _g_object_ref0 (monitorable); #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 = _tmp1_; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = _g_object_ref0 (monitor); #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 = _tmp2_; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_verify_monitorable_co (_data_); #line 4096 "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_task_propagate_pointer (G_TASK (_res_), NULL); #line 4107 "LibraryMonitor.c" } static void _vala_array_add131 (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 4123 "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 4129 "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" _data_->_task_complete_ = TRUE; #line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_verify_monitorable_co (_data_); #line 4149 "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 4160 "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 4171 "LibraryMonitor.c" goto _state_0; #line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" case 1: #line 4175 "LibraryMonitor.c" goto _state_1; #line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" case 2: #line 4179 "LibraryMonitor.c" goto _state_2; default: #line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_assert_not_reached (); #line 4184 "LibraryMonitor.c" } _state_0: #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 = _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_ = _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_ = media_monitor_get_master_file (_data_->monitor, _data_->monitorable); #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_->_tmp2_; #line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp3_ = _data_->_tmp1_[0]; #line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp5_ = media_monitor_get_auxilliary_backing_files (_data_->monitor, _data_->monitorable, &_data_->_tmp4_); #line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->aux_files = _data_->_tmp5_; #line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->aux_files_length1 = _data_->_tmp4_; #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_->_tmp6_ = _data_->aux_files; #line 498 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp6__length1 = _data_->aux_files_length1; #line 498 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_tmp6_ != NULL) { #line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp7_ = _data_->aux_files; #line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp7__length1 = _data_->aux_files_length1; #line 4225 "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_->_tmp7_; #line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->aux_file_collection_length1 = _data_->_tmp7__length1; #line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" for (_data_->aux_file_it = 0; _data_->aux_file_it < _data_->_tmp7__length1; _data_->aux_file_it = _data_->aux_file_it + 1) { #line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp8_ = _g_object_ref0 (_data_->aux_file_collection[_data_->aux_file_it]); #line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->aux_file = _data_->_tmp8_; #line 4241 "LibraryMonitor.c" { #line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp9_ = _data_->files; #line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp9__length1 = _data_->files_length1; #line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp10_ = _data_->aux_file; #line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp11_ = _g_object_ref0 (_data_->_tmp10_); #line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _vala_array_add131 (&_data_->files, &_data_->files_length1, &_data_->_files_size_, _data_->_tmp11_); #line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_data_->aux_file); #line 4255 "LibraryMonitor.c" } } } } { #line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->ctr = 0; #line 4263 "LibraryMonitor.c" { #line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp12_ = TRUE; #line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!_data_->_tmp12_) { #line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp13_ = _data_->ctr; #line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->ctr = _data_->_tmp13_ + 1; #line 4275 "LibraryMonitor.c" } #line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp12_ = FALSE; #line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp14_ = _data_->ctr; #line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp15_ = _data_->files; #line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp15__length1 = _data_->files_length1; #line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!(_data_->_tmp14_ < _data_->_tmp15__length1)) { #line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 4289 "LibraryMonitor.c" } #line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp16_ = _data_->files; #line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp16__length1 = _data_->files_length1; #line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp17_ = _data_->ctr; #line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp18_ = _data_->_tmp16_[_data_->_tmp17_]; #line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp19_ = _g_object_ref0 (_data_->_tmp18_); #line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->file = _data_->_tmp19_; #line 506 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp20_ = _data_->file; #line 506 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp21_ = directory_monitor_get_file_info (G_TYPE_CHECK_INSTANCE_CAST (_data_->self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _data_->_tmp20_); #line 506 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->info = _data_->_tmp21_; #line 507 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp22_ = _data_->info; #line 507 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_tmp22_ == NULL) { #line 4313 "LibraryMonitor.c" { #line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp24_ = _data_->file; #line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp25_ = _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_->_tmp24_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, DIRECTORY_MONITOR_FILE_INFO_FLAGS, DIRECTORY_MONITOR_DEFAULT_PRIORITY, _data_->_tmp25_, library_monitor_verify_monitorable_ready, _data_); #line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return FALSE; #line 4325 "LibraryMonitor.c" _state_1: #line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp26_ = g_file_query_info_finish (_data_->_tmp24_, _data_->_res_, &_data_->_inner_error_); #line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp23_ = _data_->_tmp26_; #line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { #line 4333 "LibraryMonitor.c" goto __catch495_g_error; } #line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp27_ = _data_->_tmp23_; #line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp23_ = 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_->_tmp27_; #line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_data_->_tmp23_); #line 4346 "LibraryMonitor.c" } goto __finally495; __catch495_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 4357 "LibraryMonitor.c" } __finally495: #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" g_object_unref (_data_->_async_result); #line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return FALSE; #line 4378 "LibraryMonitor.c" } } #line 517 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp28_ = _data_->ctr; #line 517 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_tmp28_ == 0) { #line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp30_ = _data_->info; #line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_tmp30_ != NULL) { #line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp29_ = media_monitor_is_offline (_data_->monitor, _data_->monitorable); #line 4391 "LibraryMonitor.c" } else { #line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp29_ = FALSE; #line 4395 "LibraryMonitor.c" } #line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_tmp29_) { #line 519 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" media_monitor_update_online (_data_->monitor, _data_->monitorable); #line 4401 "LibraryMonitor.c" } else { #line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp32_ = _data_->info; #line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_tmp32_ == NULL) { #line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp31_ = !media_monitor_is_offline (_data_->monitor, _data_->monitorable); #line 4409 "LibraryMonitor.c" } else { #line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp31_ = FALSE; #line 4413 "LibraryMonitor.c" } #line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_tmp31_) { #line 521 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" media_monitor_update_offline (_data_->monitor, _data_->monitorable); #line 4419 "LibraryMonitor.c" } } } #line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp33_ = _data_->file; #line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp34_ = _data_->info; #line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" media_monitor_update_backing_file_info (_data_->monitor, _data_->monitorable, _data_->_tmp33_, _data_->_tmp34_); #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 4433 "LibraryMonitor.c" } } } #line 527 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp35_ = _data_->self->priv->completed_monitorable_verifies; #line 527 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->self->priv->completed_monitorable_verifies = _data_->_tmp35_ + 1; #line 528 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp36_ = _data_->self->priv->completed_monitorable_verifies; #line 528 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp37_ = _data_->self->priv->total_monitorable_verifies; #line 528 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_signal_emit (_data_->self, library_monitor_signals[LIBRARY_MONITOR_AUTO_UPDATE_PROGRESS_SIGNAL], 0, _data_->_tmp36_, _data_->_tmp37_); #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 4453 "LibraryMonitor.c" _state_2: ; #line 534 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp38_ = _data_->self->priv->outstanding_verify_jobs; #line 534 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _vala_assert (_data_->_tmp38_ > 0, "outstanding_verify_jobs > 0"); #line 535 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->_tmp39_ = _data_->self->priv->outstanding_verify_jobs; #line 535 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_->self->priv->outstanding_verify_jobs = _data_->_tmp39_ - 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" g_task_return_pointer (_data_->_async_result, _data_, NULL); #line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_data_->_state_ != 0) { #line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (_data_->_task_complete_ != TRUE) { #line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE); #line 4478 "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 4485 "LibraryMonitor.c" } static void library_monitor_on_config_changed (LibraryMonitor* self) { gboolean value = FALSE; ConfigFacade* _tmp0_; ConfigFacade* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; gboolean _tmp4_; gboolean _tmp5_; gboolean _tmp6_; #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" _g_object_unref0 (_tmp1_); #line 541 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" value = _tmp2_; #line 543 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = self->priv->auto_import; #line 543 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = value; #line 543 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp3_ == _tmp4_) { #line 544 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return; #line 4520 "LibraryMonitor.c" } #line 546 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = value; #line 546 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" self->priv->auto_import = _tmp5_; #line 547 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = self->priv->auto_import; #line 547 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp6_) { #line 4530 "LibraryMonitor.c" gboolean _tmp7_; #line 548 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = commandline_options_no_runtime_monitoring; #line 548 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!_tmp7_) { #line 549 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_import_unrepresented_files (self); #line 4538 "LibraryMonitor.c" } } else { #line 551 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_cancel_batch_imports (self); #line 4543 "LibraryMonitor.c" } } static void library_monitor_enqueue_import (LibraryMonitor* self, GFile* file) { gboolean _tmp0_ = FALSE; gboolean _tmp1_ = FALSE; GeeHashSet* _tmp2_; #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" if (!gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), file)) { #line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = library_monitor_is_supported_filetype (self, file); #line 4565 "LibraryMonitor.c" } else { #line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = FALSE; #line 4569 "LibraryMonitor.c" } #line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp1_) { #line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp0_ = !library_monitor_is_blacklisted (file); #line 4575 "LibraryMonitor.c" } else { #line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp0_ = FALSE; #line 4579 "LibraryMonitor.c" } #line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp0_) { #line 4583 "LibraryMonitor.c" GeeHashSet* _tmp3_; #line 557 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = self->priv->import_queue; #line 557 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), file); #line 4589 "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 4602 "LibraryMonitor.c" { GeeIterator* _file_it = NULL; GeeIterator* _tmp0_; #line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp0_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (files, GEE_TYPE_ITERABLE, GeeIterable)); #line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _file_it = _tmp0_; #line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 4612 "LibraryMonitor.c" GeeIterator* _tmp1_; GFile* file = NULL; GeeIterator* _tmp2_; gpointer _tmp3_; GFile* _tmp4_; #line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = _file_it; #line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!gee_iterator_next (_tmp1_)) { #line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 4624 "LibraryMonitor.c" } #line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = _file_it; #line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = gee_iterator_get (_tmp2_); #line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" file = (GFile*) _tmp3_; #line 562 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = file; #line 562 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_enqueue_import (self, _tmp4_); #line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (file); #line 4638 "LibraryMonitor.c" } #line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_file_it); #line 4642 "LibraryMonitor.c" } } static void library_monitor_remove_queued_import (LibraryMonitor* self, GFile* file) { GeeHashSet* _tmp0_; #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" gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), file); #line 4660 "LibraryMonitor.c" } static gboolean library_monitor_on_flush_import_queue (LibraryMonitor* self) { gboolean result = FALSE; GCancellable* _tmp0_; GeeHashSet* _tmp1_; gint _tmp2_; gint _tmp3_; BatchImport* _tmp4_; GeeHashSet* _tmp5_; gint _tmp6_; gint _tmp7_; gchar* _tmp8_; gchar* _tmp9_; time_t now = 0; gboolean _tmp10_ = FALSE; BatchImportRoll* _tmp11_; time_t _tmp15_; GeeArrayList* jobs = NULL; GeeArrayList* _tmp16_; GeeHashSet* _tmp29_; BatchImport* importer = NULL; GeeArrayList* _tmp30_; BatchImportRoll* _tmp31_; BatchImport* _tmp32_; BatchImport* _tmp33_; BatchImport* _tmp34_; GeeArrayList* _tmp35_; BatchImport* _tmp36_; #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" if (g_cancellable_is_cancelled (_tmp0_)) { #line 571 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" result = FALSE; #line 571 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return result; #line 4703 "LibraryMonitor.c" } #line 573 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = self->priv->import_queue; #line 573 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 573 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = _tmp2_; #line 573 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp3_ == 0) { #line 574 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" result = TRUE; #line 574 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return result; #line 4717 "LibraryMonitor.c" } #line 578 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = self->priv->current_batch_import; #line 578 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp4_ != NULL) { #line 579 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" result = TRUE; #line 579 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return result; #line 4727 "LibraryMonitor.c" } #line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = self->priv->import_queue; #line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = _tmp6_; #line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = g_strdup_printf ("Auto-importing %d files", _tmp7_); #line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp9_ = _tmp8_; #line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" directory_monitor_mdbg (_tmp9_); #line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp9_); #line 586 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" now = (time_t) now_sec (); #line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = self->priv->current_import_roll; #line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp11_ == NULL) { #line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = TRUE; #line 4751 "LibraryMonitor.c" } else { time_t _tmp12_; time_t _tmp13_; #line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = now; #line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp13_ = self->priv->last_import_roll_use; #line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = (_tmp12_ - _tmp13_) >= ((time_t) LIBRARY_MONITOR_IMPORT_ROLL_QUIET_SEC); #line 4761 "LibraryMonitor.c" } #line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp10_) { #line 4765 "LibraryMonitor.c" BatchImportRoll* _tmp14_; #line 588 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp14_ = 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 = _tmp14_; #line 4773 "LibraryMonitor.c" } #line 589 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp15_ = now; #line 589 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" self->priv->last_import_roll_use = _tmp15_; #line 591 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp16_ = gee_array_list_new (TYPE_BATCH_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, (GDestroyNotify) batch_import_job_unref, NULL, NULL, NULL); #line 591 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" jobs = _tmp16_; #line 4783 "LibraryMonitor.c" { GeeIterator* _file_it = NULL; GeeHashSet* _tmp17_; GeeIterator* _tmp18_; #line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp17_ = self->priv->import_queue; #line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp18_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _file_it = _tmp18_; #line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 4796 "LibraryMonitor.c" GeeIterator* _tmp19_; GFile* file = NULL; GeeIterator* _tmp20_; gpointer _tmp21_; GFile* _tmp22_; GeeArrayList* _tmp23_; GFile* _tmp24_; FileImportJob* _tmp25_; FileImportJob* _tmp26_; GeeHashSet* _tmp27_; GFile* _tmp28_; #line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp19_ = _file_it; #line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!gee_iterator_next (_tmp19_)) { #line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 4814 "LibraryMonitor.c" } #line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp20_ = _file_it; #line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp21_ = gee_iterator_get (_tmp20_); #line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" file = (GFile*) _tmp21_; #line 593 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp22_ = file; #line 593 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (library_monitor_is_blacklisted (_tmp22_)) { #line 594 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (file); #line 594 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" continue; #line 4830 "LibraryMonitor.c" } #line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp23_ = jobs; #line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp24_ = file; #line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp25_ = file_import_job_new (_tmp24_, FALSE, TRUE); #line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp26_ = _tmp25_; #line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_BATCH_IMPORT_JOB, BatchImportJob)); #line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _batch_import_job_unref0 (_tmp26_); #line 597 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp27_ = self->priv->pending_imports; #line 597 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp28_ = file; #line 597 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp28_); #line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (file); #line 4852 "LibraryMonitor.c" } #line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_file_it); #line 4856 "LibraryMonitor.c" } #line 600 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp29_ = self->priv->import_queue; #line 600 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 602 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp30_ = jobs; #line 602 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp31_ = self->priv->current_import_roll; #line 602 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp32_ = batch_import_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ITERABLE, GeeIterable), "LibraryMonitor autoimport", NULL, NULL, NULL, NULL, NULL, _tmp31_, NULL); #line 602 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" importer = _tmp32_; #line 604 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp33_ = importer; #line 604 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" batch_import_set_untrash_duplicates (_tmp33_, FALSE); #line 605 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp34_ = importer; #line 605 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" batch_import_set_mark_duplicates_online (_tmp34_, FALSE); #line 606 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp35_ = self->priv->batch_import_queue; #line 606 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp36_ = importer; #line 606 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp36_); #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 4894 "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 4904 "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 4916 "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 4928 "LibraryMonitor.c" } static void library_monitor_schedule_next_batch_import (LibraryMonitor* self) { gboolean _tmp0_ = FALSE; BatchImport* _tmp1_; GeeArrayList* _tmp5_; gpointer _tmp6_; BatchImport* _tmp7_; BatchImport* _tmp8_; BatchImport* _tmp9_; BatchImport* _tmp10_; #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 4951 "LibraryMonitor.c" } else { GeeArrayList* _tmp2_; gint _tmp3_; gint _tmp4_; #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_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = _tmp3_; #line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp0_ = _tmp4_ == 0; #line 4964 "LibraryMonitor.c" } #line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp0_) { #line 615 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return; #line 4970 "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 4996 "LibraryMonitor.c" } static void library_monitor_discard_current_batch_import (LibraryMonitor* self) { BatchImport* _tmp0_; gboolean removed = FALSE; GeeArrayList* _tmp1_; BatchImport* _tmp2_; gboolean _tmp3_; BatchImport* _tmp4_; guint _tmp5_; BatchImport* _tmp6_; guint _tmp7_; BatchImport* _tmp8_; guint _tmp9_; GeeArrayList* _tmp10_; gint _tmp11_; gint _tmp12_; #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" removed = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp2_); #line 628 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = removed; #line 628 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _vala_assert (_tmp3_, "removed"); #line 629 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = self->priv->current_batch_import; #line 629 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_signal_parse_name ("preparing", TYPE_BATCH_IMPORT, &_tmp5_, NULL, FALSE); #line 629 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _library_monitor_on_import_preparing_batch_import_preparing, self); #line 630 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = self->priv->current_batch_import; #line 630 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_signal_parse_name ("progress", TYPE_BATCH_IMPORT, &_tmp7_, NULL, FALSE); #line 630 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _library_monitor_on_import_progress_batch_import_progress, self); #line 631 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = self->priv->current_batch_import; #line 631 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_signal_parse_name ("import-complete", TYPE_BATCH_IMPORT, &_tmp9_, NULL, FALSE); #line 631 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 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" _tmp10_ = self->priv->batch_import_queue; #line 639 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 639 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = _tmp11_; #line 639 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp12_ == 0) { #line 5063 "LibraryMonitor.c" GeeHashSet* _tmp13_; #line 640 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp13_ = self->priv->pending_imports; #line 640 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 5069 "LibraryMonitor.c" } } static void library_monitor_cancel_batch_imports (LibraryMonitor* self) { gint ctr = 0; BatchImport* _tmp16_; GeeHashSet* _tmp18_; #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 5086 "LibraryMonitor.c" gint _tmp0_; GeeArrayList* _tmp1_; gint _tmp2_; gint _tmp3_; GeeArrayList* _tmp4_; gint _tmp5_; gpointer _tmp6_; BatchImport* _tmp7_; BatchImport* _tmp8_; gboolean _tmp9_; GeeArrayList* _tmp11_; GeeArrayList* _tmp12_; gint _tmp13_; gpointer _tmp14_; BatchImport* _tmp15_; #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_ABSTRACT_COLLECTION, GeeAbstractCollection)); #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 5114 "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 5132 "LibraryMonitor.c" gint _tmp10_; #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 5140 "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 5156 "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 5162 "LibraryMonitor.c" BatchImport* _tmp17_; #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 5168 "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 5174 "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 (self, library_monitor_signals[LIBRARY_MONITOR_AUTO_IMPORT_PREPARING_SIGNAL], 0); #line 5185 "LibraryMonitor.c" } static void library_monitor_on_import_progress (LibraryMonitor* self, guint64 completed_bytes, guint64 total_bytes) { #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" g_signal_emit (self, library_monitor_signals[LIBRARY_MONITOR_AUTO_IMPORT_PROGRESS_SIGNAL], 0, completed_bytes, total_bytes); #line 5198 "LibraryMonitor.c" } static void library_monitor_on_import_complete (LibraryMonitor* self, BatchImport* batch_import, ImportManifest* manifest, BatchImportRoll* import_roll) { BatchImport* _tmp0_; GeeList* _tmp1_; gint _tmp2_; gint _tmp3_; gchar* _tmp4_; gchar* _tmp5_; GeeList* _tmp22_; gint _tmp23_; gint _tmp24_; GeeHashSet* _tmp53_; gint _tmp54_; gint _tmp55_; gchar* _tmp56_; gchar* _tmp57_; 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_ = self->priv->current_batch_import; #line 674 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _vala_assert (batch_import == _tmp0_, "batch_import == current_batch_import"); #line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = manifest->all; #line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); #line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = _tmp2_; #line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = g_strdup_printf ("auto-import batch completed %d", _tmp3_); #line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = _tmp4_; #line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" directory_monitor_mdbg (_tmp5_); #line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp5_); #line 677 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_signal_emit (self, library_monitor_signals[LIBRARY_MONITOR_AUTO_IMPORT_PROGRESS_SIGNAL], 0, (guint64) 0, (guint64) 0); #line 5251 "LibraryMonitor.c" { GeeList* _result_list = NULL; GeeList* _tmp6_; GeeList* _tmp7_; gint _result_size = 0; GeeList* _tmp8_; gint _tmp9_; gint _tmp10_; gint _result_index = 0; #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = manifest->all; #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = _g_object_ref0 (_tmp6_); #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _result_list = _tmp7_; #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = _result_list; #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp9_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = _tmp9_; #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _result_size = _tmp10_; #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _result_index = -1; #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 5279 "LibraryMonitor.c" gint _tmp11_; gint _tmp12_; gint _tmp13_; BatchImportResult* _result_ = NULL; GeeList* _tmp14_; gint _tmp15_; gpointer _tmp16_; BatchImportResult* _tmp17_; GFile* _tmp18_; #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = _result_index; #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _result_index = _tmp11_ + 1; #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = _result_index; #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp13_ = _result_size; #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!(_tmp12_ < _tmp13_)) { #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 5301 "LibraryMonitor.c" } #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp14_ = _result_list; #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp15_ = _result_index; #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp16_ = gee_list_get (_tmp14_, _tmp15_); #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _result_ = (BatchImportResult*) _tmp16_; #line 682 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp17_ = _result_; #line 682 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp18_ = _tmp17_->file; #line 682 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp18_ != NULL) { #line 5317 "LibraryMonitor.c" GeeHashSet* _tmp19_; BatchImportResult* _tmp20_; GFile* _tmp21_; #line 683 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp19_ = self->priv->pending_imports; #line 683 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp20_ = _result_; #line 683 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp21_ = _tmp20_->file; #line 683 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp21_); #line 5329 "LibraryMonitor.c" } #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _batch_import_result_unref0 (_result_); #line 5333 "LibraryMonitor.c" } #line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_result_list); #line 5337 "LibraryMonitor.c" } #line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp22_ = manifest->already_imported; #line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp23_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection)); #line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp24_ = _tmp23_; #line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp24_ > 0) { #line 5347 "LibraryMonitor.c" GeeArrayList* to_tombstone = NULL; GeeArrayList* _tmp25_; #line 687 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp25_ = gee_array_list_new (TYPE_TOMBSTONED_FILE, (GBoxedCopyFunc) tombstoned_file_ref, (GDestroyNotify) tombstoned_file_unref, NULL, NULL, NULL); #line 687 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" to_tombstone = _tmp25_; #line 5354 "LibraryMonitor.c" { GeeList* _result_list = NULL; GeeList* _tmp26_; GeeList* _tmp27_; gint _result_size = 0; GeeList* _tmp28_; gint _tmp29_; gint _tmp30_; gint _result_index = 0; #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp26_ = manifest->already_imported; #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp27_ = _g_object_ref0 (_tmp26_); #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _result_list = _tmp27_; #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp28_ = _result_list; #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp29_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_COLLECTION, GeeCollection)); #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp30_ = _tmp29_; #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _result_size = _tmp30_; #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _result_index = -1; #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 5382 "LibraryMonitor.c" gint _tmp31_; gint _tmp32_; gint _tmp33_; BatchImportResult* _result_ = NULL; GeeList* _tmp34_; gint _tmp35_; gpointer _tmp36_; GFileInfo* info = NULL; BatchImportResult* _tmp37_; GFile* _tmp38_; GFileInfo* _tmp39_; GFileInfo* _tmp40_; GeeArrayList* _tmp45_; BatchImportResult* _tmp46_; GFile* _tmp47_; GFileInfo* _tmp48_; TombstonedFile* _tmp49_; TombstonedFile* _tmp50_; #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp31_ = _result_index; #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _result_index = _tmp31_ + 1; #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp32_ = _result_index; #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp33_ = _result_size; #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!(_tmp32_ < _tmp33_)) { #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 5413 "LibraryMonitor.c" } #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp34_ = _result_list; #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp35_ = _result_index; #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp36_ = gee_list_get (_tmp34_, _tmp35_); #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _result_ = (BatchImportResult*) _tmp36_; #line 689 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp37_ = _result_; #line 689 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp38_ = _tmp37_->file; #line 689 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp39_ = directory_monitor_get_file_info (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp38_); #line 689 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" info = _tmp39_; #line 690 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp40_ = info; #line 690 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp40_ == NULL) { #line 5435 "LibraryMonitor.c" BatchImportResult* _tmp41_; GFile* _tmp42_; gchar* _tmp43_; gchar* _tmp44_; #line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp41_ = _result_; #line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp42_ = _tmp41_->file; #line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp43_ = g_file_get_path (_tmp42_); #line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp44_ = _tmp43_; #line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_warning ("LibraryMonitor.vala:691: Unable to get info for duplicate file %s", _tmp44_); #line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp44_); #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 5458 "LibraryMonitor.c" } #line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp45_ = to_tombstone; #line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp46_ = _result_; #line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp47_ = _tmp46_->file; #line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp48_ = info; #line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp49_ = tombstoned_file_new (_tmp47_, g_file_info_get_size (_tmp48_), NULL); #line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp50_ = _tmp49_; #line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp50_); #line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tombstoned_file_unref0 (_tmp50_); #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 5480 "LibraryMonitor.c" } #line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_result_list); #line 5484 "LibraryMonitor.c" } { GeeArrayList* _tmp51_; #line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp51_ = to_tombstone; #line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" tombstone_entomb_many_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, 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 5496 "LibraryMonitor.c" goto __catch496_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 5507 "LibraryMonitor.c" } } goto __finally496; __catch496_database_error: { GError* err = NULL; GError* _tmp52_; #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" _tmp52_ = err; #line 702 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" app_window_database_error (_tmp52_); #line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_error_free0 (err); #line 5525 "LibraryMonitor.c" } __finally496: #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 5538 "LibraryMonitor.c" } #line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (to_tombstone); #line 5542 "LibraryMonitor.c" } #line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp53_ = self->priv->pending_imports; #line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp54_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp55_ = _tmp54_; #line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp56_ = g_strdup_printf ("%d files remain pending for auto-import", _tmp55_); #line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp57_ = _tmp56_; #line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" directory_monitor_mdbg (_tmp57_); #line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp57_); #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 5562 "LibraryMonitor.c" } void library_monitor_blacklist_file (GFile* file, const gchar* reason) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; 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_ = g_file_get_path (file); #line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = _tmp0_; #line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = g_strdup_printf ("[%s] Blacklisting %s", reason, _tmp1_); #line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = _tmp2_; #line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" directory_monitor_mdbg (_tmp3_); #line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp3_); #line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp1_); #line 5593 "LibraryMonitor.c" { GeeHashSet* _tmp4_; #line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = library_monitor_blacklist; #line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_rec_mutex_lock (&__lock_library_monitor_blacklist); #line 5600 "LibraryMonitor.c" { GeeHashSet* _tmp5_; #line 728 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = library_monitor_blacklist; #line 728 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), file); #line 5607 "LibraryMonitor.c" } __finally497: { GeeHashSet* _tmp6_; #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_unlock (&__lock_library_monitor_blacklist); #line 5616 "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 5626 "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 5638 "LibraryMonitor.c" { GeeHashSet* _tmp0_; #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 5645 "LibraryMonitor.c" { gboolean _tmp1_ = FALSE; GeeHashSet* _tmp2_; #line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = library_monitor_blacklist; #line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), file)) { #line 5653 "LibraryMonitor.c" HashTimedQueue* _tmp3_; #line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = library_monitor_to_unblacklist; #line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = !timed_queue_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_TIMED_QUEUE, TimedQueue), file); #line 5659 "LibraryMonitor.c" } else { #line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = FALSE; #line 5663 "LibraryMonitor.c" } #line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp1_) { #line 5667 "LibraryMonitor.c" HashTimedQueue* _tmp4_; #line 737 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = library_monitor_to_unblacklist; #line 737 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" timed_queue_enqueue (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_TIMED_QUEUE, TimedQueue), file); #line 5673 "LibraryMonitor.c" } } __finally498: { GeeHashSet* _tmp5_; #line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = library_monitor_blacklist; #line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_rec_mutex_unlock (&__lock_library_monitor_blacklist); #line 5683 "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 5693 "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 5706 "LibraryMonitor.c" { GeeHashSet* _tmp0_; #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 5713 "LibraryMonitor.c" { GeeHashSet* _tmp1_; #line 744 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = library_monitor_blacklist; #line 744 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" removed = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), file); #line 5720 "LibraryMonitor.c" } __finally499: { GeeHashSet* _tmp2_; #line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = library_monitor_blacklist; #line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_rec_mutex_unlock (&__lock_library_monitor_blacklist); #line 5729 "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 5739 "LibraryMonitor.c" } } #line 747 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (removed) { #line 5744 "LibraryMonitor.c" gchar* _tmp3_; gchar* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; #line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = g_file_get_path (file); #line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = _tmp3_; #line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = g_strdup_printf ("Blacklist for %s removed", _tmp4_); #line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = _tmp5_; #line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" directory_monitor_mdbg (_tmp6_); #line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp6_); #line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp4_); #line 5763 "LibraryMonitor.c" } else { gchar* _tmp7_; gchar* _tmp8_; #line 750 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = g_file_get_path (file); #line 750 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = _tmp7_; #line 750 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_warning ("LibraryMonitor.vala:750: File %s was not blacklisted but unblacklisted", _tmp8_); #line 750 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp8_); #line 5775 "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 5787 "LibraryMonitor.c" { GeeHashSet* _tmp0_; gboolean _tmp4_ = FALSE; #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 5795 "LibraryMonitor.c" { GeeHashSet* _tmp1_; #line 755 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = library_monitor_blacklist; #line 755 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" result = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), file); #line 5802 "LibraryMonitor.c" { GeeHashSet* _tmp2_; #line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = library_monitor_blacklist; #line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_rec_mutex_unlock (&__lock_library_monitor_blacklist); #line 5809 "LibraryMonitor.c" } #line 755 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return result; #line 5813 "LibraryMonitor.c" } __finally500: { GeeHashSet* _tmp3_; #line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = library_monitor_blacklist; #line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_rec_mutex_unlock (&__lock_library_monitor_blacklist); #line 5822 "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 _tmp4_; #line 5830 "LibraryMonitor.c" } } static gboolean library_monitor_is_supported_filetype (LibraryMonitor* self, GFile* file) { gboolean result = FALSE; MediaCollectionRegistry* _tmp0_; MediaCollectionRegistry* _tmp1_; MediaSourceCollection* _tmp2_; MediaSourceCollection* _tmp3_; gboolean _tmp4_; #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_ = media_collection_registry_get_collection_for_file (_tmp1_, file); #line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = _tmp2_; #line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = _tmp3_ != NULL; #line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _data_collection_unref0 (_tmp3_); #line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _media_collection_registry_unref0 (_tmp1_); #line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" result = _tmp4_; #line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return result; #line 5867 "LibraryMonitor.c" } static void library_monitor_import_unrepresented_files (LibraryMonitor* self) { gboolean _tmp0_; GeeArrayList* to_import = NULL; GeeArrayList* _tmp36_; #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 5885 "LibraryMonitor.c" } #line 769 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" to_import = NULL; #line 5889 "LibraryMonitor.c" { GeeIterator* _file_it = NULL; GeeCollection* _tmp1_; GeeCollection* _tmp2_; GeeIterator* _tmp3_; GeeIterator* _tmp4_; #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 5910 "LibraryMonitor.c" GeeIterator* _tmp5_; GFile* file = NULL; GeeIterator* _tmp6_; gpointer _tmp7_; GFileInfo* info = NULL; GFile* _tmp8_; GFileInfo* _tmp9_; gboolean _tmp10_ = FALSE; GFileInfo* _tmp11_; GeeHashSet* _tmp13_; GFile* _tmp14_; TombstoneSourceCollection* _tmp15_; GFile* _tmp16_; gboolean represented = FALSE; gboolean _tmp30_; GFile* _tmp31_; GeeArrayList* _tmp32_; GeeArrayList* _tmp34_; GFile* _tmp35_; #line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = _file_it; #line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!gee_iterator_next (_tmp5_)) { #line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 5936 "LibraryMonitor.c" } #line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = _file_it; #line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = gee_iterator_get (_tmp6_); #line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" file = (GFile*) _tmp7_; #line 771 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = file; #line 771 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp9_ = directory_monitor_get_file_info (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp8_); #line 771 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" info = _tmp9_; #line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = info; #line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp11_ == NULL) { #line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = TRUE; #line 5956 "LibraryMonitor.c" } else { GFileInfo* _tmp12_; #line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = info; #line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = g_file_info_get_file_type (_tmp12_) != G_FILE_TYPE_REGULAR; #line 5963 "LibraryMonitor.c" } #line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp10_) { #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 5973 "LibraryMonitor.c" } #line 775 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp13_ = self->priv->pending_imports; #line 775 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp14_ = file; #line 775 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp14_)) { #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 5987 "LibraryMonitor.c" } #line 778 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp15_ = tombstone_global; #line 778 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp16_ = file; #line 778 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (tombstone_source_collection_matches (_tmp15_, _tmp16_)) { #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 6001 "LibraryMonitor.c" } #line 781 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" represented = FALSE; #line 6005 "LibraryMonitor.c" { GeeList* _monitor_list = NULL; GeeList* _tmp17_; GeeList* _tmp18_; gint _monitor_size = 0; GeeList* _tmp19_; gint _tmp20_; gint _tmp21_; gint _monitor_index = 0; #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp17_ = self->priv->monitors; #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp18_ = _g_object_ref0 (_tmp17_); #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_list = _tmp18_; #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp19_ = _monitor_list; #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp20_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_COLLECTION, GeeCollection)); #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp21_ = _tmp20_; #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_size = _tmp21_; #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = -1; #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 6033 "LibraryMonitor.c" gint _tmp22_; gint _tmp23_; gint _tmp24_; MediaMonitor* monitor = NULL; GeeList* _tmp25_; gint _tmp26_; gpointer _tmp27_; MediaMonitor* _tmp28_; GFile* _tmp29_; #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp22_ = _monitor_index; #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = _tmp22_ + 1; #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp23_ = _monitor_index; #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp24_ = _monitor_size; #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!(_tmp23_ < _tmp24_)) { #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 6055 "LibraryMonitor.c" } #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp25_ = _monitor_list; #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp26_ = _monitor_index; #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp27_ = gee_list_get (_tmp25_, _tmp26_); #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" monitor = (MediaMonitor*) _tmp27_; #line 783 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp28_ = monitor; #line 783 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp29_ = file; #line 783 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (media_monitor_is_file_represented (_tmp28_, _tmp29_)) { #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 6077 "LibraryMonitor.c" } #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (monitor); #line 6081 "LibraryMonitor.c" } #line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_monitor_list); #line 6085 "LibraryMonitor.c" } #line 790 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp30_ = represented; #line 790 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp30_) { #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 6097 "LibraryMonitor.c" } #line 793 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp31_ = file; #line 793 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!library_monitor_is_supported_filetype (self, _tmp31_)) { #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 6109 "LibraryMonitor.c" } #line 796 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp32_ = to_import; #line 796 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp32_ == NULL) { #line 6115 "LibraryMonitor.c" GeeArrayList* _tmp33_; #line 797 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp33_ = gee_array_list_new (g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 = _tmp33_; #line 6123 "LibraryMonitor.c" } #line 799 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp34_ = to_import; #line 799 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp35_ = file; #line 799 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp35_); #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 6135 "LibraryMonitor.c" } #line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_file_it); #line 6139 "LibraryMonitor.c" } #line 802 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp36_ = to_import; #line 802 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp36_ != NULL) { #line 6145 "LibraryMonitor.c" GeeArrayList* _tmp37_; #line 803 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp37_ = to_import; #line 803 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_enqueue_import_many (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_COLLECTION, GeeCollection)); #line 6151 "LibraryMonitor.c" } #line 765 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (to_import); #line 6155 "LibraryMonitor.c" } static void library_monitor_runtime_unknown_file_discovered (LibraryMonitor* self, GFile* file) { gboolean _tmp0_ = FALSE; gboolean _tmp1_ = FALSE; gboolean _tmp2_; #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 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = library_monitor_is_supported_filetype (self, file); #line 6176 "LibraryMonitor.c" } else { #line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = FALSE; #line 6180 "LibraryMonitor.c" } #line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp1_) { #line 6184 "LibraryMonitor.c" TombstoneSourceCollection* _tmp3_; #line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = tombstone_global; #line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp0_ = !tombstone_source_collection_matches (_tmp3_, file); #line 6190 "LibraryMonitor.c" } else { #line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp0_ = FALSE; #line 6194 "LibraryMonitor.c" } #line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp0_) { #line 6198 "LibraryMonitor.c" gchar* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; gchar* _tmp7_; #line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = g_file_get_path (file); #line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = _tmp4_; #line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = g_strdup_printf ("Unknown file %s discovered, enqueuing for import", _tmp5_); #line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = _tmp6_; #line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" directory_monitor_mdbg (_tmp7_); #line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp7_); #line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp5_); #line 811 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_enqueue_import (self, file); #line 6219 "LibraryMonitor.c" } } static void library_monitor_real_notify_file_created (DirectoryMonitor* base, GFile* file, GFileInfo* info) { LibraryMonitor * self; gboolean known = FALSE; gboolean _tmp12_; gboolean _tmp83_; #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" if (library_monitor_is_blacklisted (file)) { #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), file, info); #line 819 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return; #line 6245 "LibraryMonitor.c" } #line 822 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" known = FALSE; #line 6249 "LibraryMonitor.c" { GeeList* _monitor_list = NULL; GeeList* _tmp0_; GeeList* _tmp1_; gint _monitor_size = 0; GeeList* _tmp2_; gint _tmp3_; gint _tmp4_; gint _monitor_index = 0; #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp0_ = self->priv->monitors; #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = _g_object_ref0 (_tmp0_); #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_list = _tmp1_; #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = _monitor_list; #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = _tmp3_; #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_size = _tmp4_; #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = -1; #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 6277 "LibraryMonitor.c" gint _tmp5_; gint _tmp6_; gint _tmp7_; MediaMonitor* monitor = NULL; GeeList* _tmp8_; gint _tmp9_; gpointer _tmp10_; MediaMonitor* _tmp11_; #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = _monitor_index; #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = _tmp5_ + 1; #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = _monitor_index; #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = _monitor_size; #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!(_tmp6_ < _tmp7_)) { #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 6298 "LibraryMonitor.c" } #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = _monitor_list; #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp9_ = _monitor_index; #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = gee_list_get (_tmp8_, _tmp9_); #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" monitor = (MediaMonitor*) _tmp10_; #line 824 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = monitor; #line 824 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (media_monitor_notify_file_created (_tmp11_, file, info)) { #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 6318 "LibraryMonitor.c" } #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (monitor); #line 6322 "LibraryMonitor.c" } #line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_monitor_list); #line 6326 "LibraryMonitor.c" } #line 831 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = known; #line 831 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!_tmp12_) { #line 6332 "LibraryMonitor.c" GeeHashSet* all_candidates = NULL; gboolean _tmp65_ = FALSE; gboolean _tmp66_ = FALSE; gboolean _tmp67_; #line 833 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" all_candidates = NULL; #line 6339 "LibraryMonitor.c" { GeeList* _monitor_list = NULL; GeeList* _tmp13_; GeeList* _tmp14_; gint _monitor_size = 0; GeeList* _tmp15_; gint _tmp16_; gint _tmp17_; gint _monitor_index = 0; #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp13_ = self->priv->monitors; #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp14_ = _g_object_ref0 (_tmp13_); #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_list = _tmp14_; #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp15_ = _monitor_list; #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp16_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection)); #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp17_ = _tmp16_; #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_size = _tmp17_; #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = -1; #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 6367 "LibraryMonitor.c" gint _tmp18_; gint _tmp19_; gint _tmp20_; MediaMonitor* monitor = NULL; GeeList* _tmp21_; gint _tmp22_; gpointer _tmp23_; MediaMonitorDiscoveredFile _result_ = 0; GeeCollection* candidates = NULL; MediaMonitor* _tmp24_; MediaMonitorDiscoveredFile _tmp25_ = 0; GeeCollection* _tmp26_; gboolean _tmp27_ = FALSE; MediaMonitorDiscoveredFile _tmp28_; #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp18_ = _monitor_index; #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = _tmp18_ + 1; #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp19_ = _monitor_index; #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp20_ = _monitor_size; #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!(_tmp19_ < _tmp20_)) { #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 6394 "LibraryMonitor.c" } #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp21_ = _monitor_list; #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp22_ = _monitor_index; #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp23_ = gee_list_get (_tmp21_, _tmp22_); #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" monitor = (MediaMonitor*) _tmp23_; #line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp24_ = monitor; #line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp26_ = media_monitor_candidates_for_unknown_file (_tmp24_, file, info, &_tmp25_); #line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _result_ = _tmp25_; #line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" candidates = _tmp26_; #line 838 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp28_ = _result_; #line 838 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp28_ == MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED) { #line 838 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp27_ = TRUE; #line 6418 "LibraryMonitor.c" } else { MediaMonitorDiscoveredFile _tmp29_; #line 839 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp29_ = _result_; #line 839 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp27_ = _tmp29_ == MEDIA_MONITOR_DISCOVERED_FILE_IGNORE; #line 6425 "LibraryMonitor.c" } #line 838 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp27_) { #line 6429 "LibraryMonitor.c" MediaMonitor* _tmp30_; gchar* _tmp31_; gchar* _tmp32_; MediaMonitorDiscoveredFile _tmp33_; GEnumValue* _tmp34_; gchar* _tmp35_; gchar* _tmp36_; gchar* _tmp37_; gchar* _tmp38_; #line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp30_ = monitor; #line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp31_ = media_monitor_to_string (_tmp30_); #line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp32_ = _tmp31_; #line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp33_ = _result_; #line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp34_ = g_enum_get_value (g_type_class_ref (MEDIA_MONITOR_TYPE_DISCOVERED_FILE), _tmp33_); #line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp35_ = g_file_get_path (file); #line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp36_ = _tmp35_; #line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp37_ = g_strdup_printf ("%s %s created file %s", _tmp32_, (_tmp34_ != NULL) ? _tmp34_->value_name : NULL, _tmp36_); #line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp38_ = _tmp37_; #line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" directory_monitor_mdbg (_tmp38_); #line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp38_); #line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp36_); #line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp32_); #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 6473 "LibraryMonitor.c" } else { gboolean _tmp39_ = FALSE; GeeCollection* _tmp40_; #line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp40_ = candidates; #line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp40_ != NULL) { #line 6481 "LibraryMonitor.c" GeeCollection* _tmp41_; gint _tmp42_; gint _tmp43_; #line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp41_ = candidates; #line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp42_ = gee_collection_get_size (_tmp41_); #line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp43_ = _tmp42_; #line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp39_ = _tmp43_ > 0; #line 6493 "LibraryMonitor.c" } else { #line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp39_ = FALSE; #line 6497 "LibraryMonitor.c" } #line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp39_) { #line 6501 "LibraryMonitor.c" MediaMonitor* _tmp44_; gchar* _tmp45_; gchar* _tmp46_; GeeCollection* _tmp47_; gint _tmp48_; gint _tmp49_; gchar* _tmp50_; gchar* _tmp51_; gchar* _tmp52_; gchar* _tmp53_; GeeHashSet* _tmp54_; #line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp44_ = monitor; #line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp45_ = media_monitor_to_string (_tmp44_); #line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp46_ = _tmp45_; #line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp47_ = candidates; #line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp48_ = gee_collection_get_size (_tmp47_); #line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp49_ = _tmp48_; #line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp50_ = g_file_get_path (file); #line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp51_ = _tmp50_; #line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp52_ = g_strdup_printf ("%s suggests %d candidates for created file %s", _tmp46_, _tmp49_, _tmp51_); #line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp53_ = _tmp52_; #line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" directory_monitor_mdbg (_tmp53_); #line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp53_); #line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp51_); #line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp46_); #line 850 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp54_ = all_candidates; #line 850 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp54_ == NULL) { #line 6545 "LibraryMonitor.c" GeeHashSet* _tmp55_; #line 851 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp55_ = gee_hash_set_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 = _tmp55_; #line 6553 "LibraryMonitor.c" } { GeeIterator* _candidate_it = NULL; GeeCollection* _tmp56_; GeeIterator* _tmp57_; #line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp56_ = candidates; #line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp57_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, GEE_TYPE_ITERABLE, GeeIterable)); #line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _candidate_it = _tmp57_; #line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 6567 "LibraryMonitor.c" GeeIterator* _tmp58_; Monitorable* candidate = NULL; GeeIterator* _tmp59_; gpointer _tmp60_; MediaMonitor* _tmp61_; Monitorable* _tmp62_; #line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp58_ = _candidate_it; #line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!gee_iterator_next (_tmp58_)) { #line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 6580 "LibraryMonitor.c" } #line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp59_ = _candidate_it; #line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp60_ = gee_iterator_get (_tmp59_); #line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" candidate = (Monitorable*) _tmp60_; #line 854 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp61_ = monitor; #line 854 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp62_ = candidate; #line 854 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (media_monitor_is_offline (_tmp61_, _tmp62_)) { #line 6594 "LibraryMonitor.c" GeeHashSet* _tmp63_; Monitorable* _tmp64_; #line 855 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp63_ = all_candidates; #line 855 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp64_ = candidate; #line 855 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp64_); #line 6603 "LibraryMonitor.c" } #line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (candidate); #line 6607 "LibraryMonitor.c" } #line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_candidate_it); #line 6611 "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 6619 "LibraryMonitor.c" } #line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_monitor_list); #line 6623 "LibraryMonitor.c" } #line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp67_ = known; #line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!_tmp67_) { #line 6629 "LibraryMonitor.c" GeeHashSet* _tmp68_; #line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp68_ = all_candidates; #line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp66_ = _tmp68_ != NULL; #line 6635 "LibraryMonitor.c" } else { #line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp66_ = FALSE; #line 6639 "LibraryMonitor.c" } #line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp66_) { #line 6643 "LibraryMonitor.c" GeeHashSet* _tmp69_; gint _tmp70_; gint _tmp71_; #line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp69_ = all_candidates; #line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp70_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp71_ = _tmp70_; #line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp65_ = _tmp71_ > 0; #line 6655 "LibraryMonitor.c" } else { #line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp65_ = FALSE; #line 6659 "LibraryMonitor.c" } #line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp65_) { #line 6663 "LibraryMonitor.c" GeeHashSet* _tmp72_; gint _tmp73_; gint _tmp74_; gchar* _tmp75_; gchar* _tmp76_; gchar* _tmp77_; gchar* _tmp78_; Workers* _tmp79_; GeeHashSet* _tmp80_; LibraryMonitorRuntimeFindMoveJob* _tmp81_; LibraryMonitorRuntimeFindMoveJob* _tmp82_; #line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp72_ = all_candidates; #line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp73_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp74_ = _tmp73_; #line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp75_ = g_file_get_path (file); #line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp76_ = _tmp75_; #line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp77_ = g_strdup_printf ("%d candidates for created file %s being checksummed", _tmp74_, _tmp76_); #line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp78_ = _tmp77_; #line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" directory_monitor_mdbg (_tmp78_); #line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp78_); #line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp76_); #line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp79_ = self->priv->workers; #line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp80_ = all_candidates; #line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp81_ = library_monitor_runtime_find_move_job_new (self, file, G_TYPE_CHECK_INSTANCE_CAST (_tmp80_, GEE_TYPE_COLLECTION, GeeCollection)); #line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp82_ = _tmp81_; #line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" workers_enqueue (_tmp79_, G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, TYPE_BACKGROUND_JOB, BackgroundJob)); #line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _background_job_unref0 (_tmp82_); #line 866 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" known = TRUE; #line 6709 "LibraryMonitor.c" } #line 831 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (all_candidates); #line 6713 "LibraryMonitor.c" } #line 870 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp83_ = known; #line 870 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!_tmp83_) { #line 871 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_runtime_unknown_file_discovered (self, file); #line 6721 "LibraryMonitor.c" } #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), file, info); #line 6725 "LibraryMonitor.c" } static void library_monitor_on_runtime_find_move_completed (LibraryMonitor* self, BackgroundJob* j) { LibraryMonitorRuntimeFindMoveJob* job = NULL; LibraryMonitorRuntimeFindMoveJob* _tmp0_; LibraryMonitorRuntimeFindMoveJob* _tmp1_; GError* _tmp2_; LibraryMonitorRuntimeFindMoveJob* _tmp10_; Monitorable* _tmp11_; #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_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (j, LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, LibraryMonitorRuntimeFindMoveJob)); #line 877 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" job = _tmp0_; #line 879 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = job; #line 879 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = _tmp1_->err; #line 879 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp2_ != NULL) { #line 6753 "LibraryMonitor.c" LibraryMonitorRuntimeFindMoveJob* _tmp3_; GFile* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; LibraryMonitorRuntimeFindMoveJob* _tmp7_; GError* _tmp8_; const gchar* _tmp9_; #line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = job; #line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = _tmp3_->file; #line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = g_file_get_path (_tmp4_); #line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = _tmp5_; #line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = job; #line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = _tmp7_->err; #line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp9_ = _tmp8_->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", _tmp6_, _tmp9_); #line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp6_); #line 6779 "LibraryMonitor.c" } #line 884 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = job; #line 884 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = _tmp10_->match; #line 884 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp11_ != NULL) { #line 6787 "LibraryMonitor.c" MediaMonitor* monitor = NULL; LibraryMonitorRuntimeFindMoveJob* _tmp12_; Monitorable* _tmp13_; MediaMonitor* _tmp14_; MediaMonitor* _tmp15_; LibraryMonitorRuntimeFindMoveJob* _tmp16_; Monitorable* _tmp17_; LibraryMonitorRuntimeFindMoveJob* _tmp18_; GFile* _tmp19_; MediaMonitor* _tmp20_; LibraryMonitorRuntimeFindMoveJob* _tmp21_; Monitorable* _tmp22_; #line 885 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = job; #line 885 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp13_ = _tmp12_->match; #line 885 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp14_ = library_monitor_get_monitor_for_monitorable (self, _tmp13_); #line 885 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" monitor = _tmp14_; #line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp15_ = monitor; #line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp16_ = job; #line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp17_ = _tmp16_->match; #line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp18_ = job; #line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp19_ = _tmp18_->file; #line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" media_monitor_update_master_file (_tmp15_, _tmp17_, _tmp19_); #line 887 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp20_ = monitor; #line 887 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp21_ = job; #line 887 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp22_ = _tmp21_->match; #line 887 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" media_monitor_update_online (_tmp20_, _tmp22_); #line 884 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (monitor); #line 6830 "LibraryMonitor.c" } else { LibraryMonitorRuntimeFindMoveJob* _tmp23_; GFile* _tmp24_; #line 890 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp23_ = job; #line 890 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp24_ = _tmp23_->file; #line 890 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_runtime_unknown_file_discovered (self, _tmp24_); #line 6840 "LibraryMonitor.c" } #line 876 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _background_job_unref0 (job); #line 6844 "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; gboolean known = FALSE; gboolean _tmp13_; #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" if (library_monitor_is_blacklisted (old_file)) { #line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp0_ = TRUE; #line 6870 "LibraryMonitor.c" } else { #line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp0_ = library_monitor_is_blacklisted (new_file); #line 6874 "LibraryMonitor.c" } #line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp0_) { #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), old_file, new_file, new_info); #line 898 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return; #line 6882 "LibraryMonitor.c" } #line 901 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" known = FALSE; #line 6886 "LibraryMonitor.c" { GeeList* _monitor_list = NULL; GeeList* _tmp1_; GeeList* _tmp2_; gint _monitor_size = 0; GeeList* _tmp3_; gint _tmp4_; gint _tmp5_; gint _monitor_index = 0; #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = self->priv->monitors; #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = _g_object_ref0 (_tmp1_); #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_list = _tmp2_; #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = _monitor_list; #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = _tmp4_; #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_size = _tmp5_; #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = -1; #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 6914 "LibraryMonitor.c" gint _tmp6_; gint _tmp7_; gint _tmp8_; MediaMonitor* monitor = NULL; GeeList* _tmp9_; gint _tmp10_; gpointer _tmp11_; MediaMonitor* _tmp12_; #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = _monitor_index; #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = _tmp6_ + 1; #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = _monitor_index; #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = _monitor_size; #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!(_tmp7_ < _tmp8_)) { #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 6935 "LibraryMonitor.c" } #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp9_ = _monitor_list; #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = _monitor_index; #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = gee_list_get (_tmp9_, _tmp10_); #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" monitor = (MediaMonitor*) _tmp11_; #line 903 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = monitor; #line 903 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (media_monitor_notify_file_moved (_tmp12_, old_file, new_file, new_info)) { #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 6955 "LibraryMonitor.c" } #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (monitor); #line 6959 "LibraryMonitor.c" } #line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_monitor_list); #line 6963 "LibraryMonitor.c" } #line 910 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp13_ = known; #line 910 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!_tmp13_) { #line 911 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_runtime_unknown_file_discovered (self, new_file); #line 6971 "LibraryMonitor.c" } #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), old_file, new_file, new_info); #line 6975 "LibraryMonitor.c" } static void library_monitor_real_notify_file_altered (DirectoryMonitor* base, GFile* file) { LibraryMonitor * self; gboolean known = FALSE; gboolean _tmp12_; #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" if (library_monitor_is_blacklisted (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), file); #line 920 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return; #line 6996 "LibraryMonitor.c" } #line 923 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" known = FALSE; #line 7000 "LibraryMonitor.c" { GeeList* _monitor_list = NULL; GeeList* _tmp0_; GeeList* _tmp1_; gint _monitor_size = 0; GeeList* _tmp2_; gint _tmp3_; gint _tmp4_; gint _monitor_index = 0; #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp0_ = self->priv->monitors; #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = _g_object_ref0 (_tmp0_); #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_list = _tmp1_; #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = _monitor_list; #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = _tmp3_; #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_size = _tmp4_; #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = -1; #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 7028 "LibraryMonitor.c" gint _tmp5_; gint _tmp6_; gint _tmp7_; MediaMonitor* monitor = NULL; GeeList* _tmp8_; gint _tmp9_; gpointer _tmp10_; MediaMonitor* _tmp11_; #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = _monitor_index; #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = _tmp5_ + 1; #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = _monitor_index; #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = _monitor_size; #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!(_tmp6_ < _tmp7_)) { #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 7049 "LibraryMonitor.c" } #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = _monitor_list; #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp9_ = _monitor_index; #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = gee_list_get (_tmp8_, _tmp9_); #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" monitor = (MediaMonitor*) _tmp10_; #line 925 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = monitor; #line 925 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (media_monitor_notify_file_altered (_tmp11_, file)) { #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 7069 "LibraryMonitor.c" } #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (monitor); #line 7073 "LibraryMonitor.c" } #line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_monitor_list); #line 7077 "LibraryMonitor.c" } #line 932 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = known; #line 932 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!_tmp12_) { #line 933 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_runtime_unknown_file_discovered (self, file); #line 7085 "LibraryMonitor.c" } #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), file); #line 7089 "LibraryMonitor.c" } static void library_monitor_real_notify_file_attributes_altered (DirectoryMonitor* base, GFile* file) { LibraryMonitor * self; gboolean known = FALSE; gboolean _tmp12_; #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" if (library_monitor_is_blacklisted (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), file); #line 942 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return; #line 7110 "LibraryMonitor.c" } #line 945 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" known = FALSE; #line 7114 "LibraryMonitor.c" { GeeList* _monitor_list = NULL; GeeList* _tmp0_; GeeList* _tmp1_; gint _monitor_size = 0; GeeList* _tmp2_; gint _tmp3_; gint _tmp4_; gint _monitor_index = 0; #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp0_ = self->priv->monitors; #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = _g_object_ref0 (_tmp0_); #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_list = _tmp1_; #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = _monitor_list; #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = _tmp3_; #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_size = _tmp4_; #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = -1; #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 7142 "LibraryMonitor.c" gint _tmp5_; gint _tmp6_; gint _tmp7_; MediaMonitor* monitor = NULL; GeeList* _tmp8_; gint _tmp9_; gpointer _tmp10_; MediaMonitor* _tmp11_; #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = _monitor_index; #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = _tmp5_ + 1; #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = _monitor_index; #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = _monitor_size; #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!(_tmp6_ < _tmp7_)) { #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 7163 "LibraryMonitor.c" } #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = _monitor_list; #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp9_ = _monitor_index; #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = gee_list_get (_tmp8_, _tmp9_); #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" monitor = (MediaMonitor*) _tmp10_; #line 947 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = monitor; #line 947 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (media_monitor_notify_file_attributes_altered (_tmp11_, file)) { #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 7183 "LibraryMonitor.c" } #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (monitor); #line 7187 "LibraryMonitor.c" } #line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_monitor_list); #line 7191 "LibraryMonitor.c" } #line 954 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = known; #line 954 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!_tmp12_) { #line 955 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_runtime_unknown_file_discovered (self, file); #line 7199 "LibraryMonitor.c" } #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), file); #line 7203 "LibraryMonitor.c" } static void library_monitor_real_notify_file_alteration_completed (DirectoryMonitor* base, GFile* file, GFileInfo* info) { LibraryMonitor * self; gboolean known = FALSE; gboolean _tmp12_; #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" if (library_monitor_is_blacklisted (file)) { #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), file, info); #line 964 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return; #line 7227 "LibraryMonitor.c" } #line 967 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" known = FALSE; #line 7231 "LibraryMonitor.c" { GeeList* _monitor_list = NULL; GeeList* _tmp0_; GeeList* _tmp1_; gint _monitor_size = 0; GeeList* _tmp2_; gint _tmp3_; gint _tmp4_; gint _monitor_index = 0; #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp0_ = self->priv->monitors; #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = _g_object_ref0 (_tmp0_); #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_list = _tmp1_; #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = _monitor_list; #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = _tmp3_; #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_size = _tmp4_; #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = -1; #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 7259 "LibraryMonitor.c" gint _tmp5_; gint _tmp6_; gint _tmp7_; MediaMonitor* monitor = NULL; GeeList* _tmp8_; gint _tmp9_; gpointer _tmp10_; MediaMonitor* _tmp11_; #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = _monitor_index; #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = _tmp5_ + 1; #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = _monitor_index; #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = _monitor_size; #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!(_tmp6_ < _tmp7_)) { #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 7280 "LibraryMonitor.c" } #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = _monitor_list; #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp9_ = _monitor_index; #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = gee_list_get (_tmp8_, _tmp9_); #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" monitor = (MediaMonitor*) _tmp10_; #line 969 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = monitor; #line 969 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (media_monitor_notify_file_alteration_completed (_tmp11_, file, info)) { #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 7300 "LibraryMonitor.c" } #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (monitor); #line 7304 "LibraryMonitor.c" } #line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_monitor_list); #line 7308 "LibraryMonitor.c" } #line 976 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = known; #line 976 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!_tmp12_) { #line 977 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_runtime_unknown_file_discovered (self, file); #line 7316 "LibraryMonitor.c" } #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), file, info); #line 7320 "LibraryMonitor.c" } static void library_monitor_real_notify_file_deleted (DirectoryMonitor* base, GFile* file) { LibraryMonitor * self; gboolean known = FALSE; gboolean _tmp12_; #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" if (library_monitor_is_blacklisted (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), file); #line 986 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return; #line 7341 "LibraryMonitor.c" } #line 989 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" known = FALSE; #line 7345 "LibraryMonitor.c" { GeeList* _monitor_list = NULL; GeeList* _tmp0_; GeeList* _tmp1_; gint _monitor_size = 0; GeeList* _tmp2_; gint _tmp3_; gint _tmp4_; gint _monitor_index = 0; #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp0_ = self->priv->monitors; #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = _g_object_ref0 (_tmp0_); #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_list = _tmp1_; #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = _monitor_list; #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = _tmp3_; #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_size = _tmp4_; #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = -1; #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 7373 "LibraryMonitor.c" gint _tmp5_; gint _tmp6_; gint _tmp7_; MediaMonitor* monitor = NULL; GeeList* _tmp8_; gint _tmp9_; gpointer _tmp10_; MediaMonitor* _tmp11_; #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = _monitor_index; #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _monitor_index = _tmp5_ + 1; #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = _monitor_index; #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = _monitor_size; #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!(_tmp6_ < _tmp7_)) { #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 7394 "LibraryMonitor.c" } #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = _monitor_list; #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp9_ = _monitor_index; #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = gee_list_get (_tmp8_, _tmp9_); #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" monitor = (MediaMonitor*) _tmp10_; #line 991 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = monitor; #line 991 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (media_monitor_notify_file_deleted (_tmp11_, file)) { #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 7414 "LibraryMonitor.c" } #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (monitor); #line 7418 "LibraryMonitor.c" } #line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_monitor_list); #line 7422 "LibraryMonitor.c" } #line 998 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = known; #line 998 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!_tmp12_) { #line 7428 "LibraryMonitor.c" Tombstone* tombstone = NULL; TombstoneSourceCollection* _tmp13_; Tombstone* _tmp14_; Tombstone* _tmp15_; #line 1000 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp13_ = tombstone_global; #line 1000 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp14_ = tombstone_source_collection_locate (_tmp13_, file); #line 1000 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" tombstone = _tmp14_; #line 1001 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp15_ = tombstone; #line 1001 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp15_ != NULL) { #line 7443 "LibraryMonitor.c" gchar* _tmp16_; gchar* _tmp17_; TombstoneSourceCollection* _tmp18_; Tombstone* _tmp19_; #line 1002 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp16_ = g_file_get_path (file); #line 1002 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp17_ = _tmp16_; #line 1002 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" g_debug ("LibraryMonitor.vala:1002: Resurrecting tombstoned file %s", _tmp17_); #line 1002 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp17_); #line 1003 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp18_ = tombstone_global; #line 1003 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp19_ = tombstone; #line 1003 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" tombstone_source_collection_resurrect (_tmp18_, _tmp19_); #line 7462 "LibraryMonitor.c" } #line 1007 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" library_monitor_remove_queued_import (self, file); #line 998 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (tombstone); #line 7468 "LibraryMonitor.c" } #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), file); #line 7472 "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 7498 "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 7504 "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 7510 "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 7536 "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 7542 "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 7548 "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 7558 "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 7568 "LibraryMonitor.c" } static LibraryMonitorFindMoveJob* library_monitor_find_move_job_construct (GType object_type, LibraryMonitor* owner, GFile* file, GeeCollection* candidates) { LibraryMonitorFindMoveJob* self = NULL; GCancellable* _tmp0_; GFile* _tmp1_; GeeCollection* _tmp2_; #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->priv->cancellable; #line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" self = (LibraryMonitorFindMoveJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (owner, G_TYPE_OBJECT, GObject), _library_monitor_on_find_move_completed_completion_callback, owner, _tmp0_, _library_monitor_on_find_move_cancelled_cancellation_callback, owner, NULL); #line 113 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = _g_object_ref0 (file); #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 = _tmp1_; #line 114 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = _g_object_ref0 (candidates); #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 = _tmp2_; #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 7608 "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 7619 "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 7628 "LibraryMonitor.c" } static void library_monitor_find_move_job_real_execute (BackgroundJob* base) { LibraryMonitorFindMoveJob * self; GeeIterator* iter = NULL; GeeCollection* _tmp0_; GeeIterator* _tmp1_; GeeCollection* _tmp10_; gint _tmp11_; gint _tmp12_; 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 7654 "LibraryMonitor.c" GeeIterator* _tmp2_; GeeIterator* _tmp3_; gpointer _tmp4_; Monitorable* _tmp5_; GFile* _tmp6_; GFile* _tmp7_; gboolean _tmp8_; #line 122 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = iter; #line 122 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!gee_iterator_next (_tmp2_)) { #line 122 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 7668 "LibraryMonitor.c" } #line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp3_ = iter; #line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = gee_iterator_get (_tmp3_); #line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = (Monitorable*) _tmp4_; #line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp6_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource)); #line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp7_ = _tmp6_; #line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = g_file_query_exists (_tmp7_, NULL); #line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_tmp7_); #line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_tmp5_); #line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp8_) { #line 7688 "LibraryMonitor.c" GeeIterator* _tmp9_; #line 124 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp9_ = iter; #line 124 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_iterator_remove (_tmp9_); #line 7694 "LibraryMonitor.c" } } #line 128 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = self->candidates; #line 128 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = gee_collection_get_size (_tmp10_); #line 128 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = _tmp11_; #line 128 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp12_ == 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 7709 "LibraryMonitor.c" } #line 131 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" md5 = NULL; #line 7713 "LibraryMonitor.c" { gchar* _tmp13_ = NULL; GFile* _tmp14_; gchar* _tmp15_; gchar* _tmp16_; #line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp14_ = self->file; #line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp15_ = md5_file (_tmp14_, &_inner_error_); #line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp13_ = _tmp15_; #line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 7727 "LibraryMonitor.c" goto __catch501_g_error; } #line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp16_ = _tmp13_; #line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp13_ = NULL; #line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (md5); #line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" md5 = _tmp16_; #line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp13_); #line 7740 "LibraryMonitor.c" } goto __finally501; __catch501_g_error: { GError* err = NULL; GError* _tmp17_; GError* _tmp18_; #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" _tmp17_ = err; #line 135 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp18_ = _g_error_copy0 (_tmp17_); #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 = _tmp18_; #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 7768 "LibraryMonitor.c" } __finally501: #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 7783 "LibraryMonitor.c" } { GeeIterator* _candidate_it = NULL; GeeCollection* _tmp19_; GeeIterator* _tmp20_; #line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp19_ = self->candidates; #line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp20_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ITERABLE, GeeIterable)); #line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _candidate_it = _tmp20_; #line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" while (TRUE) { #line 7797 "LibraryMonitor.c" GeeIterator* _tmp21_; Monitorable* candidate = NULL; GeeIterator* _tmp22_; gpointer _tmp23_; Monitorable* _tmp24_; gchar* _tmp25_; gchar* _tmp26_; const gchar* _tmp27_; gboolean _tmp28_; Monitorable* _tmp29_; Monitorable* _tmp43_; Monitorable* _tmp44_; #line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp21_ = _candidate_it; #line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!gee_iterator_next (_tmp21_)) { #line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 7816 "LibraryMonitor.c" } #line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp22_ = _candidate_it; #line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp23_ = gee_iterator_get (_tmp22_); #line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" candidate = (Monitorable*) _tmp23_; #line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp24_ = candidate; #line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp25_ = media_source_get_master_md5 (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_MEDIA_SOURCE, MediaSource)); #line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp26_ = _tmp25_; #line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp27_ = md5; #line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp28_ = g_strcmp0 (_tmp26_, _tmp27_) != 0; #line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp26_); #line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp28_) { #line 142 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (candidate); #line 142 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" continue; #line 7842 "LibraryMonitor.c" } #line 144 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp29_ = self->match; #line 144 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp29_ != NULL) { #line 7848 "LibraryMonitor.c" GFile* _tmp30_; gchar* _tmp31_; gchar* _tmp32_; Monitorable* _tmp33_; gchar* _tmp34_; gchar* _tmp35_; Monitorable* _tmp36_; gchar* _tmp37_; gchar* _tmp38_; GeeArrayList* _tmp39_; GeeArrayList* _tmp41_; Monitorable* _tmp42_; #line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp30_ = self->file; #line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp31_ = g_file_get_path (_tmp30_); #line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp32_ = _tmp31_; #line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp33_ = self->match; #line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp34_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_DATA_OBJECT, DataObject)); #line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp35_ = _tmp34_; #line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp36_ = candidate; #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" g_warning ("LibraryMonitor.vala:145: Found more than one media match for %s: %s an" \ "d %s", _tmp32_, _tmp35_, _tmp38_); #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 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp32_); #line 148 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp39_ = self->losers; #line 148 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp39_ == NULL) { #line 7891 "LibraryMonitor.c" GeeArrayList* _tmp40_; #line 149 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp40_ = gee_array_list_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 = _tmp40_; #line 7899 "LibraryMonitor.c" } #line 151 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp41_ = self->losers; #line 151 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp42_ = candidate; #line 151 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp42_); #line 153 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (candidate); #line 153 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" continue; #line 7911 "LibraryMonitor.c" } #line 156 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp43_ = candidate; #line 156 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp44_ = _g_object_ref0 (_tmp43_); #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 = _tmp44_; #line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (candidate); #line 7923 "LibraryMonitor.c" } #line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_candidate_it); #line 7927 "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 7933 "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 = (void (*) (BackgroundJob *)) library_monitor_find_move_job_real_execute; #line 7946 "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 7959 "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 7981 "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 8005 "LibraryMonitor.c" } static LibraryMonitorRuntimeFindMoveJob* library_monitor_runtime_find_move_job_construct (GType object_type, LibraryMonitor* owner, GFile* file, GeeCollection* candidates) { LibraryMonitorRuntimeFindMoveJob* self = NULL; GCancellable* _tmp0_; GFile* _tmp1_; GeeCollection* _tmp2_; #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->priv->cancellable; #line 168 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" self = (LibraryMonitorRuntimeFindMoveJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (owner, G_TYPE_OBJECT, GObject), _library_monitor_on_runtime_find_move_completed_completion_callback, owner, _tmp0_, NULL, NULL, NULL); #line 170 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = _g_object_ref0 (file); #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 = _tmp1_; #line 171 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp2_ = _g_object_ref0 (candidates); #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 = _tmp2_; #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 8045 "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 8056 "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 8070 "LibraryMonitor.c" { gchar* _tmp0_ = NULL; GFile* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #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 8084 "LibraryMonitor.c" goto __catch502_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 8097 "LibraryMonitor.c" } goto __finally502; __catch502_g_error: { GError* err = NULL; GError* _tmp4_; GError* _tmp5_; #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 8123 "LibraryMonitor.c" } __finally502: #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 8136 "LibraryMonitor.c" } { GeeIterator* _candidate_it = NULL; GeeCollection* _tmp6_; GeeIterator* _tmp7_; #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 8150 "LibraryMonitor.c" GeeIterator* _tmp8_; Monitorable* candidate = NULL; GeeIterator* _tmp9_; gpointer _tmp10_; Monitorable* _tmp11_; gchar* _tmp12_; gchar* _tmp13_; const gchar* _tmp14_; gboolean _tmp15_; #line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp8_ = _candidate_it; #line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (!gee_iterator_next (_tmp8_)) { #line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 8166 "LibraryMonitor.c" } #line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp9_ = _candidate_it; #line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp10_ = gee_iterator_get (_tmp9_); #line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" candidate = (Monitorable*) _tmp10_; #line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp11_ = candidate; #line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp12_ = media_source_get_master_md5 (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_MEDIA_SOURCE, MediaSource)); #line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp13_ = _tmp12_; #line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp14_ = md5; #line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp15_ = g_strcmp0 (_tmp13_, _tmp14_) == 0; #line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (_tmp13_); #line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" if (_tmp15_) { #line 8188 "LibraryMonitor.c" Monitorable* _tmp16_; Monitorable* _tmp17_; #line 188 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp16_ = candidate; #line 188 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp17_ = _g_object_ref0 (_tmp16_); #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 = _tmp17_; #line 190 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (candidate); #line 190 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" break; #line 8203 "LibraryMonitor.c" } #line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (candidate); #line 8207 "LibraryMonitor.c" } #line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_object_unref0 (_candidate_it); #line 8211 "LibraryMonitor.c" } #line 176 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _g_free0 (md5); #line 8215 "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 = (void (*) (BackgroundJob *)) library_monitor_runtime_find_move_job_real_execute; #line 8228 "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 8239 "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 8259 "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_; MediaMonitor* _tmp1_; #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_ = _g_object_ref0 (monitorable); #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 = _tmp0_; #line 202 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = _g_object_ref0 (monitor); #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 = _tmp1_; #line 200 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return self; #line 8305 "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 8315 "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 8324 "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 8335 "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 8348 "LibraryMonitor.c" } else { #line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" dest_value->data[0].v_pointer = NULL; #line 8352 "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 8362 "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 8374 "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 8381 "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 8385 "LibraryMonitor.c" } #line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" value->data[0].v_pointer = library_monitor_verify_job_ref (object); #line 8389 "LibraryMonitor.c" } else { #line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" value->data[0].v_pointer = NULL; #line 8393 "LibraryMonitor.c" } #line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return NULL; #line 8397 "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 8413 "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 8419 "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 8423 "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 8427 "LibraryMonitor.c" } #line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" return NULL; #line 8431 "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 8451 "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 8462 "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 8485 "LibraryMonitor.c" } else { #line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" value->data[0].v_pointer = NULL; #line 8489 "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 8495 "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 8517 "LibraryMonitor.c" } else { #line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" value->data[0].v_pointer = NULL; #line 8521 "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 8527 "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 8539 "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 8548 "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 8564 "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 8593 "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 8608 "LibraryMonitor.c" } } static void library_monitor_class_init (LibraryMonitorClass * klass) { GeeHashSet* _tmp0_; HashTimedQueue* _tmp1_; #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 = (void (*) (DirectoryMonitor *)) library_monitor_real_close; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" ((DirectoryMonitorClass *) klass)->discovery_started = (void (*) (DirectoryMonitor *)) library_monitor_real_discovery_started; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" ((DirectoryMonitorClass *) klass)->file_discovered = (void (*) (DirectoryMonitor *, GFile*, GFileInfo*)) library_monitor_real_file_discovered; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" ((DirectoryMonitorClass *) klass)->discovery_completed = (void (*) (DirectoryMonitor *)) library_monitor_real_discovery_completed; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_file_created = (void (*) (DirectoryMonitor *, GFile*, GFileInfo*)) library_monitor_real_notify_file_created; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_file_moved = (void (*) (DirectoryMonitor *, GFile*, GFile*, GFileInfo*)) library_monitor_real_notify_file_moved; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_file_altered = (void (*) (DirectoryMonitor *, GFile*)) library_monitor_real_notify_file_altered; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_file_attributes_altered = (void (*) (DirectoryMonitor *, GFile*)) library_monitor_real_notify_file_attributes_altered; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_file_alteration_completed = (void (*) (DirectoryMonitor *, GFile*, GFileInfo*)) library_monitor_real_notify_file_alteration_completed; #line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_file_deleted = (void (*) (DirectoryMonitor *, GFile*)) 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" library_monitor_signals[LIBRARY_MONITOR_AUTO_UPDATE_PROGRESS_SIGNAL] = 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" library_monitor_signals[LIBRARY_MONITOR_AUTO_IMPORT_PREPARING_SIGNAL] = 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" library_monitor_signals[LIBRARY_MONITOR_AUTO_IMPORT_PROGRESS_SIGNAL] = 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_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 8660 "LibraryMonitor.c" } static void library_monitor_instance_init (LibraryMonitor * self) { Workers* _tmp0_; GCancellable* _tmp1_; GeeArrayList* _tmp2_; GeeHashSet* _tmp3_; GeeHashSet* _tmp4_; GeeArrayList* _tmp5_; GeeLinkedList* _tmp6_; #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_new (workers_thread_per_cpu_minus_one (), FALSE); #line 210 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" self->priv->workers = _tmp0_; #line 211 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp1_ = g_cancellable_new (); #line 211 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" self->priv->cancellable = _tmp1_; #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" _tmp2_ = gee_array_list_new (TYPE_MEDIA_MONITOR, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL); #line 214 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" self->priv->monitors = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, 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" _tmp3_ = gee_hash_set_new (g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 = _tmp3_; #line 217 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp4_ = gee_hash_set_new (g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 = _tmp4_; #line 218 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" _tmp5_ = gee_array_list_new (TYPE_BATCH_IMPORT, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL); #line 218 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" self->priv->batch_import_queue = _tmp5_; #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" _tmp6_ = gee_linked_list_new (LIBRARY_MONITOR_TYPE_VERIFY_JOB, (GBoxedCopyFunc) library_monitor_verify_job_ref, (GDestroyNotify) 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 (_tmp6_, 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 8728 "LibraryMonitor.c" } static void library_monitor_finalize (GObject * obj) { LibraryMonitor * self; ConfigFacade* _tmp0_; ConfigFacade* _tmp1_; guint _tmp2_; #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 8775 "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); }