diff options
Diffstat (limited to 'src/VideoMonitor.c')
-rw-r--r-- | src/VideoMonitor.c | 2336 |
1 files changed, 2336 insertions, 0 deletions
diff --git a/src/VideoMonitor.c b/src/VideoMonitor.c new file mode 100644 index 0000000..b3e9adb --- /dev/null +++ b/src/VideoMonitor.c @@ -0,0 +1,2336 @@ +/* VideoMonitor.c generated by valac 0.32.1, the Vala compiler + * generated from VideoMonitor.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include <glib.h> +#include <glib-object.h> +#include <gio/gio.h> +#include <stdlib.h> +#include <string.h> +#include <gee.h> + + +#define TYPE_MONITORABLE_UPDATES (monitorable_updates_get_type ()) +#define MONITORABLE_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE_UPDATES, MonitorableUpdates)) +#define MONITORABLE_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MONITORABLE_UPDATES, MonitorableUpdatesClass)) +#define IS_MONITORABLE_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE_UPDATES)) +#define IS_MONITORABLE_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MONITORABLE_UPDATES)) +#define MONITORABLE_UPDATES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MONITORABLE_UPDATES, MonitorableUpdatesClass)) + +typedef struct _MonitorableUpdates MonitorableUpdates; +typedef struct _MonitorableUpdatesClass MonitorableUpdatesClass; +typedef struct _MonitorableUpdatesPrivate MonitorableUpdatesPrivate; + +#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_VIDEO_UPDATES (video_updates_get_type ()) +#define VIDEO_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_UPDATES, VideoUpdates)) +#define VIDEO_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_UPDATES, VideoUpdatesClass)) +#define IS_VIDEO_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_UPDATES)) +#define IS_VIDEO_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_UPDATES)) +#define VIDEO_UPDATES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_UPDATES, VideoUpdatesClass)) + +typedef struct _VideoUpdates VideoUpdates; +typedef struct _VideoUpdatesClass VideoUpdatesClass; +typedef struct _VideoUpdatesPrivate VideoUpdatesPrivate; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#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; +typedef struct _MediaMonitorPrivate MediaMonitorPrivate; + +#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 MEDIA_MONITOR_TYPE_DISCOVERED_FILE (media_monitor_discovered_file_get_type ()) + +#define TYPE_TRANSACTION_CONTROLLER (transaction_controller_get_type ()) +#define TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRANSACTION_CONTROLLER, TransactionController)) +#define TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRANSACTION_CONTROLLER, TransactionControllerClass)) +#define IS_TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRANSACTION_CONTROLLER)) +#define IS_TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRANSACTION_CONTROLLER)) +#define TRANSACTION_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRANSACTION_CONTROLLER, TransactionControllerClass)) + +typedef struct _TransactionController TransactionController; +typedef struct _TransactionControllerClass TransactionControllerClass; + +#define TYPE_VIDEO_MONITOR (video_monitor_get_type ()) +#define VIDEO_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_MONITOR, VideoMonitor)) +#define VIDEO_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_MONITOR, VideoMonitorClass)) +#define IS_VIDEO_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_MONITOR)) +#define IS_VIDEO_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_MONITOR)) +#define VIDEO_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_MONITOR, VideoMonitorClass)) + +typedef struct _VideoMonitor VideoMonitor; +typedef struct _VideoMonitorClass VideoMonitorClass; +typedef struct _VideoMonitorPrivate VideoMonitorPrivate; + +#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 _workers_unref0(var) ((var == NULL) ? NULL : (var = (workers_unref (var), NULL))) + +#define TYPE_VIDEO_SOURCE_COLLECTION (video_source_collection_get_type ()) +#define VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection)) +#define VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass)) +#define IS_VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE_COLLECTION)) +#define IS_VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE_COLLECTION)) +#define VIDEO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass)) + +typedef struct _VideoSourceCollection VideoSourceCollection; +typedef struct _VideoSourceCollectionClass VideoSourceCollectionClass; + +#define VIDEO_SOURCE_COLLECTION_TYPE_STATE (video_source_collection_state_get_type ()) +#define _monitorable_updates_unref0(var) ((var == NULL) ? NULL : (var = (monitorable_updates_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#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 VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB (video_monitor_video_interpretable_check_job_get_type ()) +#define VIDEO_MONITOR_VIDEO_INTERPRETABLE_CHECK_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB, VideoMonitorVideoInterpretableCheckJob)) +#define VIDEO_MONITOR_VIDEO_INTERPRETABLE_CHECK_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB, VideoMonitorVideoInterpretableCheckJobClass)) +#define VIDEO_MONITOR_IS_VIDEO_INTERPRETABLE_CHECK_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB)) +#define VIDEO_MONITOR_IS_VIDEO_INTERPRETABLE_CHECK_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB)) +#define VIDEO_MONITOR_VIDEO_INTERPRETABLE_CHECK_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB, VideoMonitorVideoInterpretableCheckJobClass)) + +typedef struct _VideoMonitorVideoInterpretableCheckJob VideoMonitorVideoInterpretableCheckJob; +typedef struct _VideoMonitorVideoInterpretableCheckJobClass VideoMonitorVideoInterpretableCheckJobClass; +#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL))) +typedef struct _BackgroundJobPrivate BackgroundJobPrivate; + +#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ()) +typedef struct _VideoMonitorVideoInterpretableCheckJobPrivate VideoMonitorVideoInterpretableCheckJobPrivate; + +#define VIDEO_TYPE_INTERPRETABLE_RESULTS (video_interpretable_results_get_type ()) +#define VIDEO_INTERPRETABLE_RESULTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIDEO_TYPE_INTERPRETABLE_RESULTS, VideoInterpretableResults)) +#define VIDEO_INTERPRETABLE_RESULTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIDEO_TYPE_INTERPRETABLE_RESULTS, VideoInterpretableResultsClass)) +#define VIDEO_IS_INTERPRETABLE_RESULTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIDEO_TYPE_INTERPRETABLE_RESULTS)) +#define VIDEO_IS_INTERPRETABLE_RESULTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIDEO_TYPE_INTERPRETABLE_RESULTS)) +#define VIDEO_INTERPRETABLE_RESULTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIDEO_TYPE_INTERPRETABLE_RESULTS, VideoInterpretableResultsClass)) + +typedef struct _VideoInterpretableResults VideoInterpretableResults; +typedef struct _VideoInterpretableResultsClass VideoInterpretableResultsClass; +#define _video_interpretable_results_unref0(var) ((var == NULL) ? NULL : (var = (video_interpretable_results_unref (var), NULL))) + +#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; +#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 _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 _MonitorableUpdates { + GTypeInstance parent_instance; + volatile int ref_count; + MonitorableUpdatesPrivate * priv; + Monitorable* monitorable; +}; + +struct _MonitorableUpdatesClass { + GTypeClass parent_class; + void (*finalize) (MonitorableUpdates *self); + gboolean (*is_in_alteration) (MonitorableUpdates* self); + void (*set_master_file) (MonitorableUpdates* self, GFile* file); + void (*set_master_file_info_altered) (MonitorableUpdates* self, gboolean altered); + void (*set_master_file_info) (MonitorableUpdates* self, GFileInfo* info); + void (*set_master_in_alteration) (MonitorableUpdates* self, gboolean in_alteration); + void (*set_master_alterations_complete) (MonitorableUpdates* self, GFileInfo* info); + void (*mark_offline) (MonitorableUpdates* self); + void (*mark_online) (MonitorableUpdates* self); + void (*reset_online_offline) (MonitorableUpdates* self); + gboolean (*is_all_updated) (MonitorableUpdates* self); +}; + +struct _VideoUpdates { + MonitorableUpdates parent_instance; + VideoUpdatesPrivate * priv; + Video* video; +}; + +struct _VideoUpdatesClass { + MonitorableUpdatesClass parent_class; + void (*set_check_interpretable) (VideoUpdates* self, gboolean check); +}; + +struct _VideoUpdatesPrivate { + gboolean check_interpretable; +}; + +typedef enum { + MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED, + MEDIA_MONITOR_DISCOVERED_FILE_IGNORE, + MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN +} MediaMonitorDiscoveredFile; + +struct _MediaMonitor { + GObject parent_instance; + MediaMonitorPrivate * priv; +}; + +struct _MediaMonitorClass { + GObjectClass parent_class; + MediaSourceCollection* (*get_media_source_collection) (MediaMonitor* self); + void (*close) (MediaMonitor* self); + gchar* (*to_string) (MediaMonitor* self); + MonitorableUpdates* (*create_updates) (MediaMonitor* self, Monitorable* monitorable); + void (*on_media_source_destroyed) (MediaMonitor* self, DataSource* source); + void (*notify_discovery_started) (MediaMonitor* self); + MediaMonitorDiscoveredFile (*notify_file_discovered) (MediaMonitor* self, GFile* file, GFileInfo* info, Monitorable** monitorable); + GeeCollection* (*candidates_for_unknown_file) (MediaMonitor* self, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_); + GFile** (*get_auxilliary_backing_files) (MediaMonitor* self, Monitorable* monitorable, int* result_length1); + void (*update_backing_file_info) (MediaMonitor* self, Monitorable* monitorable, GFile* file, GFileInfo* info); + void (*notify_discovery_completing) (MediaMonitor* self); + gboolean (*is_file_represented) (MediaMonitor* self, GFile* file); + gboolean (*notify_file_created) (MediaMonitor* self, GFile* file, GFileInfo* info); + gboolean (*notify_file_moved) (MediaMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); + gboolean (*notify_file_altered) (MediaMonitor* self, GFile* file); + gboolean (*notify_file_attributes_altered) (MediaMonitor* self, GFile* file); + gboolean (*notify_file_alteration_completed) (MediaMonitor* self, GFile* file, GFileInfo* info); + gboolean (*notify_file_deleted) (MediaMonitor* self, GFile* file); + void (*process_updates) (MediaMonitor* self, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error); +}; + +struct _VideoMonitor { + MediaMonitor parent_instance; + VideoMonitorPrivate * priv; +}; + +struct _VideoMonitorClass { + MediaMonitorClass parent_class; +}; + +struct _VideoMonitorPrivate { + Workers* workers; + guint64 background_jobs; +}; + +typedef enum { + VIDEO_SOURCE_COLLECTION_STATE_UNKNOWN, + VIDEO_SOURCE_COLLECTION_STATE_ONLINE, + VIDEO_SOURCE_COLLECTION_STATE_OFFLINE, + VIDEO_SOURCE_COLLECTION_STATE_TRASH +} VideoSourceCollectionState; + +typedef void (*CompletionCallback) (BackgroundJob* job, void* user_data); +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 _VideoMonitorVideoInterpretableCheckJob { + BackgroundJob parent_instance; + VideoMonitorVideoInterpretableCheckJobPrivate * priv; + Video* video; + VideoInterpretableResults* results; +}; + +struct _VideoMonitorVideoInterpretableCheckJobClass { + BackgroundJobClass parent_class; +}; + +typedef void (*CancellationCallback) (BackgroundJob* job, void* user_data); + +static gpointer video_updates_parent_class = NULL; +static gpointer video_monitor_parent_class = NULL; +extern VideoSourceCollection* video_global; +static gpointer video_monitor_video_interpretable_check_job_parent_class = NULL; + +gpointer monitorable_updates_ref (gpointer instance); +void monitorable_updates_unref (gpointer instance); +GParamSpec* param_spec_monitorable_updates (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_monitorable_updates (GValue* value, gpointer v_object); +void value_take_monitorable_updates (GValue* value, gpointer v_object); +gpointer value_get_monitorable_updates (const GValue* value); +GType monitorable_updates_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 video_updates_get_type (void) G_GNUC_CONST; +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +#define VIDEO_UPDATES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_VIDEO_UPDATES, VideoUpdatesPrivate)) +enum { + VIDEO_UPDATES_DUMMY_PROPERTY +}; +VideoUpdates* video_updates_new (Video* video); +VideoUpdates* video_updates_construct (GType object_type, Video* video); +MonitorableUpdates* monitorable_updates_new (Monitorable* monitorable); +MonitorableUpdates* monitorable_updates_construct (GType object_type, Monitorable* monitorable); +void video_updates_set_check_interpretable (VideoUpdates* self, gboolean check); +static void video_updates_real_set_check_interpretable (VideoUpdates* self, gboolean check); +static void video_updates_real_mark_online (MonitorableUpdates* base); +void monitorable_updates_mark_online (MonitorableUpdates* self); +gboolean video_updates_is_check_interpretable (VideoUpdates* self); +static gboolean video_updates_real_is_all_updated (MonitorableUpdates* base); +gboolean monitorable_updates_is_all_updated (MonitorableUpdates* self); +static void video_updates_finalize (MonitorableUpdates* obj); +GType media_monitor_get_type (void) G_GNUC_CONST; +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; +GType media_monitor_discovered_file_get_type (void) G_GNUC_CONST; +gpointer transaction_controller_ref (gpointer instance); +void transaction_controller_unref (gpointer instance); +GParamSpec* param_spec_transaction_controller (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_transaction_controller (GValue* value, gpointer v_object); +void value_take_transaction_controller (GValue* value, gpointer v_object); +gpointer value_get_transaction_controller (const GValue* value); +GType transaction_controller_get_type (void) G_GNUC_CONST; +GType video_monitor_get_type (void) G_GNUC_CONST; +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; +#define VIDEO_MONITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_VIDEO_MONITOR, VideoMonitorPrivate)) +enum { + VIDEO_MONITOR_DUMMY_PROPERTY +}; +Workers* workers_new (guint max_threads, gboolean exclusive); +Workers* workers_construct (GType object_type, guint max_threads, gboolean exclusive); +#define VIDEO_MONITOR_MAX_INTERPRETABLE_CHECKS_PER_CYCLE 5 +VideoMonitor* video_monitor_new (GCancellable* cancellable); +VideoMonitor* video_monitor_construct (GType object_type, GCancellable* cancellable); +GType video_source_collection_get_type (void) G_GNUC_CONST; +MediaMonitor* media_monitor_construct (GType object_type, MediaSourceCollection* sources, GCancellable* cancellable); +GeeCollection* data_collection_get_all (DataCollection* self); +gboolean video_get_is_interpretable (Video* self); +void video_monitor_set_check_interpretable (VideoMonitor* self, Video* video, gboolean check); +static MonitorableUpdates* video_monitor_real_create_updates (MediaMonitor* base, Monitorable* monitorable); +static MediaSourceCollection* video_monitor_real_get_media_source_collection (MediaMonitor* base); +static gboolean video_monitor_real_is_file_represented (MediaMonitor* base, GFile* file); +GType video_source_collection_state_get_type (void) G_GNUC_CONST; +static Video* video_monitor_get_state (VideoMonitor* self, GFile* file, VideoSourceCollectionState* state); +static MediaMonitorDiscoveredFile video_monitor_real_notify_file_discovered (MediaMonitor* base, GFile* file, GFileInfo* info, Monitorable** monitorable); +static GeeCollection* video_monitor_real_candidates_for_unknown_file (MediaMonitor* base, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_); +void video_source_collection_fetch_by_matching_backing (VideoSourceCollection* self, GFileInfo* info, GeeCollection* matching_master); +static gboolean video_monitor_real_notify_file_created (MediaMonitor* base, GFile* file, GFileInfo* info); +void media_monitor_update_online (MediaMonitor* self, Monitorable* monitorable); +static gboolean video_monitor_real_notify_file_moved (MediaMonitor* base, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); +void media_monitor_update_master_file (MediaMonitor* self, Monitorable* monitorable, GFile* file); +void media_monitor_update_offline (MediaMonitor* self, Monitorable* monitorable); +static gboolean video_monitor_real_notify_file_altered (MediaMonitor* base, GFile* file); +static gboolean video_monitor_real_notify_file_attributes_altered (MediaMonitor* base, GFile* file); +void media_monitor_update_master_file_info_altered (MediaMonitor* self, Monitorable* monitorable); +void media_monitor_update_master_file_in_alteration (MediaMonitor* self, Monitorable* monitorable, gboolean in_alteration); +static gboolean video_monitor_real_notify_file_alteration_completed (MediaMonitor* base, GFile* file, GFileInfo* info); +void media_monitor_update_master_file_alterations_completed (MediaMonitor* self, Monitorable* monitorable, GFileInfo* info); +static gboolean video_monitor_real_notify_file_deleted (MediaMonitor* base, GFile* file); +GeeCollection* media_monitor_get_monitorables (MediaMonitor* self); +VideoUpdates* video_monitor_get_existing_video_updates (VideoMonitor* self, Video* video); +GFile* monitorable_updates_get_master_file (MonitorableUpdates* self); +GFile* media_source_get_master_file (MediaSource* self); +Video* video_source_collection_get_state_by_file (VideoSourceCollection* self, GFile* file, VideoSourceCollectionState* state); +VideoUpdates* video_monitor_fetch_video_updates (VideoMonitor* self, Video* video); +MonitorableUpdates* media_monitor_fetch_updates (MediaMonitor* self, Monitorable* monitorable); +MonitorableUpdates* media_monitor_get_existing_updates (MediaMonitor* self, Monitorable* monitorable); +static void video_monitor_real_process_updates (MediaMonitor* base, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error); +void media_monitor_process_updates (MediaMonitor* self, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error); +#define MEDIA_MONITOR_MAX_OPERATIONS_PER_CYCLE 100 +void media_monitor_mdbg (const gchar* msg); +void video_notify_offline_thumbs_regenerated (void); +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 void video_monitor_on_interpretable_check_complete (VideoMonitor* self, BackgroundJob* j); +static void _video_monitor_on_interpretable_check_complete_completion_callback (BackgroundJob* job, gpointer self); +static VideoMonitorVideoInterpretableCheckJob* video_monitor_video_interpretable_check_job_new (Video* video, CompletionCallback callback, void* callback_target); +static VideoMonitorVideoInterpretableCheckJob* video_monitor_video_interpretable_check_job_construct (GType object_type, Video* video, CompletionCallback callback, void* callback_target); +static GType video_monitor_video_interpretable_check_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType background_job_job_priority_get_type (void) G_GNUC_CONST; +gpointer video_interpretable_results_ref (gpointer instance); +void video_interpretable_results_unref (gpointer instance); +GParamSpec* video_param_spec_interpretable_results (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void video_value_set_interpretable_results (GValue* value, gpointer v_object); +void video_value_take_interpretable_results (GValue* value, gpointer v_object); +gpointer video_value_get_interpretable_results (const GValue* value); +GType video_interpretable_results_get_type (void) G_GNUC_CONST; +void video_interpretable_results_foreground_finish (VideoInterpretableResults* self); +void video_notify_normal_thumbs_regenerated (void); +enum { + VIDEO_MONITOR_VIDEO_INTERPRETABLE_CHECK_JOB_DUMMY_PROPERTY +}; +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); +static void video_monitor_video_interpretable_check_job_real_execute (BackgroundJob* base); +VideoInterpretableResults* video_check_is_interpretable (Video* self); +static void video_monitor_video_interpretable_check_job_finalize (BackgroundJob* obj); +static void video_monitor_finalize (GObject* obj); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 15 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return self ? g_object_ref (self) : NULL; +#line 548 "VideoMonitor.c" +} + + +VideoUpdates* video_updates_construct (GType object_type, Video* video) { + VideoUpdates* self = NULL; + Video* _tmp0_ = NULL; + Video* _tmp1_ = NULL; + Video* _tmp2_ = NULL; +#line 12 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO (video), NULL); +#line 13 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = video; +#line 13 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = (VideoUpdates*) monitorable_updates_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MONITORABLE, Monitorable)); +#line 15 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = video; +#line 15 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 15 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (self->video); +#line 15 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->video = _tmp2_; +#line 12 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return self; +#line 573 "VideoMonitor.c" +} + + +VideoUpdates* video_updates_new (Video* video) { +#line 12 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return video_updates_construct (TYPE_VIDEO_UPDATES, video); +#line 580 "VideoMonitor.c" +} + + +static void video_updates_real_set_check_interpretable (VideoUpdates* self, gboolean check) { + gboolean _tmp0_ = FALSE; +#line 19 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = check; +#line 19 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv->check_interpretable = _tmp0_; +#line 590 "VideoMonitor.c" +} + + +void video_updates_set_check_interpretable (VideoUpdates* self, gboolean check) { +#line 18 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_if_fail (IS_VIDEO_UPDATES (self)); +#line 18 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + VIDEO_UPDATES_GET_CLASS (self)->set_check_interpretable (self, check); +#line 599 "VideoMonitor.c" +} + + +static void video_updates_real_mark_online (MonitorableUpdates* base) { + VideoUpdates * self; +#line 22 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_UPDATES, VideoUpdates); +#line 23 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + MONITORABLE_UPDATES_CLASS (video_updates_parent_class)->mark_online (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 25 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_updates_set_check_interpretable (self, TRUE); +#line 611 "VideoMonitor.c" +} + + +gboolean video_updates_is_check_interpretable (VideoUpdates* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 28 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO_UPDATES (self), FALSE); +#line 29 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = self->priv->check_interpretable; +#line 29 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = _tmp0_; +#line 29 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 626 "VideoMonitor.c" +} + + +static gboolean video_updates_real_is_all_updated (MonitorableUpdates* base) { + VideoUpdates * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 32 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_UPDATES, VideoUpdates); +#line 33 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = self->priv->check_interpretable; +#line 33 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp1_ == FALSE) { +#line 641 "VideoMonitor.c" + gboolean _tmp2_ = FALSE; +#line 33 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = MONITORABLE_UPDATES_CLASS (video_updates_parent_class)->is_all_updated (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 33 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = _tmp2_; +#line 647 "VideoMonitor.c" + } else { +#line 33 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = FALSE; +#line 651 "VideoMonitor.c" + } +#line 33 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = _tmp0_; +#line 33 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 657 "VideoMonitor.c" +} + + +static void video_updates_class_init (VideoUpdatesClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_updates_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MonitorableUpdatesClass *) klass)->finalize = video_updates_finalize; +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_type_class_add_private (klass, sizeof (VideoUpdatesPrivate)); +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((VideoUpdatesClass *) klass)->set_check_interpretable = video_updates_real_set_check_interpretable; +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MonitorableUpdatesClass *) klass)->mark_online = video_updates_real_mark_online; +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MonitorableUpdatesClass *) klass)->is_all_updated = video_updates_real_is_all_updated; +#line 674 "VideoMonitor.c" +} + + +static void video_updates_instance_init (VideoUpdates * self) { +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv = VIDEO_UPDATES_GET_PRIVATE (self); +#line 10 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv->check_interpretable = FALSE; +#line 683 "VideoMonitor.c" +} + + +static void video_updates_finalize (MonitorableUpdates* obj) { + VideoUpdates * self; +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VIDEO_UPDATES, VideoUpdates); +#line 8 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (self->video); +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + MONITORABLE_UPDATES_CLASS (video_updates_parent_class)->finalize (obj); +#line 695 "VideoMonitor.c" +} + + +GType video_updates_get_type (void) { + static volatile gsize video_updates_type_id__volatile = 0; + if (g_once_init_enter (&video_updates_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (VideoUpdatesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_updates_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoUpdates), 0, (GInstanceInitFunc) video_updates_instance_init, NULL }; + GType video_updates_type_id; + video_updates_type_id = g_type_register_static (TYPE_MONITORABLE_UPDATES, "VideoUpdates", &g_define_type_info, 0); + g_once_init_leave (&video_updates_type_id__volatile, video_updates_type_id); + } + return video_updates_type_id__volatile; +} + + +VideoMonitor* video_monitor_construct (GType object_type, GCancellable* cancellable) { + VideoMonitor * self = NULL; + VideoSourceCollection* _tmp0_ = NULL; + GCancellable* _tmp1_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL); +#line 66 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = video_global; +#line 66 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = cancellable; +#line 66 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = (VideoMonitor*) media_monitor_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), _tmp1_); +#line 723 "VideoMonitor.c" + { + GeeIterator* _obj_it = NULL; + VideoSourceCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_global; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection)); +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = _tmp3_; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp6_ = _tmp5_; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_tmp4_); +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _obj_it = _tmp6_; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + while (TRUE) { +#line 747 "VideoMonitor.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + DataObject* obj = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + Video* video = NULL; + DataObject* _tmp11_ = NULL; + Video* _tmp12_ = NULL; + Video* _tmp13_ = NULL; + Video* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp7_ = _obj_it; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (!_tmp8_) { +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + break; +#line 767 "VideoMonitor.c" + } +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp9_ = _obj_it; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + obj = (DataObject*) _tmp10_; +#line 69 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp11_ = obj; +#line 69 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, TYPE_VIDEO) ? ((Video*) _tmp11_) : NULL); +#line 69 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = _tmp12_; +#line 70 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp13_ = video; +#line 70 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_assert (_tmp13_ != NULL, "video != null"); +#line 71 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp14_ = video; +#line 71 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp15_ = video_get_is_interpretable (_tmp14_); +#line 71 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (!_tmp15_) { +#line 791 "VideoMonitor.c" + Video* _tmp16_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp16_ = video; +#line 72 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_monitor_set_check_interpretable (self, _tmp16_, TRUE); +#line 797 "VideoMonitor.c" + } +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (obj); +#line 803 "VideoMonitor.c" + } +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_obj_it); +#line 807 "VideoMonitor.c" + } +#line 65 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return self; +#line 811 "VideoMonitor.c" +} + + +VideoMonitor* video_monitor_new (GCancellable* cancellable) { +#line 65 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return video_monitor_construct (TYPE_VIDEO_MONITOR, cancellable); +#line 818 "VideoMonitor.c" +} + + +static MonitorableUpdates* video_monitor_real_create_updates (MediaMonitor* base, Monitorable* monitorable) { + VideoMonitor * self; + MonitorableUpdates* result = NULL; + Monitorable* _tmp0_ = NULL; + Monitorable* _tmp1_ = NULL; + VideoUpdates* _tmp2_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 76 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE (monitorable), NULL); +#line 77 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = monitorable; +#line 77 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_VIDEO), "monitorable is Video"); +#line 79 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = monitorable; +#line 79 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_updates_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_VIDEO, Video)); +#line 79 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MONITORABLE_UPDATES, MonitorableUpdates); +#line 79 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 844 "VideoMonitor.c" +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 83 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return self ? data_collection_ref (self) : NULL; +#line 851 "VideoMonitor.c" +} + + +static MediaSourceCollection* video_monitor_real_get_media_source_collection (MediaMonitor* base) { + VideoMonitor * self; + MediaSourceCollection* result = NULL; + VideoSourceCollection* _tmp0_ = NULL; + MediaSourceCollection* _tmp1_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 83 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = video_global; +#line 83 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = _data_collection_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 83 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = _tmp1_; +#line 83 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 870 "VideoMonitor.c" +} + + +static gboolean video_monitor_real_is_file_represented (MediaMonitor* base, GFile* file) { + VideoMonitor * self; + gboolean result = FALSE; + VideoSourceCollectionState state = 0; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 86 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 86 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = file; +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + state = _tmp1_; +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = _tmp2_; +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = _tmp3_ != NULL; +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_tmp3_); +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = _tmp4_; +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 903 "VideoMonitor.c" +} + + +static MediaMonitorDiscoveredFile video_monitor_real_notify_file_discovered (MediaMonitor* base, GFile* file, GFileInfo* info, Monitorable** monitorable) { + VideoMonitor * self; + Monitorable* _vala_monitorable = NULL; + MediaMonitorDiscoveredFile result = 0; + VideoSourceCollectionState state = 0; + Video* video = NULL; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; + VideoSourceCollectionState _tmp4_ = 0; +#line 91 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 91 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), 0); +#line 91 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), 0); +#line 94 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = file; +#line 94 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 94 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + state = _tmp1_; +#line 94 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = _tmp2_; +#line 95 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = video; +#line 95 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp3_ == NULL) { +#line 96 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 96 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_monitorable = NULL; +#line 98 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN; +#line 98 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 98 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (monitorable) { +#line 98 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + *monitorable = _vala_monitorable; +#line 948 "VideoMonitor.c" + } else { +#line 98 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 952 "VideoMonitor.c" + } +#line 98 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 956 "VideoMonitor.c" + } +#line 101 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = state; +#line 101 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + switch (_tmp4_) { +#line 101 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + case VIDEO_SOURCE_COLLECTION_STATE_ONLINE: +#line 101 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + case VIDEO_SOURCE_COLLECTION_STATE_OFFLINE: +#line 966 "VideoMonitor.c" + { + Video* _tmp5_ = NULL; + Monitorable* _tmp6_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = video; +#line 104 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp6_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MONITORABLE, Monitorable)); +#line 104 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 104 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_monitorable = _tmp6_; +#line 106 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED; +#line 106 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 106 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (monitorable) { +#line 106 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + *monitorable = _vala_monitorable; +#line 986 "VideoMonitor.c" + } else { +#line 106 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 990 "VideoMonitor.c" + } +#line 106 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 994 "VideoMonitor.c" + } + default: +#line 101 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + case VIDEO_SOURCE_COLLECTION_STATE_TRASH: +#line 999 "VideoMonitor.c" + { +#line 111 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 111 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_monitorable = NULL; +#line 113 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = MEDIA_MONITOR_DISCOVERED_FILE_IGNORE; +#line 113 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 113 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (monitorable) { +#line 113 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + *monitorable = _vala_monitorable; +#line 1013 "VideoMonitor.c" + } else { +#line 113 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 1017 "VideoMonitor.c" + } +#line 113 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1021 "VideoMonitor.c" + } + } +#line 91 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 91 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (monitorable) { +#line 91 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + *monitorable = _vala_monitorable; +#line 1030 "VideoMonitor.c" + } else { +#line 91 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 1034 "VideoMonitor.c" + } +} + + +static GeeCollection* video_monitor_real_candidates_for_unknown_file (MediaMonitor* base, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_) { + VideoMonitor * self; + MediaMonitorDiscoveredFile _vala_result = 0; + GeeCollection* result = NULL; + GeeCollection* matched = NULL; + GeeArrayList* _tmp0_ = NULL; + VideoSourceCollection* _tmp1_ = NULL; + GFileInfo* _tmp2_ = NULL; +#line 117 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 117 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 117 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), NULL); +#line 119 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 119 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + matched = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection); +#line 120 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = video_global; +#line 120 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = info; +#line 120 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_source_collection_fetch_by_matching_backing (_tmp1_, _tmp2_, matched); +#line 122 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_result = MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN; +#line 124 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = matched; +#line 124 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_result_) { +#line 124 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + *_result_ = _vala_result; +#line 1071 "VideoMonitor.c" + } +#line 124 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1075 "VideoMonitor.c" +} + + +static gboolean video_monitor_real_notify_file_created (MediaMonitor* base, GFile* file, GFileInfo* info) { + VideoMonitor * self; + gboolean result = FALSE; + VideoSourceCollectionState state = 0; + Video* video = NULL; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; + Video* _tmp4_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 127 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 127 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); +#line 129 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = file; +#line 129 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 129 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + state = _tmp1_; +#line 129 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = _tmp2_; +#line 130 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = video; +#line 130 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp3_ == NULL) { +#line 131 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = FALSE; +#line 131 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 131 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1113 "VideoMonitor.c" + } +#line 133 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = video; +#line 133 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_online (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MONITORABLE, Monitorable)); +#line 135 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = TRUE; +#line 135 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 135 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1125 "VideoMonitor.c" +} + + +static gboolean video_monitor_real_notify_file_moved (MediaMonitor* base, GFile* old_file, GFile* new_file, GFileInfo* new_file_info) { + VideoMonitor * self; + gboolean result = FALSE; + VideoSourceCollectionState old_state = 0; + Video* old_video = NULL; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + VideoSourceCollectionState new_state = 0; + Video* new_video = NULL; + GFile* _tmp3_ = NULL; + VideoSourceCollectionState _tmp4_ = 0; + Video* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + Video* _tmp7_ = NULL; +#line 138 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 138 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (old_file), FALSE); +#line 138 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (new_file), FALSE); +#line 138 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (new_file_info), FALSE); +#line 140 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = old_file; +#line 140 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 140 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + old_state = _tmp1_; +#line 140 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + old_video = _tmp2_; +#line 143 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = new_file; +#line 143 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = video_monitor_get_state (self, _tmp3_, &_tmp4_); +#line 143 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + new_state = _tmp4_; +#line 143 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + new_video = _tmp5_; +#line 157 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp7_ = old_video; +#line 157 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp7_ != NULL) { +#line 1172 "VideoMonitor.c" + Video* _tmp8_ = NULL; +#line 157 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp8_ = new_video; +#line 157 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp6_ = _tmp8_ == NULL; +#line 1178 "VideoMonitor.c" + } else { +#line 157 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp6_ = FALSE; +#line 1182 "VideoMonitor.c" + } +#line 157 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp6_) { +#line 1186 "VideoMonitor.c" + Video* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; +#line 159 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp9_ = old_video; +#line 159 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp10_ = new_file; +#line 159 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_MONITORABLE, Monitorable), _tmp10_); +#line 1195 "VideoMonitor.c" + } else { + gboolean _tmp11_ = FALSE; + Video* _tmp12_ = NULL; +#line 160 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp12_ = old_video; +#line 160 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp12_ == NULL) { +#line 1203 "VideoMonitor.c" + Video* _tmp13_ = NULL; +#line 160 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp13_ = new_video; +#line 160 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp11_ = _tmp13_ != NULL; +#line 1209 "VideoMonitor.c" + } else { +#line 160 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp11_ = FALSE; +#line 1213 "VideoMonitor.c" + } +#line 160 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp11_) { +#line 1217 "VideoMonitor.c" + Video* _tmp14_ = NULL; +#line 162 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp14_ = new_video; +#line 162 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_monitor_set_check_interpretable (self, _tmp14_, TRUE); +#line 1223 "VideoMonitor.c" + } else { + gboolean _tmp15_ = FALSE; + Video* _tmp16_ = NULL; +#line 163 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp16_ = old_video; +#line 163 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp16_ == NULL) { +#line 1231 "VideoMonitor.c" + Video* _tmp17_ = NULL; +#line 163 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp17_ = new_video; +#line 163 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp15_ = _tmp17_ == NULL; +#line 1237 "VideoMonitor.c" + } else { +#line 163 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp15_ = FALSE; +#line 1241 "VideoMonitor.c" + } +#line 163 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp15_) { +#line 165 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = FALSE; +#line 165 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (new_video); +#line 165 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (old_video); +#line 165 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1253 "VideoMonitor.c" + } else { + gboolean _tmp18_ = FALSE; + Video* _tmp19_ = NULL; + Video* _tmp21_ = NULL; + Video* _tmp22_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp19_ = old_video; +#line 167 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp19_ != NULL) { +#line 1263 "VideoMonitor.c" + Video* _tmp20_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp20_ = new_video; +#line 167 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp18_ = _tmp20_ != NULL; +#line 1269 "VideoMonitor.c" + } else { +#line 167 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp18_ = FALSE; +#line 1273 "VideoMonitor.c" + } +#line 167 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_assert (_tmp18_, "old_video != null && new_video != null"); +#line 170 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp21_ = old_video; +#line 170 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_offline (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_MONITORABLE, Monitorable)); +#line 171 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp22_ = new_video; +#line 171 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_monitor_set_check_interpretable (self, _tmp22_, TRUE); +#line 1285 "VideoMonitor.c" + } + } + } +#line 174 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = TRUE; +#line 174 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (new_video); +#line 174 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (old_video); +#line 174 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1297 "VideoMonitor.c" +} + + +static gboolean video_monitor_real_notify_file_altered (MediaMonitor* base, GFile* file) { + VideoMonitor * self; + gboolean result = FALSE; + VideoSourceCollectionState state = 0; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 177 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 177 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = file; +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + state = _tmp1_; +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = _tmp2_; +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = _tmp3_ != NULL; +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_tmp3_); +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = _tmp4_; +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1330 "VideoMonitor.c" +} + + +static gboolean video_monitor_real_notify_file_attributes_altered (MediaMonitor* base, GFile* file) { + VideoMonitor * self; + gboolean result = FALSE; + VideoSourceCollectionState state = 0; + Video* video = NULL; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; + Video* _tmp4_ = NULL; + Video* _tmp5_ = NULL; +#line 182 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 182 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 184 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = file; +#line 184 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 184 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + state = _tmp1_; +#line 184 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = _tmp2_; +#line 185 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = video; +#line 185 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp3_ == NULL) { +#line 186 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = FALSE; +#line 186 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 186 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1367 "VideoMonitor.c" + } +#line 188 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = video; +#line 188 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_master_file_info_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MONITORABLE, Monitorable)); +#line 189 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = video; +#line 189 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_master_file_in_alteration (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MONITORABLE, Monitorable), TRUE); +#line 191 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = TRUE; +#line 191 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 191 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1383 "VideoMonitor.c" +} + + +static gboolean video_monitor_real_notify_file_alteration_completed (MediaMonitor* base, GFile* file, GFileInfo* info) { + VideoMonitor * self; + gboolean result = FALSE; + VideoSourceCollectionState state = 0; + Video* video = NULL; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; + Video* _tmp4_ = NULL; + GFileInfo* _tmp5_ = NULL; +#line 194 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 194 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 194 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); +#line 196 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = file; +#line 196 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 196 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + state = _tmp1_; +#line 196 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = _tmp2_; +#line 197 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = video; +#line 197 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp3_ == NULL) { +#line 198 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = FALSE; +#line 198 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 198 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1422 "VideoMonitor.c" + } +#line 200 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = video; +#line 200 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = info; +#line 200 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_master_file_alterations_completed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MONITORABLE, Monitorable), _tmp5_); +#line 202 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = TRUE; +#line 202 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 202 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1436 "VideoMonitor.c" +} + + +static gboolean video_monitor_real_notify_file_deleted (MediaMonitor* base, GFile* file) { + VideoMonitor * self; + gboolean result = FALSE; + VideoSourceCollectionState state = 0; + Video* video = NULL; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; + Video* _tmp4_ = NULL; + Video* _tmp5_ = NULL; +#line 205 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 205 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 207 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = file; +#line 207 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 207 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + state = _tmp1_; +#line 207 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = _tmp2_; +#line 208 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = video; +#line 208 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp3_ == NULL) { +#line 209 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = FALSE; +#line 209 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 209 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1473 "VideoMonitor.c" + } +#line 211 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = video; +#line 211 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_master_file_in_alteration (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MONITORABLE, Monitorable), FALSE); +#line 212 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = video; +#line 212 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_offline (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MONITORABLE, Monitorable)); +#line 214 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = TRUE; +#line 214 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 214 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1489 "VideoMonitor.c" +} + + +static Video* video_monitor_get_state (VideoMonitor* self, GFile* file, VideoSourceCollectionState* state) { + VideoSourceCollectionState _vala_state = 0; + Video* result = NULL; + GFile* real_file = NULL; + GFile* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + VideoSourceCollection* _tmp28_ = NULL; + VideoSourceCollectionState _tmp29_ = 0; + Video* _tmp30_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO_MONITOR (self), NULL); +#line 217 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 218 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + real_file = NULL; +#line 1508 "VideoMonitor.c" + { + GeeIterator* _monitorable_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = media_monitor_get_monitorables (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor)); +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = _tmp0_; +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = _tmp2_; +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_tmp1_); +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_it = _tmp3_; +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + while (TRUE) { +#line 1529 "VideoMonitor.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + Monitorable* monitorable = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + Video* video = NULL; + Monitorable* _tmp8_ = NULL; + Video* _tmp9_ = NULL; + VideoUpdates* updates = NULL; + Video* _tmp10_ = NULL; + VideoUpdates* _tmp11_ = NULL; + VideoUpdates* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + VideoUpdates* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = _monitorable_it; +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (!_tmp5_) { +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + break; +#line 1555 "VideoMonitor.c" + } +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp6_ = _monitorable_it; +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + monitorable = (Monitorable*) _tmp7_; +#line 220 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp8_ = monitorable; +#line 220 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_VIDEO, Video)); +#line 220 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = _tmp9_; +#line 222 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp10_ = video; +#line 222 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp11_ = video_monitor_get_existing_video_updates (self, _tmp10_); +#line 222 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + updates = _tmp11_; +#line 223 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp12_ = updates; +#line 223 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp12_ == NULL) { +#line 224 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 224 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 224 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (monitorable); +#line 224 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + continue; +#line 1587 "VideoMonitor.c" + } +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp14_ = updates; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp15_ = monitorable_updates_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp16_ = _tmp15_; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp17_ = _tmp16_ != NULL; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_tmp16_); +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp17_) { +#line 1601 "VideoMonitor.c" + VideoUpdates* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp18_ = updates; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp19_ = monitorable_updates_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp20_ = _tmp19_; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp21_ = file; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp22_ = g_file_equal (_tmp20_, _tmp21_); +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp13_ = _tmp22_; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_tmp20_); +#line 1621 "VideoMonitor.c" + } else { +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp13_ = FALSE; +#line 1625 "VideoMonitor.c" + } +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp13_) { +#line 1629 "VideoMonitor.c" + Video* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp23_ = video; +#line 227 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp24_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 227 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (real_file); +#line 227 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + real_file = _tmp24_; +#line 229 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 229 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 229 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (monitorable); +#line 229 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + break; +#line 1648 "VideoMonitor.c" + } +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (monitorable); +#line 1656 "VideoMonitor.c" + } +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_monitorable_it); +#line 1660 "VideoMonitor.c" + } +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp26_ = real_file; +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp25_ = _tmp26_; +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp25_ == NULL) { +#line 1668 "VideoMonitor.c" + GFile* _tmp27_ = NULL; +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp27_ = file; +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp25_ = _tmp27_; +#line 1674 "VideoMonitor.c" + } +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp28_ = video_global; +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp30_ = video_source_collection_get_state_by_file (_tmp28_, _tmp25_, &_tmp29_); +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_state = _tmp29_; +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = _tmp30_; +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (real_file); +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (state) { +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + *state = _vala_state; +#line 1690 "VideoMonitor.c" + } +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1694 "VideoMonitor.c" +} + + +VideoUpdates* video_monitor_fetch_video_updates (VideoMonitor* self, Video* video) { + VideoUpdates* result = NULL; + VideoUpdates* updates = NULL; + Video* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; + VideoUpdates* _tmp2_ = NULL; +#line 236 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO_MONITOR (self), NULL); +#line 236 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO (video), NULL); +#line 237 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = video; +#line 237 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = media_monitor_fetch_updates (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MONITORABLE, Monitorable)); +#line 237 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_VIDEO_UPDATES) ? ((VideoUpdates*) _tmp1_) : NULL; +#line 237 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp2_ == NULL) { +#line 237 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (_tmp1_); +#line 1718 "VideoMonitor.c" + } +#line 237 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + updates = _tmp2_; +#line 238 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_assert (updates != NULL, "updates != null"); +#line 240 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = updates; +#line 240 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1728 "VideoMonitor.c" +} + + +VideoUpdates* video_monitor_get_existing_video_updates (VideoMonitor* self, Video* video) { + VideoUpdates* result = NULL; + Video* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; + VideoUpdates* _tmp2_ = NULL; +#line 243 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO_MONITOR (self), NULL); +#line 243 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO (video), NULL); +#line 244 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = video; +#line 244 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = media_monitor_get_existing_updates (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MONITORABLE, Monitorable)); +#line 244 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_VIDEO_UPDATES) ? ((VideoUpdates*) _tmp1_) : NULL; +#line 244 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp2_ == NULL) { +#line 244 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (_tmp1_); +#line 1751 "VideoMonitor.c" + } +#line 244 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = _tmp2_; +#line 244 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1757 "VideoMonitor.c" +} + + +void video_monitor_set_check_interpretable (VideoMonitor* self, Video* video, gboolean check) { + Video* _tmp0_ = NULL; + VideoUpdates* _tmp1_ = NULL; + VideoUpdates* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 247 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_if_fail (IS_VIDEO_MONITOR (self)); +#line 247 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_if_fail (IS_VIDEO (video)); +#line 248 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = video; +#line 248 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = video_monitor_fetch_video_updates (self, _tmp0_); +#line 248 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = _tmp1_; +#line 248 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = check; +#line 248 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_updates_set_check_interpretable (_tmp2_, _tmp3_); +#line 248 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 1782 "VideoMonitor.c" +} + + +static gpointer _monitorable_updates_ref0 (gpointer self) { +#line 266 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return self ? monitorable_updates_ref (self) : NULL; +#line 1789 "VideoMonitor.c" +} + + +static void _video_monitor_on_interpretable_check_complete_completion_callback (BackgroundJob* job, gpointer self) { +#line 287 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_monitor_on_interpretable_check_complete ((VideoMonitor*) self, job); +#line 1796 "VideoMonitor.c" +} + + +static void video_monitor_real_process_updates (MediaMonitor* base, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error) { + VideoMonitor * self; + GeeCollection* _tmp0_ = NULL; + TransactionController* _tmp1_ = NULL; + GeeArrayList* check = NULL; + GeeArrayList* _tmp26_ = NULL; + GError * _inner_error_ = NULL; +#line 251 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 251 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_if_fail (GEE_IS_COLLECTION (all_updates)); +#line 251 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_if_fail (IS_TRANSACTION_CONTROLLER (controller)); +#line 253 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = all_updates; +#line 253 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = controller; +#line 253 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + MEDIA_MONITOR_CLASS (video_monitor_parent_class)->process_updates (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), _tmp0_, _tmp1_, op_count, &_inner_error_); +#line 253 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 253 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_propagate_error (error, _inner_error_); +#line 253 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return; +#line 1825 "VideoMonitor.c" + } +#line 255 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + check = NULL; +#line 1829 "VideoMonitor.c" + { + GeeIterator* _monitorable_updates_it = NULL; + GeeCollection* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = all_updates; +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_it = _tmp3_; +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + while (TRUE) { +#line 1842 "VideoMonitor.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + MonitorableUpdates* monitorable_updates = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + gint _tmp8_ = 0; + gboolean _tmp9_ = FALSE; + GeeArrayList* _tmp10_ = NULL; + VideoUpdates* updates = NULL; + MonitorableUpdates* _tmp14_ = NULL; + VideoUpdates* _tmp15_ = NULL; + VideoUpdates* _tmp16_ = NULL; + VideoUpdates* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = _monitorable_updates_it; +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (!_tmp5_) { +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + break; +#line 1865 "VideoMonitor.c" + } +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp6_ = _monitorable_updates_it; +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + monitorable_updates = (MonitorableUpdates*) _tmp7_; +#line 258 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp8_ = *op_count; +#line 258 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp8_ >= MEDIA_MONITOR_MAX_OPERATIONS_PER_CYCLE) { +#line 259 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (monitorable_updates); +#line 259 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + break; +#line 1881 "VideoMonitor.c" + } +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp10_ = check; +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp10_ != NULL) { +#line 1887 "VideoMonitor.c" + GeeArrayList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp11_ = check; +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp12_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp13_ = _tmp12_; +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp9_ = _tmp13_ >= VIDEO_MONITOR_MAX_INTERPRETABLE_CHECKS_PER_CYCLE; +#line 1899 "VideoMonitor.c" + } else { +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp9_ = FALSE; +#line 1903 "VideoMonitor.c" + } +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp9_) { +#line 264 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (monitorable_updates); +#line 264 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + break; +#line 1911 "VideoMonitor.c" + } +#line 266 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp14_ = monitorable_updates; +#line 266 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp15_ = _monitorable_updates_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, TYPE_VIDEO_UPDATES) ? ((VideoUpdates*) _tmp14_) : NULL); +#line 266 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + updates = _tmp15_; +#line 267 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp16_ = updates; +#line 267 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp16_ == NULL) { +#line 268 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 268 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (monitorable_updates); +#line 268 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + continue; +#line 1929 "VideoMonitor.c" + } +#line 270 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp17_ = updates; +#line 270 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp18_ = video_updates_is_check_interpretable (_tmp17_); +#line 270 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp18_) { +#line 1937 "VideoMonitor.c" + GeeArrayList* _tmp19_ = NULL; + GeeArrayList* _tmp21_ = NULL; + VideoUpdates* _tmp22_ = NULL; + Video* _tmp23_ = NULL; + VideoUpdates* _tmp24_ = NULL; + gint _tmp25_ = 0; +#line 271 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp19_ = check; +#line 271 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp19_ == NULL) { +#line 1948 "VideoMonitor.c" + GeeArrayList* _tmp20_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp20_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 272 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (check); +#line 272 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + check = _tmp20_; +#line 1956 "VideoMonitor.c" + } +#line 274 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp21_ = check; +#line 274 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp22_ = updates; +#line 274 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp23_ = _tmp22_->video; +#line 274 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp23_); +#line 275 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp24_ = updates; +#line 275 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_updates_set_check_interpretable (_tmp24_, FALSE); +#line 276 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp25_ = *op_count; +#line 276 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + *op_count = _tmp25_ + 1; +#line 1974 "VideoMonitor.c" + } +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (monitorable_updates); +#line 1980 "VideoMonitor.c" + } +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_monitorable_updates_it); +#line 1984 "VideoMonitor.c" + } +#line 280 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp26_ = check; +#line 280 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp26_ != NULL) { +#line 1990 "VideoMonitor.c" + GeeArrayList* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + guint64 _tmp32_ = 0ULL; + GeeArrayList* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; +#line 281 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp27_ = check; +#line 281 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp28_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 281 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp29_ = _tmp28_; +#line 281 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp30_ = g_strdup_printf ("Checking interpretable for %d videos", _tmp29_); +#line 281 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp31_ = _tmp30_; +#line 281 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_mdbg (_tmp31_); +#line 281 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_free0 (_tmp31_); +#line 283 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_notify_offline_thumbs_regenerated (); +#line 285 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp32_ = self->priv->background_jobs; +#line 285 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp33_ = check; +#line 285 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp34_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 285 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp35_ = _tmp34_; +#line 285 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv->background_jobs = _tmp32_ + _tmp35_; +#line 2026 "VideoMonitor.c" + { + GeeArrayList* _video_list = NULL; + GeeArrayList* _tmp36_ = NULL; + GeeArrayList* _tmp37_ = NULL; + gint _video_size = 0; + GeeArrayList* _tmp38_ = NULL; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + gint _video_index = 0; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp36_ = check; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp37_ = _g_object_ref0 (_tmp36_); +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _video_list = _tmp37_; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp38_ = _video_list; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp39_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp40_ = _tmp39_; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _video_size = _tmp40_; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _video_index = -1; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + while (TRUE) { +#line 2054 "VideoMonitor.c" + gint _tmp41_ = 0; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + Video* video = NULL; + GeeArrayList* _tmp44_ = NULL; + gint _tmp45_ = 0; + gpointer _tmp46_ = NULL; + Workers* _tmp47_ = NULL; + Video* _tmp48_ = NULL; + VideoMonitorVideoInterpretableCheckJob* _tmp49_ = NULL; + VideoMonitorVideoInterpretableCheckJob* _tmp50_ = NULL; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp41_ = _video_index; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _video_index = _tmp41_ + 1; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp42_ = _video_index; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp43_ = _video_size; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (!(_tmp42_ < _tmp43_)) { +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + break; +#line 2078 "VideoMonitor.c" + } +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp44_ = _video_list; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp45_ = _video_index; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp46_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp45_); +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = (Video*) _tmp46_; +#line 287 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp47_ = self->priv->workers; +#line 287 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp48_ = video; +#line 287 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp49_ = video_monitor_video_interpretable_check_job_new (_tmp48_, _video_monitor_on_interpretable_check_complete_completion_callback, self); +#line 287 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp50_ = _tmp49_; +#line 287 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + workers_enqueue (_tmp47_, G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 287 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _background_job_unref0 (_tmp50_); +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 2102 "VideoMonitor.c" + } +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_video_list); +#line 2106 "VideoMonitor.c" + } + } +#line 251 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (check); +#line 2111 "VideoMonitor.c" +} + + +static gpointer _background_job_ref0 (gpointer self) { +#line 292 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return self ? background_job_ref (self) : NULL; +#line 2118 "VideoMonitor.c" +} + + +static void video_monitor_on_interpretable_check_complete (VideoMonitor* self, BackgroundJob* j) { + VideoMonitorVideoInterpretableCheckJob* job = NULL; + BackgroundJob* _tmp0_ = NULL; + VideoMonitorVideoInterpretableCheckJob* _tmp1_ = NULL; + VideoMonitorVideoInterpretableCheckJob* _tmp2_ = NULL; + VideoInterpretableResults* _tmp3_ = NULL; + guint64 _tmp4_ = 0ULL; + guint64 _tmp5_ = 0ULL; +#line 291 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_if_fail (IS_VIDEO_MONITOR (self)); +#line 291 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 292 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = j; +#line 292 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB, VideoMonitorVideoInterpretableCheckJob)); +#line 292 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + job = _tmp1_; +#line 294 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = job; +#line 294 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = _tmp2_->results; +#line 294 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_interpretable_results_foreground_finish (_tmp3_); +#line 296 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = self->priv->background_jobs; +#line 296 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv->background_jobs = _tmp4_ - 1; +#line 297 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = self->priv->background_jobs; +#line 297 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp5_ <= ((guint64) 0)) { +#line 298 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_notify_normal_thumbs_regenerated (); +#line 2156 "VideoMonitor.c" + } +#line 291 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _background_job_unref0 (job); +#line 2160 "VideoMonitor.c" +} + + +static VideoMonitorVideoInterpretableCheckJob* video_monitor_video_interpretable_check_job_construct (GType object_type, Video* video, CompletionCallback callback, void* callback_target) { + VideoMonitorVideoInterpretableCheckJob* self = NULL; + Video* _tmp0_ = NULL; + CompletionCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; +#line 49 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO (video), NULL); +#line 50 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = video; +#line 50 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = callback; +#line 50 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1__target = callback_target; +#line 50 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = (VideoMonitorVideoInterpretableCheckJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _tmp1_, _tmp1__target, NULL, NULL, NULL, NULL); +#line 51 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video; +#line 51 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 51 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (self->video); +#line 51 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->video = _tmp3_; +#line 49 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return self; +#line 2191 "VideoMonitor.c" +} + + +static VideoMonitorVideoInterpretableCheckJob* video_monitor_video_interpretable_check_job_new (Video* video, CompletionCallback callback, void* callback_target) { +#line 49 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return video_monitor_video_interpretable_check_job_construct (VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB, video, callback, callback_target); +#line 2198 "VideoMonitor.c" +} + + +static void video_monitor_video_interpretable_check_job_real_execute (BackgroundJob* base) { + VideoMonitorVideoInterpretableCheckJob * self; + Video* _tmp0_ = NULL; + VideoInterpretableResults* _tmp1_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB, VideoMonitorVideoInterpretableCheckJob); +#line 55 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = self->video; +#line 55 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = video_check_is_interpretable (_tmp0_); +#line 55 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _video_interpretable_results_unref0 (self->results); +#line 55 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->results = _tmp1_; +#line 2216 "VideoMonitor.c" +} + + +static void video_monitor_video_interpretable_check_job_class_init (VideoMonitorVideoInterpretableCheckJobClass * klass) { +#line 42 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_monitor_video_interpretable_check_job_parent_class = g_type_class_peek_parent (klass); +#line 42 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((BackgroundJobClass *) klass)->finalize = video_monitor_video_interpretable_check_job_finalize; +#line 42 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((BackgroundJobClass *) klass)->execute = video_monitor_video_interpretable_check_job_real_execute; +#line 2227 "VideoMonitor.c" +} + + +static void video_monitor_video_interpretable_check_job_instance_init (VideoMonitorVideoInterpretableCheckJob * self) { +#line 47 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->results = NULL; +#line 2234 "VideoMonitor.c" +} + + +static void video_monitor_video_interpretable_check_job_finalize (BackgroundJob* obj) { + VideoMonitorVideoInterpretableCheckJob * self; +#line 42 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB, VideoMonitorVideoInterpretableCheckJob); +#line 44 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (self->video); +#line 47 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _video_interpretable_results_unref0 (self->results); +#line 42 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + BACKGROUND_JOB_CLASS (video_monitor_video_interpretable_check_job_parent_class)->finalize (obj); +#line 2248 "VideoMonitor.c" +} + + +static GType video_monitor_video_interpretable_check_job_get_type (void) { + static volatile gsize video_monitor_video_interpretable_check_job_type_id__volatile = 0; + if (g_once_init_enter (&video_monitor_video_interpretable_check_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (VideoMonitorVideoInterpretableCheckJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_monitor_video_interpretable_check_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoMonitorVideoInterpretableCheckJob), 0, (GInstanceInitFunc) video_monitor_video_interpretable_check_job_instance_init, NULL }; + GType video_monitor_video_interpretable_check_job_type_id; + video_monitor_video_interpretable_check_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "VideoMonitorVideoInterpretableCheckJob", &g_define_type_info, 0); + g_once_init_leave (&video_monitor_video_interpretable_check_job_type_id__volatile, video_monitor_video_interpretable_check_job_type_id); + } + return video_monitor_video_interpretable_check_job_type_id__volatile; +} + + +static void video_monitor_class_init (VideoMonitorClass * klass) { +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_monitor_parent_class = g_type_class_peek_parent (klass); +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_type_class_add_private (klass, sizeof (VideoMonitorPrivate)); +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->create_updates = video_monitor_real_create_updates; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->get_media_source_collection = video_monitor_real_get_media_source_collection; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->is_file_represented = video_monitor_real_is_file_represented; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_discovered = video_monitor_real_notify_file_discovered; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->candidates_for_unknown_file = video_monitor_real_candidates_for_unknown_file; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_created = video_monitor_real_notify_file_created; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_moved = video_monitor_real_notify_file_moved; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_altered = video_monitor_real_notify_file_altered; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_attributes_altered = video_monitor_real_notify_file_attributes_altered; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_alteration_completed = video_monitor_real_notify_file_alteration_completed; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_deleted = video_monitor_real_notify_file_deleted; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->process_updates = video_monitor_real_process_updates; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + G_OBJECT_CLASS (klass)->finalize = video_monitor_finalize; +#line 2295 "VideoMonitor.c" +} + + +static void video_monitor_instance_init (VideoMonitor * self) { + Workers* _tmp0_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv = VIDEO_MONITOR_GET_PRIVATE (self); +#line 62 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = workers_new ((guint) 1, FALSE); +#line 62 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv->workers = _tmp0_; +#line 63 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv->background_jobs = (guint64) 0; +#line 2309 "VideoMonitor.c" +} + + +static void video_monitor_finalize (GObject* obj) { + VideoMonitor * self; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 62 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _workers_unref0 (self->priv->workers); +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + G_OBJECT_CLASS (video_monitor_parent_class)->finalize (obj); +#line 2321 "VideoMonitor.c" +} + + +GType video_monitor_get_type (void) { + static volatile gsize video_monitor_type_id__volatile = 0; + if (g_once_init_enter (&video_monitor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (VideoMonitorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_monitor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoMonitor), 0, (GInstanceInitFunc) video_monitor_instance_init, NULL }; + GType video_monitor_type_id; + video_monitor_type_id = g_type_register_static (TYPE_MEDIA_MONITOR, "VideoMonitor", &g_define_type_info, 0); + g_once_init_leave (&video_monitor_type_id__volatile, video_monitor_type_id); + } + return video_monitor_type_id__volatile; +} + + + |