/* DirectoryMonitor.c generated by valac 0.40.4, the Vala compiler * generated from DirectoryMonitor.vala, do not modify */ /* Copyright 2016 Software Freedom Conservancy Inc. * * This software is licensed under the GNU LGPL (version 2.1 or later). * See the COPYING file in this distribution. */ /**/ /* DirectoryMonitor will monitor an entire directory for changes to all files and directories*/ /* within it. It uses FileMonitor to monitor all directories it discovers at initialization*/ /* and reports changes to the files and directories just as FileMonitor reports them. Subclasses*/ /* can override the notify_* methods to filter or monitor events before the signal is fired,*/ /* or can override the signals themselves to be notified afterwards.*/ /**/ /* start_discovery() must be called to initiate monitoring. Directories and files will be reported*/ /* as they're discovered. Directories will be monitored as they're discovered as well. Discovery*/ /* can only be initiated once.*/ /**/ /* All signals are virtual and have a corresponding notify_* protected virtual function.*/ /* Subclasses can either override the notify or the signal to decide when they want to process*/ /* the event.*/ /**/ /* DirectoryMonitor also adds a level of intelligence to GLib's monitoring API.Because certain*/ /* file/directory events are decomposed by FileMonitor into more atomic events, it's difficult*/ /* to know when these "composed" events have occurred. (For example, a file move is reported*/ /* as a DELETED event followed by a CREATED event, with no clue that the two are related.) Later*/ /* versions added the MOVE event, but we can't rely on those being installed. Also, documentation*/ /* suggests it's only available with certain back-ends.*/ /**/ /* DirectoryMonitor attempts to solve this by deducing when a set of events actually equals*/ /* a composite event. It requires more memory in order to do this (i.e. it stores all files and*/ /* their information), but the trade-off is easier file/directory monitoring via familiar*/ /* semantics.*/ /**/ /* DirectoryMonitor also will synthesize events when normal monitor events don't produce expected*/ /* results. For example, if a directory is moved out of DirectoryMonitor's root, it is reported*/ /* as a delete event, but none of its children are reported as deleted. Similarly, a directory*/ /* rename can be captured as a move, but notifications for all its children are not fired and*/ /* are synthesized by DirectoryMonitor. DirectoryMonitor will fire delete and move notifications*/ /* for all the directory's children in depth-first order.*/ /**/ /* In general, DirectoryMonitor attempts to preserve ordering of events, so that (for example) a*/ /* file-altered event doesn't fire before a file-created, and so on.*/ /**/ /* Because of these requirements, DirectoryMonitor maintains a FileInfo struct on all directories */ /* and files being monitored. (It maintains the attributes gather during the discovery phase, i.e. */ /* SUPPLIED_ATTRIBUTES.) This information can be retrieved via get_info(), get_file_id(), and*/ /* get_etag(). These calls can be made at any time; the information is stored before any signal*/ /* is fired.*/ /**/ /* Note that DirectoryMonitor currently only supports files and directories. Other file types*/ /* (special, symbolic links, shortcuts, and mount points) are not supported. It has been seen*/ /* when a temporary file is created for its file type to be reported as "unknown" and when it's*/ /* altered/deleted to be reported as a regular file. This means it's possible for a file not to*/ /* be reported as discovered or created but to be reported as altered and/or deleted.*/ /**/ /* DirectoryMonitor can be configured to not recurse (in which case it only discovers/monitors*/ /* the root directory) and to not monitor (in which case only discovery occurs).*/ /**/ #include #include #include #include #include #include #include #include #define TYPE_DIRECTORY_MONITOR (directory_monitor_get_type ()) #define DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitor)) #define DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) #define IS_DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECTORY_MONITOR)) #define IS_DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECTORY_MONITOR)) #define DIRECTORY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) typedef struct _DirectoryMonitor DirectoryMonitor; typedef struct _DirectoryMonitorClass DirectoryMonitorClass; typedef struct _DirectoryMonitorPrivate DirectoryMonitorPrivate; #define DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT (directory_monitor_query_info_queue_element_get_type ()) #define DIRECTORY_MONITOR_QUERY_INFO_QUEUE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT, DirectoryMonitorQueryInfoQueueElement)) #define DIRECTORY_MONITOR_QUERY_INFO_QUEUE_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT, DirectoryMonitorQueryInfoQueueElementClass)) #define DIRECTORY_MONITOR_IS_QUERY_INFO_QUEUE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT)) #define DIRECTORY_MONITOR_IS_QUERY_INFO_QUEUE_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT)) #define DIRECTORY_MONITOR_QUERY_INFO_QUEUE_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT, DirectoryMonitorQueryInfoQueueElementClass)) typedef struct _DirectoryMonitorQueryInfoQueueElement DirectoryMonitorQueryInfoQueueElement; typedef struct _DirectoryMonitorQueryInfoQueueElementClass DirectoryMonitorQueryInfoQueueElementClass; #define DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP (directory_monitor_file_info_map_get_type ()) #define DIRECTORY_MONITOR_FILE_INFO_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP, DirectoryMonitorFileInfoMap)) #define DIRECTORY_MONITOR_FILE_INFO_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP, DirectoryMonitorFileInfoMapClass)) #define DIRECTORY_MONITOR_IS_FILE_INFO_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP)) #define DIRECTORY_MONITOR_IS_FILE_INFO_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP)) #define DIRECTORY_MONITOR_FILE_INFO_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP, DirectoryMonitorFileInfoMapClass)) typedef struct _DirectoryMonitorFileInfoMap DirectoryMonitorFileInfoMap; typedef struct _DirectoryMonitorFileInfoMapClass DirectoryMonitorFileInfoMapClass; enum { DIRECTORY_MONITOR_0_PROPERTY, DIRECTORY_MONITOR_NUM_PROPERTIES }; static GParamSpec* directory_monitor_properties[DIRECTORY_MONITOR_NUM_PROPERTIES]; #define DIRECTORY_MONITOR_TYPE_FTYPE (directory_monitor_ftype_get_type ()) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _directory_monitor_file_info_map_unref0(var) ((var == NULL) ? NULL : (var = (directory_monitor_file_info_map_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) typedef struct _DirectoryMonitorAsyncInternalNotifyDirectoryMovedData DirectoryMonitorAsyncInternalNotifyDirectoryMovedData; typedef struct _DirectoryMonitorAsyncNotifyDirectoryDeletedData DirectoryMonitorAsyncNotifyDirectoryDeletedData; #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) #define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL))) typedef struct _DirectoryMonitorExploreAsyncData DirectoryMonitorExploreAsyncData; typedef struct _DirectoryMonitorNotifyDirectoryFilesData DirectoryMonitorNotifyDirectoryFilesData; typedef struct _DirectoryMonitorQueryInfoQueueElementPrivate DirectoryMonitorQueryInfoQueueElementPrivate; #define _directory_monitor_query_info_queue_element_unref0(var) ((var == NULL) ? NULL : (var = (directory_monitor_query_info_queue_element_unref (var), NULL))) typedef struct _DirectoryMonitorParamSpecQueryInfoQueueElement DirectoryMonitorParamSpecQueryInfoQueueElement; typedef struct _DirectoryMonitorFileInfoMapPrivate DirectoryMonitorFileInfoMapPrivate; typedef struct _DirectoryMonitorParamSpecFileInfoMap DirectoryMonitorParamSpecFileInfoMap; enum { DIRECTORY_MONITOR_ROOT_MOVED_SIGNAL, DIRECTORY_MONITOR_ROOT_DELETED_SIGNAL, DIRECTORY_MONITOR_DISCOVERY_STARTED_SIGNAL, DIRECTORY_MONITOR_FILE_DISCOVERED_SIGNAL, DIRECTORY_MONITOR_DIRECTORY_DISCOVERED_SIGNAL, DIRECTORY_MONITOR_DISCOVERY_FAILED_SIGNAL, DIRECTORY_MONITOR_DISCOVERY_COMPLETED_SIGNAL, DIRECTORY_MONITOR_FILE_CREATED_SIGNAL, DIRECTORY_MONITOR_FILE_MOVED_SIGNAL, DIRECTORY_MONITOR_FILE_ALTERED_SIGNAL, DIRECTORY_MONITOR_FILE_ALTERATION_COMPLETED_SIGNAL, DIRECTORY_MONITOR_FILE_ATTRIBUTES_ALTERED_SIGNAL, DIRECTORY_MONITOR_FILE_DELETED_SIGNAL, DIRECTORY_MONITOR_DIRECTORY_CREATED_SIGNAL, DIRECTORY_MONITOR_DIRECTORY_MOVED_SIGNAL, DIRECTORY_MONITOR_DIRECTORY_ALTERED_SIGNAL, DIRECTORY_MONITOR_DIRECTORY_ALTERATION_COMPLETED_SIGNAL, DIRECTORY_MONITOR_DIRECTORY_ATTRIBUTES_ALTERED_SIGNAL, DIRECTORY_MONITOR_DIRECTORY_DELETED_SIGNAL, DIRECTORY_MONITOR_CLOSED_SIGNAL, DIRECTORY_MONITOR_NUM_SIGNALS }; static guint directory_monitor_signals[DIRECTORY_MONITOR_NUM_SIGNALS] = {0}; #define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); #define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } #define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } #define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); struct _DirectoryMonitor { GObject parent_instance; DirectoryMonitorPrivate * priv; }; struct _DirectoryMonitorClass { GObjectClass parent_class; void (*notify_root_deleted) (DirectoryMonitor* self, GFile* root); void (*notify_root_moved) (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info); void (*notify_discovery_started) (DirectoryMonitor* self); void (*internal_notify_file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info); void (*notify_file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info); void (*internal_notify_directory_discovered) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); void (*notify_directory_discovered) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); void (*notify_discovery_failed) (DirectoryMonitor* self, const gchar* reason); void (*notify_discovery_completed) (DirectoryMonitor* self); void (*notify_file_created) (DirectoryMonitor* self, GFile* file, GFileInfo* info); void (*notify_file_moved) (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); void (*notify_file_altered) (DirectoryMonitor* self, GFile* file); void (*notify_file_alteration_completed) (DirectoryMonitor* self, GFile* file, GFileInfo* info); void (*notify_file_attributes_altered) (DirectoryMonitor* self, GFile* file); void (*notify_file_deleted) (DirectoryMonitor* self, GFile* file); void (*notify_directory_created) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); void (*notify_directory_moved) (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info); void (*notify_directory_altered) (DirectoryMonitor* self, GFile* dir); void (*notify_directory_alteration_completed) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); void (*notify_directory_attributes_altered) (DirectoryMonitor* self, GFile* dir); void (*notify_directory_deleted) (DirectoryMonitor* self, GFile* dir); void (*notify_closed) (DirectoryMonitor* self); void (*close) (DirectoryMonitor* self); void (*root_moved) (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info); void (*root_deleted) (DirectoryMonitor* self, GFile* root); void (*discovery_started) (DirectoryMonitor* self); void (*file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info); void (*directory_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info); void (*discovery_failed) (DirectoryMonitor* self, const gchar* reason); void (*discovery_completed) (DirectoryMonitor* self); void (*file_created) (DirectoryMonitor* self, GFile* file, GFileInfo* info); void (*file_moved) (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); void (*file_altered) (DirectoryMonitor* self, GFile* file); void (*file_alteration_completed) (DirectoryMonitor* self, GFile* file, GFileInfo* info); void (*file_attributes_altered) (DirectoryMonitor* self, GFile* file); void (*file_deleted) (DirectoryMonitor* self, GFile* file); void (*directory_created) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); void (*directory_moved) (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info); void (*directory_altered) (DirectoryMonitor* self, GFile* dir); void (*directory_alteration_completed) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); void (*directory_attributes_altered) (DirectoryMonitor* self, GFile* dir); void (*directory_deleted) (DirectoryMonitor* self, GFile* dir); void (*closed) (DirectoryMonitor* self); }; struct _DirectoryMonitorPrivate { GFile* root; gboolean recurse; gboolean monitoring; GeeHashMap* monitors; GeeQueue* query_info_queue; DirectoryMonitorFileInfoMap* files; DirectoryMonitorFileInfoMap* parent_moved; GCancellable* cancellable; gint outstanding_exploration_dirs; gboolean started; gboolean has_discovery_started; guint delete_timer_id; }; typedef enum { DIRECTORY_MONITOR_FTYPE_FILE, DIRECTORY_MONITOR_FTYPE_DIRECTORY, DIRECTORY_MONITOR_FTYPE_UNSUPPORTED } DirectoryMonitorFType; struct _DirectoryMonitorAsyncInternalNotifyDirectoryMovedData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; GAsyncReadyCallback _callback_; gboolean _task_complete_; DirectoryMonitor* self; GFile* old_dir; GFileInfo* old_dir_info; GFile* new_dir; GFileInfo* new_dir_info; GeeArrayList* file_children; GeeArrayList* _tmp0_; GeeArrayList* dir_children; GeeArrayList* _tmp1_; gint count; DirectoryMonitorFileInfoMap* _tmp2_; GeeArrayList* _tmp3_; GeeArrayList* _tmp4_; gint _tmp5_; GeeArrayList* _dir_child_list; GeeArrayList* _tmp6_; GeeArrayList* _tmp7_; gint _dir_child_size; GeeArrayList* _tmp8_; gint _tmp9_; gint _tmp10_; gint _dir_child_index; gint _tmp11_; gint _tmp12_; gint _tmp13_; GFile* dir_child; GeeArrayList* _tmp14_; gint _tmp15_; gpointer _tmp16_; GFileInfo* dir_info; DirectoryMonitorFileInfoMap* _tmp17_; GFile* _tmp18_; GFileInfo* _tmp19_; GFileInfo* _tmp20_; GFile* _tmp21_; gchar* _tmp22_; gchar* _tmp23_; GFile* _tmp24_; GFileInfo* _tmp25_; GFile* _tmp26_; gchar* _tmp27_; gchar* _tmp28_; GFile* _tmp29_; GFile* _tmp30_; GFileInfo* _tmp31_; GeeArrayList* _file_child_list; GeeArrayList* _tmp32_; GeeArrayList* _tmp33_; gint _file_child_size; GeeArrayList* _tmp34_; gint _tmp35_; gint _tmp36_; gint _file_child_index; gint _tmp37_; gint _tmp38_; gint _tmp39_; GFile* file_child; GeeArrayList* _tmp40_; gint _tmp41_; gpointer _tmp42_; GFileInfo* file_info; DirectoryMonitorFileInfoMap* _tmp43_; GFile* _tmp44_; GFileInfo* _tmp45_; GFileInfo* _tmp46_; GFile* _tmp47_; gchar* _tmp48_; gchar* _tmp49_; GFile* _tmp50_; GFile* _tmp51_; gchar* _tmp52_; gchar* _tmp53_; GFile* _tmp54_; GFile* _tmp55_; GFileInfo* _tmp56_; DirectoryMonitorFileInfoMap* _tmp57_; gboolean updated; DirectoryMonitorFileInfoMap* _tmp58_; }; struct _DirectoryMonitorAsyncNotifyDirectoryDeletedData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; GAsyncReadyCallback _callback_; gboolean _task_complete_; DirectoryMonitor* self; GFile* dir; gboolean already_removed; GeeArrayList* file_children; GeeArrayList* _tmp0_; GeeArrayList* dir_children; GeeArrayList* _tmp1_; gint count; DirectoryMonitorFileInfoMap* _tmp2_; GeeArrayList* _tmp3_; GeeArrayList* _tmp4_; gint _tmp5_; GeeArrayList* _dir_child_list; GeeArrayList* _tmp6_; GeeArrayList* _tmp7_; gint _dir_child_size; GeeArrayList* _tmp8_; gint _tmp9_; gint _tmp10_; gint _dir_child_index; gint _tmp11_; gint _tmp12_; gint _tmp13_; GFile* dir_child; GeeArrayList* _tmp14_; gint _tmp15_; gpointer _tmp16_; GFile* _tmp17_; GeeArrayList* _file_child_list; GeeArrayList* _tmp18_; GeeArrayList* _tmp19_; gint _file_child_size; GeeArrayList* _tmp20_; gint _tmp21_; gint _tmp22_; gint _file_child_index; gint _tmp23_; gint _tmp24_; gint _tmp25_; GFile* file_child; GeeArrayList* _tmp26_; gint _tmp27_; gpointer _tmp28_; DirectoryMonitorFileInfoMap* _tmp29_; GFile* _tmp30_; GFile* _tmp31_; DirectoryMonitorFileInfoMap* _tmp32_; }; struct _DirectoryMonitorExploreAsyncData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; GAsyncReadyCallback _callback_; gboolean _task_complete_; DirectoryMonitor* self; GFile* dir; GFileInfo* dir_info; gboolean in_discovery; DirectoryMonitorFileInfoMap* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; GFileInfo* local_dir_info; GFileInfo* _tmp3_; GFileInfo* _tmp4_; GFileInfo* _tmp5_; GCancellable* _tmp6_; GFileInfo* _tmp7_; GFileInfo* _tmp8_; GError* err; gchar* _tmp9_; gchar* _tmp10_; GError* _tmp11_; const gchar* _tmp12_; GFileInfo* _tmp13_; gchar* _tmp14_; gchar* _tmp15_; GFileInfo* _tmp16_; gchar* _tmp17_; gchar* _tmp18_; gboolean _tmp19_; GFileInfo* _tmp20_; gchar* _tmp21_; gchar* _tmp22_; GFileInfo* _tmp23_; gchar* _tmp24_; gchar* _tmp25_; GFileInfo* _tmp26_; GEnumValue* _tmp27_; gchar* _tmp28_; gchar* _tmp29_; GeeHashMap* dir_map; GeeHashMap* file_map; GFileEnumerator* enumerator; GCancellable* _tmp30_; GFileEnumerator* _tmp31_; gboolean _tmp32_; GList* infos; GFileEnumerator* _tmp33_; GCancellable* _tmp34_; GList* _tmp35_; GList* _tmp36_; GList* _tmp37_; GList* info_collection; GList* info_it; GFileInfo* _tmp38_; GFileInfo* info; GFileInfo* _tmp39_; gchar* _tmp40_; gchar* _tmp41_; gboolean _tmp42_; GFileInfo* _tmp43_; gchar* _tmp44_; gchar* _tmp45_; GFileInfo* _tmp46_; GFileInfo* _tmp47_; const gchar* _tmp48_; GFile* _tmp49_; GFile* _tmp50_; gchar* _tmp51_; gchar* _tmp52_; GFileInfo* _tmp53_; GFileInfo* _tmp54_; GeeHashMap* _tmp55_; GeeHashMap* _tmp56_; GeeHashMap* _tmp57_; GFileInfo* _tmp58_; const gchar* _tmp59_; GFile* _tmp60_; GFile* _tmp61_; GFileInfo* _tmp62_; GeeHashMap* _tmp63_; GeeHashMap* _tmp64_; GeeHashMap* _tmp65_; GFileInfo* _tmp66_; const gchar* _tmp67_; GFile* _tmp68_; GFile* _tmp69_; GFileInfo* _tmp70_; GError* err2; gchar* _tmp71_; gchar* _tmp72_; GError* _tmp73_; const gchar* _tmp74_; GFileInfo* _tmp75_; GFileInfo* _tmp76_; GFileInfo* _tmp77_; GeeHashMap* _tmp78_; GeeHashMap* _tmp79_; gboolean _tmp80_; gboolean _tmp81_; GeeHashMap* _tmp82_; GeeIterator* _subdir_it; GeeHashMap* _tmp83_; GeeSet* _tmp84_; GeeSet* _tmp85_; GeeSet* _tmp86_; GeeIterator* _tmp87_; GeeIterator* _tmp88_; GeeIterator* _tmp89_; GFile* subdir; GeeIterator* _tmp90_; gpointer _tmp91_; gint _tmp92_; gint _tmp93_; GFile* _tmp94_; GeeHashMap* _tmp95_; GFile* _tmp96_; gpointer _tmp97_; GFileInfo* _tmp98_; GFile* _tmp99_; GeeHashMap* _tmp100_; GFile* _tmp101_; gpointer _tmp102_; GFileInfo* _tmp103_; GError * _inner_error_; }; struct _DirectoryMonitorNotifyDirectoryFilesData { int _state_; GObject* _source_object_; GAsyncResult* _res_; GTask* _async_result; GAsyncReadyCallback _callback_; gboolean _task_complete_; DirectoryMonitor* self; GeeMap* map; gboolean in_discovery; GeeMapIterator* iter; GeeMapIterator* _tmp0_; GeeMapIterator* _tmp1_; GeeMapIterator* _tmp2_; gpointer _tmp3_; GFile* _tmp4_; GeeMapIterator* _tmp5_; gpointer _tmp6_; GFileInfo* _tmp7_; GeeMapIterator* _tmp8_; gpointer _tmp9_; GFile* _tmp10_; GeeMapIterator* _tmp11_; gpointer _tmp12_; GFileInfo* _tmp13_; }; struct _DirectoryMonitorQueryInfoQueueElement { GTypeInstance parent_instance; volatile int ref_count; DirectoryMonitorQueryInfoQueueElementPrivate * priv; DirectoryMonitor* owner; GFile* file; GFile* other_file; GFileMonitorEvent event; guint position; gulong time_created_msec; GFileInfo* info; GError* err; gboolean completed; }; struct _DirectoryMonitorQueryInfoQueueElementClass { GTypeClass parent_class; void (*finalize) (DirectoryMonitorQueryInfoQueueElement *self); }; struct _DirectoryMonitorParamSpecQueryInfoQueueElement { GParamSpec parent_instance; }; struct _DirectoryMonitorFileInfoMap { GTypeInstance parent_instance; volatile int ref_count; DirectoryMonitorFileInfoMapPrivate * priv; }; struct _DirectoryMonitorFileInfoMapClass { GTypeClass parent_class; void (*finalize) (DirectoryMonitorFileInfoMap *self); }; struct _DirectoryMonitorFileInfoMapPrivate { GeeHashMap* map; GeeHashMap* id_map; }; struct _DirectoryMonitorParamSpecFileInfoMap { GParamSpec parent_instance; }; static gpointer directory_monitor_parent_class = NULL; static gpointer directory_monitor_query_info_queue_element_parent_class = NULL; static guint directory_monitor_query_info_queue_element_current; static guint directory_monitor_query_info_queue_element_current = (guint) 0; static gpointer directory_monitor_file_info_map_parent_class = NULL; GType directory_monitor_get_type (void) G_GNUC_CONST; static gpointer directory_monitor_query_info_queue_element_ref (gpointer instance); static void directory_monitor_query_info_queue_element_unref (gpointer instance); static GParamSpec* directory_monitor_param_spec_query_info_queue_element (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; static void directory_monitor_value_set_query_info_queue_element (GValue* value, gpointer v_object) G_GNUC_UNUSED; static void directory_monitor_value_take_query_info_queue_element (GValue* value, gpointer v_object) G_GNUC_UNUSED; static gpointer directory_monitor_value_get_query_info_queue_element (const GValue* value) G_GNUC_UNUSED; static GType directory_monitor_query_info_queue_element_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; static gpointer directory_monitor_file_info_map_ref (gpointer instance); static void directory_monitor_file_info_map_unref (gpointer instance); static GParamSpec* directory_monitor_param_spec_file_info_map (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; static void directory_monitor_value_set_file_info_map (GValue* value, gpointer v_object) G_GNUC_UNUSED; static void directory_monitor_value_take_file_info_map (GValue* value, gpointer v_object) G_GNUC_UNUSED; static gpointer directory_monitor_value_get_file_info_map (const GValue* value) G_GNUC_UNUSED; static GType directory_monitor_file_info_map_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; #define DIRECTORY_MONITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DIRECTORY_MONITOR, DirectoryMonitorPrivate)) static GType directory_monitor_ftype_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; static DirectoryMonitorFileInfoMap* directory_monitor_file_info_map_new (void); static DirectoryMonitorFileInfoMap* directory_monitor_file_info_map_construct (GType object_type); #define DIRECTORY_MONITOR_DEFAULT_PRIORITY G_PRIORITY_LOW #define DIRECTORY_MONITOR_DIR_INFO_FLAGS G_FILE_QUERY_INFO_NONE #define DIRECTORY_MONITOR_FILE_INFO_FLAGS G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS #define DIRECTORY_MONITOR_UNKNOWN_INFO_FLAGS G_FILE_QUERY_INFO_NONE #define DIRECTORY_MONITOR_SUPPORT_DIR_SYMLINKS TRUE #define DIRECTORY_MONITOR_SUPPORT_FILE_SYMLINKS FALSE #define UTIL_FILE_ATTRIBUTES "standard::*,time::*,id::file,id::filesystem,etag::value" #define DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES UTIL_FILE_ATTRIBUTES #define DIRECTORY_MONITOR_FILE_MONITOR_FLAGS G_FILE_MONITOR_SEND_MOVED #define DIRECTORY_MONITOR_DELETED_EXPIRATION_MSEC ((guint) 500) #define DIRECTORY_MONITOR_MAX_EXPLORATION_DIRS 5 DirectoryMonitor* directory_monitor_new (GFile* root, gboolean recurse, gboolean monitoring); DirectoryMonitor* directory_monitor_construct (GType object_type, GFile* root, gboolean recurse, gboolean monitoring); void directory_monitor_mdbg (const gchar* msg); gboolean directory_monitor_is_recursive (DirectoryMonitor* self); gboolean directory_monitor_is_monitoring (DirectoryMonitor* self); void directory_monitor_notify_root_deleted (DirectoryMonitor* self, GFile* root); static void directory_monitor_real_notify_root_deleted (DirectoryMonitor* self, GFile* root); static void directory_monitor_internal_notify_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info); static gboolean directory_monitor_file_info_map_remove (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info); static gboolean directory_monitor_file_info_map_update (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info); void directory_monitor_notify_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info); static void directory_monitor_real_notify_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info); void directory_monitor_notify_discovery_started (DirectoryMonitor* self); static void directory_monitor_real_notify_discovery_started (DirectoryMonitor* self); void directory_monitor_internal_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info); static void directory_monitor_real_internal_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info); void directory_monitor_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info); static void directory_monitor_real_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info); void directory_monitor_internal_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info); static void directory_monitor_real_internal_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info); void directory_monitor_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info); static void directory_monitor_real_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info); void directory_monitor_notify_discovery_failed (DirectoryMonitor* self, const gchar* reason); static void directory_monitor_real_notify_discovery_failed (DirectoryMonitor* self, const gchar* reason); void directory_monitor_notify_discovery_completed (DirectoryMonitor* self); static void directory_monitor_real_notify_discovery_completed (DirectoryMonitor* self); static void directory_monitor_internal_notify_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info); static gboolean directory_monitor_is_file_create_move (DirectoryMonitor* self, GFile* file, GFileInfo* info, GFile* * old_file, GFileInfo* * old_file_info); static void directory_monitor_internal_notify_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); void directory_monitor_notify_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info); static void directory_monitor_real_notify_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info); void directory_monitor_notify_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); static void directory_monitor_real_notify_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); void directory_monitor_notify_file_altered (DirectoryMonitor* self, GFile* file); static void directory_monitor_real_notify_file_altered (DirectoryMonitor* self, GFile* file); static void directory_monitor_internal_notify_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info); void directory_monitor_notify_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info); static void directory_monitor_real_notify_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info); void directory_monitor_notify_file_attributes_altered (DirectoryMonitor* self, GFile* file); static void directory_monitor_real_notify_file_attributes_altered (DirectoryMonitor* self, GFile* file); static void directory_monitor_internal_notify_file_deleted (DirectoryMonitor* self, GFile* file); void directory_monitor_notify_file_deleted (DirectoryMonitor* self, GFile* file); static void directory_monitor_real_notify_file_deleted (DirectoryMonitor* self, GFile* file); static void directory_monitor_internal_notify_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info); static void directory_monitor_file_info_map_remove_descendents (DirectoryMonitorFileInfoMap* self, GFile* root, DirectoryMonitorFileInfoMap* descendents); static void directory_monitor_internal_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFileInfo* old_dir_info, GFile* new_dir, GFileInfo* new_dir_info); void directory_monitor_notify_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info); static void directory_monitor_real_notify_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info); static void directory_monitor_async_internal_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFileInfo* old_dir_info, GFile* new_dir, GFileInfo* new_dir_info, GAsyncReadyCallback _callback_, gpointer _user_data_); static void directory_monitor_async_internal_notify_directory_moved_finish (DirectoryMonitor* self, GAsyncResult* _res_); static void directory_monitor_async_internal_notify_directory_moved_data_free (gpointer _data); static void directory_monitor_async_internal_notify_directory_moved_async_ready_wrapper (GObject *source_object, GAsyncResult *res, void *user_data); static gboolean directory_monitor_async_internal_notify_directory_moved_co (DirectoryMonitorAsyncInternalNotifyDirectoryMovedData* _data_); gboolean file_equal (GFile* a, GFile* b); static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); static gint directory_monitor_file_info_map_get_children (DirectoryMonitorFileInfoMap* self, GFile* root, GeeCollection* files, GeeCollection* dirs); static GFileInfo* directory_monitor_file_info_map_get_info (DirectoryMonitorFileInfoMap* self, GFile* file); static void directory_monitor_async_internal_notify_directory_moved_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); static gboolean _directory_monitor_async_internal_notify_directory_moved_co_gsource_func (gpointer self); static gboolean directory_monitor_remove_monitor (DirectoryMonitor* self, GFile* dir, GFileInfo* info); static gboolean directory_monitor_add_monitor (DirectoryMonitor* self, GFile* dir, GFileInfo* info); void directory_monitor_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info); static void directory_monitor_real_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info); void directory_monitor_notify_directory_altered (DirectoryMonitor* self, GFile* dir); static void directory_monitor_real_notify_directory_altered (DirectoryMonitor* self, GFile* dir); static void directory_monitor_internal_notify_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info); void directory_monitor_notify_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info); static void directory_monitor_real_notify_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info); void directory_monitor_notify_directory_attributes_altered (DirectoryMonitor* self, GFile* dir); static void directory_monitor_real_notify_directory_attributes_altered (DirectoryMonitor* self, GFile* dir); static void directory_monitor_internal_notify_directory_deleted (DirectoryMonitor* self, GFile* dir); static void directory_monitor_async_notify_directory_deleted (DirectoryMonitor* self, GFile* dir, gboolean already_removed, GAsyncReadyCallback _callback_, gpointer _user_data_); static void directory_monitor_async_notify_directory_deleted_finish (DirectoryMonitor* self, GAsyncResult* _res_); static void directory_monitor_async_notify_directory_deleted_data_free (gpointer _data); static void directory_monitor_async_notify_directory_deleted_async_ready_wrapper (GObject *source_object, GAsyncResult *res, void *user_data); static gboolean directory_monitor_async_notify_directory_deleted_co (DirectoryMonitorAsyncNotifyDirectoryDeletedData* _data_); static void directory_monitor_async_notify_directory_deleted_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); static gboolean _directory_monitor_async_notify_directory_deleted_co_gsource_func (gpointer self); void directory_monitor_notify_directory_deleted (DirectoryMonitor* self, GFile* dir); static void directory_monitor_real_notify_directory_deleted (DirectoryMonitor* self, GFile* dir); void directory_monitor_notify_closed (DirectoryMonitor* self); static void directory_monitor_real_notify_closed (DirectoryMonitor* self); GFile* directory_monitor_get_root (DirectoryMonitor* self); gboolean directory_monitor_is_in_root (DirectoryMonitor* self, GFile* file); gboolean directory_monitor_has_started (DirectoryMonitor* self); void directory_monitor_start_discovery (DirectoryMonitor* self); static void directory_monitor_explore_async (DirectoryMonitor* self, GFile* dir, GFileInfo* dir_info, gboolean in_discovery, GAsyncReadyCallback _callback_, gpointer _user_data_); static void directory_monitor_explore_finish (DirectoryMonitor* self, GAsyncResult* _res_); void directory_monitor_close (DirectoryMonitor* self); static void directory_monitor_real_close (DirectoryMonitor* self); static void directory_monitor_cancel_monitor (DirectoryMonitor* self, GFileMonitor* monitor); static DirectoryMonitorFType directory_monitor_get_ftype (GFileInfo* info); const gchar* g_file_type_to_string (GFileType self); static void directory_monitor_explore_async_data_free (gpointer _data); static void directory_monitor_explore_async_async_ready_wrapper (GObject *source_object, GAsyncResult *res, void *user_data); static gboolean directory_monitor_explore_async_co (DirectoryMonitorExploreAsyncData* _data_); static gboolean directory_monitor_file_info_map_contains (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info); static void directory_monitor_explore_directory_completed (DirectoryMonitor* self, gboolean in_discovery); static void directory_monitor_explore_async_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); gchar* get_file_info_id (GFileInfo* info); static void _g_object_unref0_ (gpointer var); static inline void _g_list_free__g_object_unref0_ (GList* self); gboolean directory_monitor_is_file_symlink_supported (GFileInfo* info); guint file_hash (GFile* file); static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self); static void directory_monitor_notify_directory_files (DirectoryMonitor* self, GeeMap* map, gboolean in_discovery, GAsyncReadyCallback _callback_, gpointer _user_data_); static void directory_monitor_notify_directory_files_finish (DirectoryMonitor* self, GAsyncResult* _res_); static void directory_monitor_notify_directory_files_data_free (gpointer _data); static void directory_monitor_notify_directory_files_async_ready_wrapper (GObject *source_object, GAsyncResult *res, void *user_data); static gboolean directory_monitor_notify_directory_files_co (DirectoryMonitorNotifyDirectoryFilesData* _data_); static gboolean _directory_monitor_notify_directory_files_co_gsource_func (gpointer self); static gchar* directory_monitor_file_info_map_get_id (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info); static void directory_monitor_on_monitor_notification (DirectoryMonitor* self, GFile* file, GFile* other_file, GFileMonitorEvent event); static void _directory_monitor_on_monitor_notification_g_file_monitor_changed (GFileMonitor* _sender, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer self); const gchar* g_file_monitor_event_to_string (GFileMonitorEvent self); static DirectoryMonitorQueryInfoQueueElement* directory_monitor_query_info_queue_element_new (DirectoryMonitor* owner, GFile* file, GFile* other_file, GFileMonitorEvent event); static DirectoryMonitorQueryInfoQueueElement* directory_monitor_query_info_queue_element_construct (GType object_type, DirectoryMonitor* owner, GFile* file, GFile* other_file, GFileMonitorEvent event); static void directory_monitor_query_info_queue_element_on_completed (DirectoryMonitorQueryInfoQueueElement* self, GObject* source, GAsyncResult* aresult); static void _directory_monitor_query_info_queue_element_on_completed_gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self); static gboolean directory_monitor_check_for_expired_delete_events (DirectoryMonitor* self); static gboolean _directory_monitor_check_for_expired_delete_events_gsource_func (gpointer self); static void directory_monitor_process_query_queue (DirectoryMonitor* self, DirectoryMonitorQueryInfoQueueElement* query_info); static GFile* directory_monitor_file_info_map_find_match (DirectoryMonitorFileInfoMap* self, GFileInfo* match); static void directory_monitor_on_monitor_notification_ready (DirectoryMonitor* self, GFile* file, GFile* other_file, GFileInfo* info, GFileMonitorEvent event); GFileInfo* directory_monitor_get_file_info (DirectoryMonitor* self, GFile* file); gulong now_ms (void); GeeCollection* directory_monitor_get_files (DirectoryMonitor* self); static GeeCollection* directory_monitor_file_info_map_get_all (DirectoryMonitorFileInfoMap* self); GFileInfo* directory_monitor_query_file_info (DirectoryMonitor* self, GFile* file); static GFileInfo* directory_monitor_file_info_map_query_info (DirectoryMonitorFileInfoMap* self, GFile* file, GCancellable* cancellable); static void directory_monitor_real_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info); static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); static void directory_monitor_real_root_deleted (DirectoryMonitor* self, GFile* root); static void directory_monitor_real_discovery_started (DirectoryMonitor* self); static void directory_monitor_real_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info); static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); static void directory_monitor_real_directory_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info); static void directory_monitor_real_discovery_failed (DirectoryMonitor* self, const gchar* reason); static void directory_monitor_real_discovery_completed (DirectoryMonitor* self); static void directory_monitor_real_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info); static void directory_monitor_real_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); static void directory_monitor_real_file_altered (DirectoryMonitor* self, GFile* file); static void directory_monitor_real_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info); static void directory_monitor_real_file_attributes_altered (DirectoryMonitor* self, GFile* file); static void directory_monitor_real_file_deleted (DirectoryMonitor* self, GFile* file); static void directory_monitor_real_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info); static void directory_monitor_real_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info); static void directory_monitor_real_directory_altered (DirectoryMonitor* self, GFile* dir); static void directory_monitor_real_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info); static void directory_monitor_real_directory_attributes_altered (DirectoryMonitor* self, GFile* dir); static void directory_monitor_real_directory_deleted (DirectoryMonitor* self, GFile* dir); static void directory_monitor_real_closed (DirectoryMonitor* self); static void directory_monitor_query_info_queue_element_finalize (DirectoryMonitorQueryInfoQueueElement * obj); #define DIRECTORY_MONITOR_FILE_INFO_MAP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP, DirectoryMonitorFileInfoMapPrivate)) static gboolean directory_monitor_file_info_map_normalize_file (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info, GFile* * normalized, gchar* * id); static void directory_monitor_file_info_map_remove_all (DirectoryMonitorFileInfoMap* self, GeeCollection* files); static void directory_monitor_file_info_map_finalize (DirectoryMonitorFileInfoMap * obj); static void directory_monitor_finalize (GObject * obj); static GType directory_monitor_ftype_get_type (void) { static volatile gsize directory_monitor_ftype_type_id__volatile = 0; if (g_once_init_enter (&directory_monitor_ftype_type_id__volatile)) { static const GEnumValue values[] = {{DIRECTORY_MONITOR_FTYPE_FILE, "DIRECTORY_MONITOR_FTYPE_FILE", "file"}, {DIRECTORY_MONITOR_FTYPE_DIRECTORY, "DIRECTORY_MONITOR_FTYPE_DIRECTORY", "directory"}, {DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "DIRECTORY_MONITOR_FTYPE_UNSUPPORTED", "unsupported"}, {0, NULL, NULL}}; GType directory_monitor_ftype_type_id; directory_monitor_ftype_type_id = g_enum_register_static ("DirectoryMonitorFType", values); g_once_init_leave (&directory_monitor_ftype_type_id__volatile, directory_monitor_ftype_type_id); } return directory_monitor_ftype_type_id__volatile; } static gpointer _g_object_ref0 (gpointer self) { #line 465 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return self ? g_object_ref (self) : NULL; #line 1028 "DirectoryMonitor.c" } DirectoryMonitor* directory_monitor_construct (GType object_type, GFile* root, gboolean recurse, gboolean monitoring) { DirectoryMonitor * self = NULL; GFile* _tmp0_; #line 464 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (root), NULL); #line 464 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self = (DirectoryMonitor*) g_object_new (object_type, NULL); #line 465 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = _g_object_ref0 (root); #line 465 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->priv->root); #line 465 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->root = _tmp0_; #line 466 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->recurse = recurse; #line 467 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->monitoring = monitoring; #line 464 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return self; #line 1056 "DirectoryMonitor.c" } DirectoryMonitor* directory_monitor_new (GFile* root, gboolean recurse, gboolean monitoring) { #line 464 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return directory_monitor_construct (TYPE_DIRECTORY_MONITOR, root, recurse, monitoring); #line 1067 "DirectoryMonitor.c" } void directory_monitor_mdbg (const gchar* msg) { #line 470 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (msg != NULL); #line 1076 "DirectoryMonitor.c" } gboolean directory_monitor_is_recursive (DirectoryMonitor* self) { gboolean result = FALSE; gboolean _tmp0_; #line 476 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); #line 477 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->recurse; #line 477 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = _tmp0_; #line 477 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 1093 "DirectoryMonitor.c" } gboolean directory_monitor_is_monitoring (DirectoryMonitor* self) { gboolean result = FALSE; gboolean _tmp0_; #line 480 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); #line 481 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->monitoring; #line 481 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = _tmp0_; #line 481 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 1110 "DirectoryMonitor.c" } static void directory_monitor_real_notify_root_deleted (DirectoryMonitor* self, GFile* root) { GFile* _tmp0_; #line 484 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (root)); #line 485 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->root; #line 485 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (g_file_equal (_tmp0_, root), "this.root.equal(root)"); #line 487 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg ("root deleted"); #line 488 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_ROOT_DELETED_SIGNAL], 0, root); #line 1129 "DirectoryMonitor.c" } void directory_monitor_notify_root_deleted (DirectoryMonitor* self, GFile* root) { #line 484 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 484 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_root_deleted (self, root); #line 1141 "DirectoryMonitor.c" } static void directory_monitor_internal_notify_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info) { gboolean removed = FALSE; DirectoryMonitorFileInfoMap* _tmp0_; gboolean updated = FALSE; DirectoryMonitorFileInfoMap* _tmp1_; GFile* _tmp2_; #line 491 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 491 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (old_root)); #line 491 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (new_root)); #line 491 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (new_root_info)); #line 492 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->files; #line 492 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" removed = directory_monitor_file_info_map_remove (_tmp0_, old_root, NULL); #line 493 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (removed, "removed"); #line 495 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = self->priv->files; #line 495 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" updated = directory_monitor_file_info_map_update (_tmp1_, new_root, new_root_info); #line 496 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (updated, "updated"); #line 498 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = _g_object_ref0 (new_root); #line 498 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->priv->root); #line 498 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->root = _tmp2_; #line 500 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_root_moved (self, old_root, new_root, new_root_info); #line 1184 "DirectoryMonitor.c" } static void directory_monitor_real_notify_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info) { GFile* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; #line 503 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (old_root)); #line 503 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (new_root)); #line 503 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (new_root_info)); #line 504 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->root; #line 504 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (g_file_equal (_tmp0_, old_root), "this.root.equal(old_root)"); #line 506 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = g_file_get_path (old_root); #line 506 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = _tmp1_; #line 506 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = g_file_get_path (new_root); #line 506 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = _tmp3_; #line 506 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = g_strdup_printf ("root moved: %s -> %s", _tmp2_, _tmp4_); #line 506 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = _tmp5_; #line 506 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp6_); #line 506 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp6_); #line 506 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp4_); #line 506 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp2_); #line 507 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_ROOT_MOVED_SIGNAL], 0, old_root, new_root, new_root_info); #line 1233 "DirectoryMonitor.c" } void directory_monitor_notify_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info) { #line 503 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 503 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_root_moved (self, old_root, new_root, new_root_info); #line 1247 "DirectoryMonitor.c" } static void directory_monitor_real_notify_discovery_started (DirectoryMonitor* self) { #line 511 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg ("discovery started"); #line 512 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_DISCOVERY_STARTED_SIGNAL], 0); #line 1258 "DirectoryMonitor.c" } void directory_monitor_notify_discovery_started (DirectoryMonitor* self) { #line 510 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 510 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_discovery_started (self); #line 1269 "DirectoryMonitor.c" } static void directory_monitor_real_internal_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info) { DirectoryMonitorFileInfoMap* _tmp0_; #line 515 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 515 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 516 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->files; #line 516 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!directory_monitor_file_info_map_update (_tmp0_, file, info)) { #line 1287 "DirectoryMonitor.c" gchar* _tmp1_; gchar* _tmp2_; #line 517 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = g_file_get_path (file); #line 517 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = _tmp1_; #line 517 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_debug ("DirectoryMonitor.vala:517: DirectoryMonitor.internal_notify_file_disco" \ "vered: %s discovered but not added to file map", _tmp2_); #line 517 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp2_); #line 520 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return; #line 1300 "DirectoryMonitor.c" } #line 523 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_file_discovered (self, file, info); #line 1304 "DirectoryMonitor.c" } void directory_monitor_internal_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info) { #line 515 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 515 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->internal_notify_file_discovered (self, file, info); #line 1317 "DirectoryMonitor.c" } static void directory_monitor_real_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 526 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 526 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 527 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = g_file_get_path (file); #line 527 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp0_; #line 527 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_strdup_printf ("file discovered: %s", _tmp1_); #line 527 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 527 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp3_); #line 527 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp3_); #line 527 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp1_); #line 528 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_FILE_DISCOVERED_SIGNAL], 0, file, info); #line 1350 "DirectoryMonitor.c" } void directory_monitor_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info) { #line 526 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 526 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_file_discovered (self, file, info); #line 1363 "DirectoryMonitor.c" } static void directory_monitor_real_internal_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { gboolean updated = FALSE; DirectoryMonitorFileInfoMap* _tmp0_; #line 531 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 531 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 532 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->files; #line 532 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" updated = directory_monitor_file_info_map_update (_tmp0_, dir, info); #line 533 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (updated, "updated"); #line 535 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_directory_discovered (self, dir, info); #line 1386 "DirectoryMonitor.c" } void directory_monitor_internal_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { #line 531 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 531 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->internal_notify_directory_discovered (self, dir, info); #line 1399 "DirectoryMonitor.c" } static void directory_monitor_real_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 538 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 538 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 539 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = g_file_get_path (dir); #line 539 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp0_; #line 539 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_strdup_printf ("directory discovered: %s", _tmp1_); #line 539 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 539 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp3_); #line 539 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp3_); #line 539 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp1_); #line 540 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_DIRECTORY_DISCOVERED_SIGNAL], 0, dir, info); #line 1432 "DirectoryMonitor.c" } void directory_monitor_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { #line 538 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 538 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_directory_discovered (self, dir, info); #line 1445 "DirectoryMonitor.c" } static void directory_monitor_real_notify_discovery_failed (DirectoryMonitor* self, const gchar* reason) { #line 543 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (reason != NULL); #line 544 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:544: discovery failed: %s", reason); #line 545 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_DISCOVERY_FAILED_SIGNAL], 0, reason); #line 1459 "DirectoryMonitor.c" } void directory_monitor_notify_discovery_failed (DirectoryMonitor* self, const gchar* reason) { #line 543 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 543 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_discovery_failed (self, reason); #line 1471 "DirectoryMonitor.c" } static void directory_monitor_real_notify_discovery_completed (DirectoryMonitor* self) { #line 549 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_DISCOVERY_COMPLETED_SIGNAL], 0); #line 1480 "DirectoryMonitor.c" } void directory_monitor_notify_discovery_completed (DirectoryMonitor* self) { #line 548 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 548 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_discovery_completed (self); #line 1491 "DirectoryMonitor.c" } static void directory_monitor_internal_notify_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info) { GFile* old_file = NULL; GFileInfo* old_file_info = NULL; GFile* _tmp0_ = NULL; GFileInfo* _tmp1_ = NULL; gboolean _tmp2_; #line 552 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 552 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 552 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 555 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = directory_monitor_is_file_create_move (self, file, info, &_tmp0_, &_tmp1_); #line 555 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (old_file); #line 555 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" old_file = _tmp0_; #line 555 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (old_file_info); #line 555 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" old_file_info = _tmp1_; #line 555 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp2_) { #line 1523 "DirectoryMonitor.c" GFile* _tmp3_; #line 556 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = old_file; #line 556 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_file_moved (self, _tmp3_, file, info); #line 1529 "DirectoryMonitor.c" } else { gboolean updated = FALSE; DirectoryMonitorFileInfoMap* _tmp4_; gboolean _tmp5_; #line 558 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = self->priv->files; #line 558 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" updated = directory_monitor_file_info_map_update (_tmp4_, file, info); #line 559 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = updated; #line 559 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp5_, "updated"); #line 561 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_file_created (self, file, info); #line 1544 "DirectoryMonitor.c" } #line 552 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (old_file_info); #line 552 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (old_file); #line 1550 "DirectoryMonitor.c" } static void directory_monitor_real_notify_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 565 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 565 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 566 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = g_file_get_path (file); #line 566 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp0_; #line 566 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_strdup_printf ("file created: %s", _tmp1_); #line 566 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 566 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp3_); #line 566 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp3_); #line 566 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp1_); #line 567 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_FILE_CREATED_SIGNAL], 0, file, info); #line 1583 "DirectoryMonitor.c" } void directory_monitor_notify_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info) { #line 565 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 565 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_file_created (self, file, info); #line 1596 "DirectoryMonitor.c" } static void directory_monitor_internal_notify_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info) { DirectoryMonitorFileInfoMap* _tmp0_; gboolean updated = FALSE; DirectoryMonitorFileInfoMap* _tmp1_; #line 570 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 570 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (old_file)); #line 570 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (new_file)); #line 570 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (new_file_info)); #line 573 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->files; #line 573 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_file_info_map_remove (_tmp0_, old_file, NULL); #line 575 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = self->priv->files; #line 575 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" updated = directory_monitor_file_info_map_update (_tmp1_, new_file, new_file_info); #line 576 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (updated, "updated"); #line 578 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_file_moved (self, old_file, new_file, new_file_info); #line 1629 "DirectoryMonitor.c" } static void directory_monitor_real_notify_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; gchar* _tmp5_; #line 581 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (old_file)); #line 581 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (new_file)); #line 581 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (new_file_info)); #line 582 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = g_file_get_path (old_file); #line 582 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp0_; #line 582 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_file_get_path (new_file); #line 582 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 582 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = g_strdup_printf ("file moved: %s -> %s", _tmp1_, _tmp3_); #line 582 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = _tmp4_; #line 582 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp5_); #line 582 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp5_); #line 582 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp3_); #line 582 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp1_); #line 583 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_FILE_MOVED_SIGNAL], 0, old_file, new_file, new_file_info); #line 1673 "DirectoryMonitor.c" } void directory_monitor_notify_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info) { #line 581 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 581 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_file_moved (self, old_file, new_file, new_file_info); #line 1687 "DirectoryMonitor.c" } static void directory_monitor_real_notify_file_altered (DirectoryMonitor* self, GFile* file) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 586 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 587 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = g_file_get_path (file); #line 587 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp0_; #line 587 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_strdup_printf ("file altered: %s", _tmp1_); #line 587 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 587 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp3_); #line 587 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp3_); #line 587 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp1_); #line 588 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_FILE_ALTERED_SIGNAL], 0, file); #line 1717 "DirectoryMonitor.c" } void directory_monitor_notify_file_altered (DirectoryMonitor* self, GFile* file) { #line 586 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 586 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_file_altered (self, file); #line 1729 "DirectoryMonitor.c" } static void directory_monitor_internal_notify_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info) { gboolean updated = FALSE; DirectoryMonitorFileInfoMap* _tmp0_; #line 591 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 591 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 591 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 592 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->files; #line 592 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" updated = directory_monitor_file_info_map_update (_tmp0_, file, info); #line 593 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (updated, "updated"); #line 595 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_file_alteration_completed (self, file, info); #line 1754 "DirectoryMonitor.c" } static void directory_monitor_real_notify_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 598 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 598 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 599 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = g_file_get_path (file); #line 599 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp0_; #line 599 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_strdup_printf ("file alteration completed: %s", _tmp1_); #line 599 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 599 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp3_); #line 599 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp3_); #line 599 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp1_); #line 600 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_FILE_ALTERATION_COMPLETED_SIGNAL], 0, file, info); #line 1787 "DirectoryMonitor.c" } void directory_monitor_notify_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info) { #line 598 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 598 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_file_alteration_completed (self, file, info); #line 1800 "DirectoryMonitor.c" } static void directory_monitor_real_notify_file_attributes_altered (DirectoryMonitor* self, GFile* file) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 603 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 604 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = g_file_get_path (file); #line 604 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp0_; #line 604 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_strdup_printf ("file attributes altered: %s", _tmp1_); #line 604 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 604 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp3_); #line 604 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp3_); #line 604 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp1_); #line 605 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_FILE_ATTRIBUTES_ALTERED_SIGNAL], 0, file); #line 1830 "DirectoryMonitor.c" } void directory_monitor_notify_file_attributes_altered (DirectoryMonitor* self, GFile* file) { #line 603 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 603 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_file_attributes_altered (self, file); #line 1842 "DirectoryMonitor.c" } static void directory_monitor_internal_notify_file_deleted (DirectoryMonitor* self, GFile* file) { gboolean removed = FALSE; DirectoryMonitorFileInfoMap* _tmp0_; #line 608 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 608 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 609 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->files; #line 609 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" removed = directory_monitor_file_info_map_remove (_tmp0_, file, NULL); #line 610 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (removed, "removed"); #line 612 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_file_deleted (self, file); #line 1864 "DirectoryMonitor.c" } static void directory_monitor_real_notify_file_deleted (DirectoryMonitor* self, GFile* file) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 615 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 616 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = g_file_get_path (file); #line 616 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp0_; #line 616 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_strdup_printf ("file deleted: %s", _tmp1_); #line 616 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 616 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp3_); #line 616 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp3_); #line 616 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp1_); #line 617 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_FILE_DELETED_SIGNAL], 0, file); #line 1894 "DirectoryMonitor.c" } void directory_monitor_notify_file_deleted (DirectoryMonitor* self, GFile* file) { #line 615 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 615 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_file_deleted (self, file); #line 1906 "DirectoryMonitor.c" } static void directory_monitor_internal_notify_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { GFile* old_dir = NULL; GFileInfo* old_dir_info = NULL; GFile* _tmp0_ = NULL; GFileInfo* _tmp1_ = NULL; gboolean _tmp2_; #line 620 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 620 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 620 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 623 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = directory_monitor_is_file_create_move (self, dir, info, &_tmp0_, &_tmp1_); #line 623 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (old_dir); #line 623 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" old_dir = _tmp0_; #line 623 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (old_dir_info); #line 623 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" old_dir_info = _tmp1_; #line 623 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp2_) { #line 1938 "DirectoryMonitor.c" DirectoryMonitorFileInfoMap* _tmp3_; GFile* _tmp4_; DirectoryMonitorFileInfoMap* _tmp5_; GFile* _tmp6_; GFileInfo* _tmp7_; #line 629 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = self->priv->files; #line 629 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = old_dir; #line 629 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = self->priv->parent_moved; #line 629 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_file_info_map_remove_descendents (_tmp3_, _tmp4_, _tmp5_); #line 631 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = old_dir; #line 631 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = old_dir_info; #line 631 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_directory_moved (self, _tmp6_, _tmp7_, dir, info); #line 1958 "DirectoryMonitor.c" } else { gboolean updated = FALSE; DirectoryMonitorFileInfoMap* _tmp8_; gboolean _tmp9_; #line 633 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = self->priv->files; #line 633 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" updated = directory_monitor_file_info_map_update (_tmp8_, dir, info); #line 634 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = updated; #line 634 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp9_, "updated"); #line 636 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_directory_created (self, dir, info); #line 1973 "DirectoryMonitor.c" } #line 620 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (old_dir_info); #line 620 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (old_dir); #line 1979 "DirectoryMonitor.c" } static void directory_monitor_real_notify_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 640 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 640 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 641 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = g_file_get_path (dir); #line 641 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp0_; #line 641 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_strdup_printf ("directory created: %s", _tmp1_); #line 641 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 641 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp3_); #line 641 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp3_); #line 641 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp1_); #line 642 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_DIRECTORY_CREATED_SIGNAL], 0, dir, info); #line 2012 "DirectoryMonitor.c" } void directory_monitor_notify_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { #line 640 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 640 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_directory_created (self, dir, info); #line 2025 "DirectoryMonitor.c" } static void directory_monitor_internal_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFileInfo* old_dir_info, GFile* new_dir, GFileInfo* new_dir_info) { #line 645 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 645 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (old_dir)); #line 645 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (old_dir_info)); #line 645 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (new_dir)); #line 645 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (new_dir_info)); #line 647 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_async_internal_notify_directory_moved (self, old_dir, old_dir_info, new_dir, new_dir_info, NULL, NULL); #line 2048 "DirectoryMonitor.c" } static void directory_monitor_async_internal_notify_directory_moved_data_free (gpointer _data) { DirectoryMonitorAsyncInternalNotifyDirectoryMovedData* _data_; _data_ = _data; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->old_dir); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->old_dir_info); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->new_dir); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->new_dir_info); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->self); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_slice_free (DirectoryMonitorAsyncInternalNotifyDirectoryMovedData, _data_); #line 2069 "DirectoryMonitor.c" } static void directory_monitor_async_internal_notify_directory_moved_async_ready_wrapper (GObject *source_object, GAsyncResult *res, void *user_data) { DirectoryMonitorAsyncInternalNotifyDirectoryMovedData* _task_data_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _task_data_ = g_task_get_task_data (G_TASK (res)); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_task_data_->_callback_ != NULL) { #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _task_data_->_callback_ (source_object, res, user_data); #line 2085 "DirectoryMonitor.c" } #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _task_data_->_task_complete_ = TRUE; #line 2089 "DirectoryMonitor.c" } static void directory_monitor_async_internal_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFileInfo* old_dir_info, GFile* new_dir, GFileInfo* new_dir_info, GAsyncReadyCallback _callback_, gpointer _user_data_) { DirectoryMonitorAsyncInternalNotifyDirectoryMovedData* _data_; DirectoryMonitor* _tmp0_; GFile* _tmp1_; GFileInfo* _tmp2_; GFile* _tmp3_; GFileInfo* _tmp4_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_ = g_slice_new0 (DirectoryMonitorAsyncInternalNotifyDirectoryMovedData); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_callback_ = _callback_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_async_result = g_task_new (G_OBJECT (self), NULL, directory_monitor_async_internal_notify_directory_moved_async_ready_wrapper, _user_data_); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_callback_ == NULL) { #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_task_complete_ = TRUE; #line 2118 "DirectoryMonitor.c" } #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_task_set_task_data (_data_->_async_result, _data_, directory_monitor_async_internal_notify_directory_moved_data_free); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = _g_object_ref0 (self); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->self = _tmp0_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _g_object_ref0 (old_dir); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->old_dir); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->old_dir = _tmp1_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = _g_object_ref0 (old_dir_info); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->old_dir_info); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->old_dir_info = _tmp2_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _g_object_ref0 (new_dir); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->new_dir); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->new_dir = _tmp3_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = _g_object_ref0 (new_dir_info); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->new_dir_info); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->new_dir_info = _tmp4_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_async_internal_notify_directory_moved_co (_data_); #line 2152 "DirectoryMonitor.c" } static void directory_monitor_async_internal_notify_directory_moved_finish (DirectoryMonitor* self, GAsyncResult* _res_) { DirectoryMonitorAsyncInternalNotifyDirectoryMovedData* _data_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); #line 2163 "DirectoryMonitor.c" } static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { gboolean result; result = file_equal ((GFile*) a, (GFile*) b); #line 652 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 2176 "DirectoryMonitor.c" } static void directory_monitor_async_internal_notify_directory_moved_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { DirectoryMonitorAsyncInternalNotifyDirectoryMovedData* _data_; #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_ = _user_data_; #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_source_object_ = source_object; #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_res_ = _res_; #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_task_complete_ = TRUE; #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_async_internal_notify_directory_moved_co (_data_); #line 2196 "DirectoryMonitor.c" } static gboolean _directory_monitor_async_internal_notify_directory_moved_co_gsource_func (gpointer self) { gboolean result; result = directory_monitor_async_internal_notify_directory_moved_co (self); #line 683 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 2207 "DirectoryMonitor.c" } static gboolean directory_monitor_async_internal_notify_directory_moved_co (DirectoryMonitorAsyncInternalNotifyDirectoryMovedData* _data_) { #line 650 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (_data_->_state_) { #line 650 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case 0: #line 2218 "DirectoryMonitor.c" goto _state_0; #line 650 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case 1: #line 2222 "DirectoryMonitor.c" goto _state_1; #line 650 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case 2: #line 2226 "DirectoryMonitor.c" goto _state_2; default: #line 650 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_assert_not_reached (); #line 2231 "DirectoryMonitor.c" } _state_0: #line 652 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp0_ = gee_array_list_new (g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _file_equal_gee_equal_data_func, NULL, NULL); #line 652 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->file_children = _data_->_tmp0_; #line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp1_ = gee_array_list_new (g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _file_equal_gee_equal_data_func, NULL, NULL); #line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->dir_children = _data_->_tmp1_; #line 654 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp2_ = _data_->self->priv->files; #line 654 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp3_ = _data_->file_children; #line 654 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp4_ = _data_->dir_children; #line 654 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->count = directory_monitor_file_info_map_get_children (_data_->_tmp2_, _data_->old_dir, G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp3_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); #line 655 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp5_ = _data_->count; #line 655 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_tmp5_ > 0) { #line 2254 "DirectoryMonitor.c" { #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp6_ = _data_->dir_children; #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp7_ = _g_object_ref0 (_data_->_tmp6_); #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_dir_child_list = _data_->_tmp7_; #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp8_ = _data_->_dir_child_list; #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp9_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp8_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp10_ = _data_->_tmp9_; #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_dir_child_size = _data_->_tmp10_; #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_dir_child_index = -1; #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp11_ = _data_->_dir_child_index; #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_dir_child_index = _data_->_tmp11_ + 1; #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp12_ = _data_->_dir_child_index; #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp13_ = _data_->_dir_child_size; #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!(_data_->_tmp12_ < _data_->_tmp13_)) { #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 2286 "DirectoryMonitor.c" } #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp14_ = _data_->_dir_child_list; #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp15_ = _data_->_dir_child_index; #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp16_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp14_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _data_->_tmp15_); #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->dir_child = (GFile*) _data_->_tmp16_; #line 660 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp17_ = _data_->self->priv->files; #line 660 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp18_ = _data_->dir_child; #line 660 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp19_ = directory_monitor_file_info_map_get_info (_data_->_tmp17_, _data_->_tmp18_); #line 660 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->dir_info = _data_->_tmp19_; #line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp20_ = _data_->dir_info; #line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_tmp20_ == NULL) { #line 662 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp21_ = _data_->dir_child; #line 662 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp22_ = g_file_get_path (_data_->_tmp21_); #line 662 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp23_ = _data_->_tmp22_; #line 662 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:662: Unable to retrieve directory-moved info for" \ " %s", _data_->_tmp23_); #line 662 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp23_); #line 664 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir_info); #line 664 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir_child); #line 664 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" continue; #line 2324 "DirectoryMonitor.c" } #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp24_ = _data_->dir_child; #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp25_ = _data_->dir_info; #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp26_ = _data_->dir_child; #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp27_ = g_file_get_basename (_data_->_tmp26_); #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp28_ = _data_->_tmp27_; #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp29_ = g_file_get_child (_data_->new_dir, _data_->_tmp28_); #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp30_ = _data_->_tmp29_; #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp31_ = _data_->dir_info; #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_state_ = 1; #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_async_internal_notify_directory_moved (_data_->self, _data_->_tmp24_, _data_->_tmp25_, _data_->_tmp30_, _data_->_tmp31_, directory_monitor_async_internal_notify_directory_moved_ready, _data_); #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 2348 "DirectoryMonitor.c" _state_1: #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_async_internal_notify_directory_moved_finish (_data_->self, _data_->_res_); #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_tmp30_); #line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp28_); #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir_info); #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir_child); #line 2360 "DirectoryMonitor.c" } #line 659 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_dir_child_list); #line 2364 "DirectoryMonitor.c" } { #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp32_ = _data_->file_children; #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp33_ = _g_object_ref0 (_data_->_tmp32_); #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_file_child_list = _data_->_tmp33_; #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp34_ = _data_->_file_child_list; #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp35_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp34_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp36_ = _data_->_tmp35_; #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_file_child_size = _data_->_tmp36_; #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_file_child_index = -1; #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp37_ = _data_->_file_child_index; #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_file_child_index = _data_->_tmp37_ + 1; #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp38_ = _data_->_file_child_index; #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp39_ = _data_->_file_child_size; #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!(_data_->_tmp38_ < _data_->_tmp39_)) { #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 2397 "DirectoryMonitor.c" } #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp40_ = _data_->_file_child_list; #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp41_ = _data_->_file_child_index; #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp42_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp40_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _data_->_tmp41_); #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->file_child = (GFile*) _data_->_tmp42_; #line 673 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp43_ = _data_->self->priv->files; #line 673 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp44_ = _data_->file_child; #line 673 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp45_ = directory_monitor_file_info_map_get_info (_data_->_tmp43_, _data_->_tmp44_); #line 673 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->file_info = _data_->_tmp45_; #line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp46_ = _data_->file_info; #line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_tmp46_ == NULL) { #line 675 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp47_ = _data_->file_child; #line 675 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp48_ = g_file_get_path (_data_->_tmp47_); #line 675 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp49_ = _data_->_tmp48_; #line 675 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:675: Unable to retrieve directory-moved info for" \ " %s", _data_->_tmp49_); #line 675 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp49_); #line 677 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->file_info); #line 677 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->file_child); #line 677 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" continue; #line 2435 "DirectoryMonitor.c" } #line 680 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp50_ = _data_->file_child; #line 680 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp51_ = _data_->file_child; #line 680 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp52_ = g_file_get_basename (_data_->_tmp51_); #line 680 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp53_ = _data_->_tmp52_; #line 680 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp54_ = g_file_get_child (_data_->new_dir, _data_->_tmp53_); #line 680 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp55_ = _data_->_tmp54_; #line 680 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp56_ = _data_->file_info; #line 680 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_file_moved (_data_->self, _data_->_tmp50_, _data_->_tmp55_, _data_->_tmp56_); #line 680 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_tmp55_); #line 680 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp53_); #line 683 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_idle_add_full (DIRECTORY_MONITOR_DEFAULT_PRIORITY, _directory_monitor_async_internal_notify_directory_moved_co_gsource_func, _data_, NULL); #line 684 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_state_ = 2; #line 684 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 2463 "DirectoryMonitor.c" _state_2: ; #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->file_info); #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->file_child); #line 2470 "DirectoryMonitor.c" } #line 672 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_file_child_list); #line 2474 "DirectoryMonitor.c" } } #line 690 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp57_ = _data_->self->priv->files; #line 690 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_file_info_map_remove (_data_->_tmp57_, _data_->old_dir, NULL); #line 692 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp58_ = _data_->self->priv->files; #line 692 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->updated = directory_monitor_file_info_map_update (_data_->_tmp58_, _data_->new_dir, _data_->new_dir_info); #line 693 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_data_->updated, "updated"); #line 696 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_remove_monitor (_data_->self, _data_->old_dir, _data_->old_dir_info); #line 697 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_add_monitor (_data_->self, _data_->new_dir, _data_->new_dir_info); #line 699 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_directory_moved (_data_->self, _data_->old_dir, _data_->new_dir, _data_->new_dir_info); #line 650 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir_children); #line 650 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->file_children); #line 650 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_task_return_pointer (_data_->_async_result, _data_, NULL); #line 650 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_state_ != 0) { #line 650 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (_data_->_task_complete_ != TRUE) { #line 650 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE); #line 2505 "DirectoryMonitor.c" } } #line 650 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_object_unref (_data_->_async_result); #line 650 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 2512 "DirectoryMonitor.c" } static void directory_monitor_real_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; gchar* _tmp5_; GFile* _tmp6_; #line 702 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (old_dir)); #line 702 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (new_dir)); #line 702 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (new_dir_info)); #line 703 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = g_file_get_path (old_dir); #line 703 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp0_; #line 703 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_file_get_path (new_dir); #line 703 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 703 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = g_strdup_printf ("directory moved: %s -> %s", _tmp1_, _tmp3_); #line 703 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = _tmp4_; #line 703 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp5_); #line 703 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp5_); #line 703 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp3_); #line 703 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp1_); #line 704 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_DIRECTORY_MOVED_SIGNAL], 0, old_dir, new_dir, new_dir_info); #line 706 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = self->priv->root; #line 706 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (g_file_equal (old_dir, _tmp6_)) { #line 707 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_root_moved (self, old_dir, new_dir, new_dir_info); #line 2563 "DirectoryMonitor.c" } } void directory_monitor_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info) { #line 702 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 702 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_directory_moved (self, old_dir, new_dir, new_dir_info); #line 2578 "DirectoryMonitor.c" } static void directory_monitor_real_notify_directory_altered (DirectoryMonitor* self, GFile* dir) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 710 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 711 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = g_file_get_path (dir); #line 711 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp0_; #line 711 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_strdup_printf ("directory altered: %s", _tmp1_); #line 711 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 711 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp3_); #line 711 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp3_); #line 711 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp1_); #line 712 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_DIRECTORY_ALTERED_SIGNAL], 0, dir); #line 2608 "DirectoryMonitor.c" } void directory_monitor_notify_directory_altered (DirectoryMonitor* self, GFile* dir) { #line 710 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 710 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_directory_altered (self, dir); #line 2620 "DirectoryMonitor.c" } static void directory_monitor_internal_notify_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { gboolean updated = FALSE; DirectoryMonitorFileInfoMap* _tmp0_; #line 715 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 715 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 715 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 716 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->files; #line 716 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" updated = directory_monitor_file_info_map_update (_tmp0_, dir, info); #line 717 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (updated, "updated"); #line 719 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_directory_alteration_completed (self, dir, info); #line 2645 "DirectoryMonitor.c" } static void directory_monitor_real_notify_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 722 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 722 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 723 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = g_file_get_path (dir); #line 723 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp0_; #line 723 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_strdup_printf ("directory alteration completed: %s", _tmp1_); #line 723 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 723 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp3_); #line 723 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp3_); #line 723 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp1_); #line 724 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_DIRECTORY_ALTERATION_COMPLETED_SIGNAL], 0, dir, info); #line 2678 "DirectoryMonitor.c" } void directory_monitor_notify_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { #line 722 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 722 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_directory_alteration_completed (self, dir, info); #line 2691 "DirectoryMonitor.c" } static void directory_monitor_real_notify_directory_attributes_altered (DirectoryMonitor* self, GFile* dir) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; #line 727 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 728 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = g_file_get_path (dir); #line 728 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp0_; #line 728 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_strdup_printf ("directory attributes altered: %s", _tmp1_); #line 728 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 728 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp3_); #line 728 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp3_); #line 728 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp1_); #line 729 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_DIRECTORY_ATTRIBUTES_ALTERED_SIGNAL], 0, dir); #line 2721 "DirectoryMonitor.c" } void directory_monitor_notify_directory_attributes_altered (DirectoryMonitor* self, GFile* dir) { #line 727 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 727 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_directory_attributes_altered (self, dir); #line 2733 "DirectoryMonitor.c" } static void directory_monitor_internal_notify_directory_deleted (DirectoryMonitor* self, GFile* dir) { GFileInfo* info = NULL; DirectoryMonitorFileInfoMap* _tmp0_; GFileInfo* _tmp1_; #line 732 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 732 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 733 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->files; #line 733 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = directory_monitor_file_info_map_get_info (_tmp0_, dir); #line 733 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" info = _tmp1_; #line 734 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (info != NULL, "info != null"); #line 737 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_remove_monitor (self, dir, info); #line 739 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_async_notify_directory_deleted (self, dir, FALSE, NULL, NULL); #line 732 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (info); #line 2762 "DirectoryMonitor.c" } static void directory_monitor_async_notify_directory_deleted_data_free (gpointer _data) { DirectoryMonitorAsyncNotifyDirectoryDeletedData* _data_; _data_ = _data; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->self); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_slice_free (DirectoryMonitorAsyncNotifyDirectoryDeletedData, _data_); #line 2777 "DirectoryMonitor.c" } static void directory_monitor_async_notify_directory_deleted_async_ready_wrapper (GObject *source_object, GAsyncResult *res, void *user_data) { DirectoryMonitorAsyncNotifyDirectoryDeletedData* _task_data_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _task_data_ = g_task_get_task_data (G_TASK (res)); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_task_data_->_callback_ != NULL) { #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _task_data_->_callback_ (source_object, res, user_data); #line 2793 "DirectoryMonitor.c" } #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _task_data_->_task_complete_ = TRUE; #line 2797 "DirectoryMonitor.c" } static void directory_monitor_async_notify_directory_deleted (DirectoryMonitor* self, GFile* dir, gboolean already_removed, GAsyncReadyCallback _callback_, gpointer _user_data_) { DirectoryMonitorAsyncNotifyDirectoryDeletedData* _data_; DirectoryMonitor* _tmp0_; GFile* _tmp1_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_ = g_slice_new0 (DirectoryMonitorAsyncNotifyDirectoryDeletedData); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_callback_ = _callback_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_async_result = g_task_new (G_OBJECT (self), NULL, directory_monitor_async_notify_directory_deleted_async_ready_wrapper, _user_data_); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_callback_ == NULL) { #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_task_complete_ = TRUE; #line 2821 "DirectoryMonitor.c" } #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_task_set_task_data (_data_->_async_result, _data_, directory_monitor_async_notify_directory_deleted_data_free); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = _g_object_ref0 (self); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->self = _tmp0_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _g_object_ref0 (dir); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->dir = _tmp1_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->already_removed = already_removed; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_async_notify_directory_deleted_co (_data_); #line 2839 "DirectoryMonitor.c" } static void directory_monitor_async_notify_directory_deleted_finish (DirectoryMonitor* self, GAsyncResult* _res_) { DirectoryMonitorAsyncNotifyDirectoryDeletedData* _data_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); #line 2850 "DirectoryMonitor.c" } static void directory_monitor_async_notify_directory_deleted_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { DirectoryMonitorAsyncNotifyDirectoryDeletedData* _data_; #line 762 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_ = _user_data_; #line 762 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_source_object_ = source_object; #line 762 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_res_ = _res_; #line 762 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_task_complete_ = TRUE; #line 762 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_async_notify_directory_deleted_co (_data_); #line 2870 "DirectoryMonitor.c" } static gboolean _directory_monitor_async_notify_directory_deleted_co_gsource_func (gpointer self) { gboolean result; result = directory_monitor_async_notify_directory_deleted_co (self); #line 771 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 2881 "DirectoryMonitor.c" } static gboolean directory_monitor_async_notify_directory_deleted_co (DirectoryMonitorAsyncNotifyDirectoryDeletedData* _data_) { #line 742 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (_data_->_state_) { #line 742 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case 0: #line 2892 "DirectoryMonitor.c" goto _state_0; #line 742 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case 1: #line 2896 "DirectoryMonitor.c" goto _state_1; #line 742 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case 2: #line 2900 "DirectoryMonitor.c" goto _state_2; default: #line 742 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_assert_not_reached (); #line 2905 "DirectoryMonitor.c" } _state_0: #line 750 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp0_ = gee_array_list_new (g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _file_equal_gee_equal_data_func, NULL, NULL); #line 750 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->file_children = _data_->_tmp0_; #line 751 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp1_ = gee_array_list_new (g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _file_equal_gee_equal_data_func, NULL, NULL); #line 751 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->dir_children = _data_->_tmp1_; #line 752 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp2_ = _data_->self->priv->files; #line 752 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp3_ = _data_->file_children; #line 752 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp4_ = _data_->dir_children; #line 752 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->count = directory_monitor_file_info_map_get_children (_data_->_tmp2_, _data_->dir, G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp3_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); #line 753 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp5_ = _data_->count; #line 753 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_tmp5_ > 0) { #line 2928 "DirectoryMonitor.c" { #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp6_ = _data_->dir_children; #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp7_ = _g_object_ref0 (_data_->_tmp6_); #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_dir_child_list = _data_->_tmp7_; #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp8_ = _data_->_dir_child_list; #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp9_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp8_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp10_ = _data_->_tmp9_; #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_dir_child_size = _data_->_tmp10_; #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_dir_child_index = -1; #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp11_ = _data_->_dir_child_index; #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_dir_child_index = _data_->_tmp11_ + 1; #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp12_ = _data_->_dir_child_index; #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp13_ = _data_->_dir_child_size; #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!(_data_->_tmp12_ < _data_->_tmp13_)) { #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 2960 "DirectoryMonitor.c" } #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp14_ = _data_->_dir_child_list; #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp15_ = _data_->_dir_child_index; #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp16_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp14_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _data_->_tmp15_); #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->dir_child = (GFile*) _data_->_tmp16_; #line 762 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp17_ = _data_->dir_child; #line 762 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_state_ = 1; #line 762 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_async_notify_directory_deleted (_data_->self, _data_->_tmp17_, FALSE, directory_monitor_async_notify_directory_deleted_ready, _data_); #line 762 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 2978 "DirectoryMonitor.c" _state_1: #line 762 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_async_notify_directory_deleted_finish (_data_->self, _data_->_res_); #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir_child); #line 2984 "DirectoryMonitor.c" } #line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_dir_child_list); #line 2988 "DirectoryMonitor.c" } { #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp18_ = _data_->file_children; #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp19_ = _g_object_ref0 (_data_->_tmp18_); #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_file_child_list = _data_->_tmp19_; #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp20_ = _data_->_file_child_list; #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp21_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp20_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp22_ = _data_->_tmp21_; #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_file_child_size = _data_->_tmp22_; #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_file_child_index = -1; #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp23_ = _data_->_file_child_index; #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_file_child_index = _data_->_tmp23_ + 1; #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp24_ = _data_->_file_child_index; #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp25_ = _data_->_file_child_size; #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!(_data_->_tmp24_ < _data_->_tmp25_)) { #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 3021 "DirectoryMonitor.c" } #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp26_ = _data_->_file_child_list; #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp27_ = _data_->_file_child_index; #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp28_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp26_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _data_->_tmp27_); #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->file_child = (GFile*) _data_->_tmp28_; #line 767 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp29_ = _data_->self->priv->files; #line 767 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp30_ = _data_->file_child; #line 767 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_file_info_map_remove (_data_->_tmp29_, _data_->_tmp30_, NULL); #line 769 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp31_ = _data_->file_child; #line 769 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_file_deleted (_data_->self, _data_->_tmp31_); #line 771 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_idle_add_full (DIRECTORY_MONITOR_DEFAULT_PRIORITY, _directory_monitor_async_notify_directory_deleted_co_gsource_func, _data_, NULL); #line 772 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_state_ = 2; #line 772 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 3047 "DirectoryMonitor.c" _state_2: ; #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->file_child); #line 3052 "DirectoryMonitor.c" } #line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_file_child_list); #line 3056 "DirectoryMonitor.c" } } #line 776 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!_data_->already_removed) { #line 777 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp32_ = _data_->self->priv->files; #line 777 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_file_info_map_remove (_data_->_tmp32_, _data_->dir, NULL); #line 3065 "DirectoryMonitor.c" } #line 779 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_directory_deleted (_data_->self, _data_->dir); #line 742 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir_children); #line 742 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->file_children); #line 742 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_task_return_pointer (_data_->_async_result, _data_, NULL); #line 742 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_state_ != 0) { #line 742 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (_data_->_task_complete_ != TRUE) { #line 742 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE); #line 3081 "DirectoryMonitor.c" } } #line 742 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_object_unref (_data_->_async_result); #line 742 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 3088 "DirectoryMonitor.c" } static void directory_monitor_real_notify_directory_deleted (DirectoryMonitor* self, GFile* dir) { gchar* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; GFile* _tmp4_; #line 782 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 783 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = g_file_get_path (dir); #line 783 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp0_; #line 783 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_strdup_printf ("directory deleted: %s", _tmp1_); #line 783 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 783 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp3_); #line 783 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp3_); #line 783 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp1_); #line 784 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_DIRECTORY_DELETED_SIGNAL], 0, dir); #line 786 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = self->priv->root; #line 786 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (g_file_equal (dir, _tmp4_)) { #line 787 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_root_deleted (self, dir); #line 3125 "DirectoryMonitor.c" } } void directory_monitor_notify_directory_deleted (DirectoryMonitor* self, GFile* dir) { #line 782 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 782 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_directory_deleted (self, dir); #line 3138 "DirectoryMonitor.c" } static void directory_monitor_real_notify_closed (DirectoryMonitor* self) { GFile* _tmp0_; gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; #line 791 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->root; #line 791 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = g_file_get_path (_tmp0_); #line 791 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = _tmp1_; #line 791 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = g_strdup_printf ("monitoring of %s closed", _tmp2_); #line 791 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = _tmp3_; #line 791 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp4_); #line 791 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp4_); #line 791 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp2_); #line 792 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_emit (self, directory_monitor_signals[DIRECTORY_MONITOR_CLOSED_SIGNAL], 0); #line 3168 "DirectoryMonitor.c" } void directory_monitor_notify_closed (DirectoryMonitor* self) { #line 790 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 790 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->notify_closed (self); #line 3179 "DirectoryMonitor.c" } GFile* directory_monitor_get_root (DirectoryMonitor* self) { GFile* result = NULL; GFile* _tmp0_; GFile* _tmp1_; #line 795 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), NULL); #line 796 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->root; #line 796 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _g_object_ref0 (_tmp0_); #line 796 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = _tmp1_; #line 796 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 3199 "DirectoryMonitor.c" } gboolean directory_monitor_is_in_root (DirectoryMonitor* self, GFile* file) { gboolean result = FALSE; GFile* _tmp0_; #line 799 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); #line 799 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (file), FALSE); #line 800 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->root; #line 800 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = g_file_has_prefix (file, _tmp0_); #line 800 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 3219 "DirectoryMonitor.c" } gboolean directory_monitor_has_started (DirectoryMonitor* self) { gboolean result = FALSE; gboolean _tmp0_; #line 803 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); #line 804 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->started; #line 804 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = _tmp0_; #line 804 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 3236 "DirectoryMonitor.c" } void directory_monitor_start_discovery (DirectoryMonitor* self) { gboolean _tmp0_; GFile* _tmp1_; #line 807 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 808 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->started; #line 808 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (!_tmp0_, "!started"); #line 810 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->has_discovery_started = TRUE; #line 811 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->started = TRUE; #line 813 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_discovery_started (self); #line 816 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->outstanding_exploration_dirs = 1; #line 817 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = self->priv->root; #line 817 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_explore_async (self, _tmp1_, NULL, TRUE, NULL, NULL); #line 3263 "DirectoryMonitor.c" } static void directory_monitor_real_close (DirectoryMonitor* self) { GCancellable* _tmp0_; GeeHashMap* _tmp11_; #line 824 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->cancellable; #line 824 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_cancellable_cancel (_tmp0_); #line 3276 "DirectoryMonitor.c" { GeeIterator* _monitor_it = NULL; GeeHashMap* _tmp1_; GeeCollection* _tmp2_; GeeCollection* _tmp3_; GeeCollection* _tmp4_; GeeIterator* _tmp5_; GeeIterator* _tmp6_; #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = self->priv->monitors; #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = _tmp3_; #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = _tmp5_; #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_tmp4_); #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _monitor_it = _tmp6_; #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 3303 "DirectoryMonitor.c" GeeIterator* _tmp7_; GFileMonitor* monitor = NULL; GeeIterator* _tmp8_; gpointer _tmp9_; GFileMonitor* _tmp10_; #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = _monitor_it; #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!gee_iterator_next (_tmp7_)) { #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 3315 "DirectoryMonitor.c" } #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = _monitor_it; #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = gee_iterator_get (_tmp8_); #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" monitor = (GFileMonitor*) _tmp9_; #line 828 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_ = monitor; #line 828 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_cancel_monitor (self, _tmp10_); #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (monitor); #line 3329 "DirectoryMonitor.c" } #line 827 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_monitor_it); #line 3333 "DirectoryMonitor.c" } #line 830 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = self->priv->monitors; #line 830 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" gee_abstract_map_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 832 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_closed (self); #line 3341 "DirectoryMonitor.c" } void directory_monitor_close (DirectoryMonitor* self) { #line 822 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 822 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_GET_CLASS (self)->close (self); #line 3352 "DirectoryMonitor.c" } static DirectoryMonitorFType directory_monitor_get_ftype (GFileInfo* info) { DirectoryMonitorFType result = 0; GFileType file_type = 0; GFileType _tmp0_; #line 835 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE_INFO (info), 0); #line 836 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" file_type = g_file_info_get_file_type (info); #line 837 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = file_type; #line 837 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (_tmp0_) { #line 837 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_TYPE_REGULAR: #line 3372 "DirectoryMonitor.c" { #line 839 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = DIRECTORY_MONITOR_FTYPE_FILE; #line 839 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 3378 "DirectoryMonitor.c" } #line 837 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_TYPE_DIRECTORY: #line 3382 "DirectoryMonitor.c" { #line 842 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = DIRECTORY_MONITOR_FTYPE_DIRECTORY; #line 842 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 3388 "DirectoryMonitor.c" } default: { GFileType _tmp1_; GEnumValue* _tmp2_; gchar* _tmp3_; gchar* _tmp4_; #line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = file_type; #line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_enum_get_value (g_type_class_ref (g_file_type_get_type ()), _tmp1_); #line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = g_strdup_printf ("query_ftype: Unknown file type %s", (_tmp2_ != NULL) ? _tmp2_->value_name : NULL); #line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = _tmp3_; #line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp4_); #line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp4_); #line 846 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = DIRECTORY_MONITOR_FTYPE_UNSUPPORTED; #line 846 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 3412 "DirectoryMonitor.c" } } } static void directory_monitor_explore_async_data_free (gpointer _data) { DirectoryMonitorExploreAsyncData* _data_; _data_ = _data; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir_info); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->self); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_slice_free (DirectoryMonitorExploreAsyncData, _data_); #line 3431 "DirectoryMonitor.c" } static void directory_monitor_explore_async_async_ready_wrapper (GObject *source_object, GAsyncResult *res, void *user_data) { DirectoryMonitorExploreAsyncData* _task_data_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _task_data_ = g_task_get_task_data (G_TASK (res)); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_task_data_->_callback_ != NULL) { #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _task_data_->_callback_ (source_object, res, user_data); #line 3447 "DirectoryMonitor.c" } #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _task_data_->_task_complete_ = TRUE; #line 3451 "DirectoryMonitor.c" } static void directory_monitor_explore_async (DirectoryMonitor* self, GFile* dir, GFileInfo* dir_info, gboolean in_discovery, GAsyncReadyCallback _callback_, gpointer _user_data_) { DirectoryMonitorExploreAsyncData* _data_; DirectoryMonitor* _tmp0_; GFile* _tmp1_; GFileInfo* _tmp2_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_ = g_slice_new0 (DirectoryMonitorExploreAsyncData); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_callback_ = _callback_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_async_result = g_task_new (G_OBJECT (self), NULL, directory_monitor_explore_async_async_ready_wrapper, _user_data_); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_callback_ == NULL) { #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_task_complete_ = TRUE; #line 3477 "DirectoryMonitor.c" } #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_task_set_task_data (_data_->_async_result, _data_, directory_monitor_explore_async_data_free); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = _g_object_ref0 (self); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->self = _tmp0_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _g_object_ref0 (dir); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->dir = _tmp1_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = _g_object_ref0 (dir_info); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir_info); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->dir_info = _tmp2_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->in_discovery = in_discovery; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_explore_async_co (_data_); #line 3501 "DirectoryMonitor.c" } static void directory_monitor_explore_finish (DirectoryMonitor* self, GAsyncResult* _res_) { DirectoryMonitorExploreAsyncData* _data_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); #line 3512 "DirectoryMonitor.c" } static void directory_monitor_explore_async_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { DirectoryMonitorExploreAsyncData* _data_; #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_ = _user_data_; #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_source_object_ = source_object; #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_res_ = _res_; #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_task_complete_ = TRUE; #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_explore_async_co (_data_); #line 3532 "DirectoryMonitor.c" } static void _g_object_unref0_ (gpointer var) { #line 913 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" (var == NULL) ? NULL : (var = (g_object_unref (var), NULL)); #line 3541 "DirectoryMonitor.c" } static inline void _g_list_free__g_object_unref0_ (GList* self) { #line 913 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_list_free_full (self, (GDestroyNotify) _g_object_unref0_); #line 3550 "DirectoryMonitor.c" } static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self) { guint result; result = file_hash ((GFile*) v); #line 935 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 3562 "DirectoryMonitor.c" } static gboolean directory_monitor_explore_async_co (DirectoryMonitorExploreAsyncData* _data_) { #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (_data_->_state_) { #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case 0: #line 3573 "DirectoryMonitor.c" goto _state_0; #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case 1: #line 3577 "DirectoryMonitor.c" goto _state_1; #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case 2: #line 3581 "DirectoryMonitor.c" goto _state_2; #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case 3: #line 3585 "DirectoryMonitor.c" goto _state_3; #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case 4: #line 3589 "DirectoryMonitor.c" goto _state_4; #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case 5: #line 3593 "DirectoryMonitor.c" goto _state_5; default: #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_assert_not_reached (); #line 3598 "DirectoryMonitor.c" } _state_0: #line 851 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp0_ = _data_->self->priv->files; #line 851 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (directory_monitor_file_info_map_contains (_data_->_tmp0_, _data_->dir, _data_->dir_info)) { #line 852 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp1_ = g_file_get_path (_data_->dir); #line 852 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp2_ = _data_->_tmp1_; #line 852 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:852: Directory loop detected at %s, not explorin" \ "g", _data_->_tmp2_); #line 852 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp2_); #line 854 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_explore_directory_completed (_data_->self, _data_->in_discovery); #line 856 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_task_return_pointer (_data_->_async_result, _data_, NULL); #line 856 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_state_ != 0) { #line 856 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (_data_->_task_complete_ != TRUE) { #line 856 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE); #line 3623 "DirectoryMonitor.c" } } #line 856 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_object_unref (_data_->_async_result); #line 856 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 3630 "DirectoryMonitor.c" } #line 860 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp3_ = _g_object_ref0 (_data_->dir_info); #line 860 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->local_dir_info = _data_->_tmp3_; #line 861 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp4_ = _data_->local_dir_info; #line 861 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_tmp4_ == NULL) { #line 3640 "DirectoryMonitor.c" { #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp6_ = _data_->self->priv->cancellable; #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_state_ = 1; #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_file_query_info_async (_data_->dir, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, DIRECTORY_MONITOR_DIR_INFO_FLAGS, DIRECTORY_MONITOR_DEFAULT_PRIORITY, _data_->_tmp6_, directory_monitor_explore_async_ready, _data_); #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 3650 "DirectoryMonitor.c" _state_1: #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp7_ = g_file_query_info_finish (_data_->dir, _data_->_res_, &_data_->_inner_error_); #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp5_ = _data_->_tmp7_; #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { #line 3658 "DirectoryMonitor.c" goto __catch490_g_error; } #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp8_ = _data_->_tmp5_; #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp5_ = NULL; #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->local_dir_info); #line 863 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->local_dir_info = _data_->_tmp8_; #line 862 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_tmp5_); #line 3671 "DirectoryMonitor.c" } goto __finally490; __catch490_g_error: { #line 862 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->err = _data_->_inner_error_; #line 862 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_inner_error_ = NULL; #line 866 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp9_ = g_file_get_path (_data_->dir); #line 866 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp10_ = _data_->_tmp9_; #line 866 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp11_ = _data_->err; #line 866 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp12_ = _data_->_tmp11_->message; #line 866 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:866: Unable to retrieve info on %s: %s", _data_->_tmp10_, _data_->_tmp12_); #line 866 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp10_); #line 868 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_explore_directory_completed (_data_->self, _data_->in_discovery); #line 870 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_error_free0 (_data_->err); #line 870 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->local_dir_info); #line 870 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_task_return_pointer (_data_->_async_result, _data_, NULL); #line 870 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_state_ != 0) { #line 870 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (_data_->_task_complete_ != TRUE) { #line 870 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE); #line 3706 "DirectoryMonitor.c" } } #line 870 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_object_unref (_data_->_async_result); #line 870 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 3713 "DirectoryMonitor.c" } __finally490: #line 862 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { #line 862 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->local_dir_info); #line 862 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code); #line 862 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_clear_error (&_data_->_inner_error_); #line 862 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_object_unref (_data_->_async_result); #line 862 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 3728 "DirectoryMonitor.c" } } #line 874 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp13_ = _data_->local_dir_info; #line 874 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (g_file_info_get_is_hidden (_data_->_tmp13_)) { #line 875 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp14_ = g_file_get_path (_data_->dir); #line 875 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp15_ = _data_->_tmp14_; #line 875 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:875: Ignoring hidden directory %s", _data_->_tmp15_); #line 875 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp15_); #line 877 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_explore_directory_completed (_data_->self, _data_->in_discovery); #line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->local_dir_info); #line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_task_return_pointer (_data_->_async_result, _data_, NULL); #line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_state_ != 0) { #line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (_data_->_task_complete_ != TRUE) { #line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE); #line 3755 "DirectoryMonitor.c" } } #line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_object_unref (_data_->_async_result); #line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 3762 "DirectoryMonitor.c" } #line 884 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp16_ = _data_->local_dir_info; #line 884 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp17_ = get_file_info_id (_data_->_tmp16_); #line 884 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp18_ = _data_->_tmp17_; #line 884 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp19_ = _data_->_tmp18_ == NULL; #line 884 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp18_); #line 884 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_tmp19_) { #line 885 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp20_ = _data_->local_dir_info; #line 885 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp21_ = g_file_get_uri (_data_->dir); #line 885 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp22_ = _data_->_tmp21_; #line 885 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_file_info_set_attribute_string (_data_->_tmp20_, G_FILE_ATTRIBUTE_ID_FILE, _data_->_tmp22_); #line 885 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp22_); #line 3786 "DirectoryMonitor.c" } #line 890 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp23_ = _data_->local_dir_info; #line 890 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (g_file_info_get_file_type (_data_->_tmp23_) != G_FILE_TYPE_DIRECTORY) { #line 891 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp24_ = g_file_get_path (_data_->dir); #line 891 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp25_ = _data_->_tmp24_; #line 891 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp26_ = _data_->local_dir_info; #line 892 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp27_ = g_enum_get_value (g_type_class_ref (g_file_type_get_type ()), g_file_info_get_file_type (_data_->_tmp26_)); #line 891 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp28_ = g_strdup_printf (_ ("Unable to monitor %s: Not a directory (%s)"), _data_->_tmp25_, (_data_->_tmp27_ != NULL) ? _data_->_tmp27_->value_name : NULL); #line 891 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp29_ = _data_->_tmp28_; #line 891 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_discovery_failed (_data_->self, _data_->_tmp29_); #line 891 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp29_); #line 891 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp25_); #line 894 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_explore_directory_completed (_data_->self, _data_->in_discovery); #line 896 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->local_dir_info); #line 896 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_task_return_pointer (_data_->_async_result, _data_, NULL); #line 896 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_state_ != 0) { #line 896 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (_data_->_task_complete_ != TRUE) { #line 896 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE); #line 3822 "DirectoryMonitor.c" } } #line 896 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_object_unref (_data_->_async_result); #line 896 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 3829 "DirectoryMonitor.c" } #line 903 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->dir_map = NULL; #line 904 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->file_map = NULL; #line 3835 "DirectoryMonitor.c" { #line 907 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp30_ = _data_->self->priv->cancellable; #line 907 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_state_ = 2; #line 907 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_file_enumerate_children_async (_data_->dir, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, DIRECTORY_MONITOR_UNKNOWN_INFO_FLAGS, DIRECTORY_MONITOR_DEFAULT_PRIORITY, _data_->_tmp30_, directory_monitor_explore_async_ready, _data_); #line 907 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 3845 "DirectoryMonitor.c" _state_2: #line 907 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp31_ = g_file_enumerate_children_finish (_data_->dir, _data_->_res_, &_data_->_inner_error_); #line 907 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->enumerator = _data_->_tmp31_; #line 907 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { #line 3853 "DirectoryMonitor.c" goto __catch491_g_error; } { #line 909 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp32_ = TRUE; #line 909 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 909 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!_data_->_tmp32_) { #line 3863 "DirectoryMonitor.c" } #line 909 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp32_ = FALSE; #line 910 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp33_ = _data_->enumerator; #line 910 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp34_ = _data_->self->priv->cancellable; #line 910 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_state_ = 3; #line 910 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_file_enumerator_next_files_async (_data_->_tmp33_, 10, DIRECTORY_MONITOR_DEFAULT_PRIORITY, _data_->_tmp34_, directory_monitor_explore_async_ready, _data_); #line 910 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 3877 "DirectoryMonitor.c" _state_3: #line 910 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp35_ = g_file_enumerator_next_files_finish (_data_->_tmp33_, _data_->_res_, &_data_->_inner_error_); #line 910 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->infos = _data_->_tmp35_; #line 910 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { #line 910 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->enumerator); #line 3887 "DirectoryMonitor.c" goto __catch491_g_error; } #line 912 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp36_ = _data_->infos; #line 912 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_tmp36_ == NULL) { #line 913 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" __g_list_free__g_object_unref0_0 (_data_->infos); #line 913 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 3898 "DirectoryMonitor.c" } #line 915 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp37_ = _data_->infos; #line 3902 "DirectoryMonitor.c" { #line 915 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->info_collection = _data_->_tmp37_; #line 915 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" for (_data_->info_it = _data_->info_collection; _data_->info_it != NULL; _data_->info_it = _data_->info_it->next) { #line 915 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp38_ = _g_object_ref0 ((GFileInfo*) _data_->info_it->data); #line 915 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->info = _data_->_tmp38_; #line 3912 "DirectoryMonitor.c" { #line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp39_ = _data_->info; #line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp40_ = get_file_info_id (_data_->_tmp39_); #line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp41_ = _data_->_tmp40_; #line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp42_ = _data_->_tmp41_ == NULL; #line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp41_); #line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_tmp42_) { #line 917 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp43_ = _data_->info; #line 917 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp44_ = g_file_get_uri (_data_->dir); #line 917 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp45_ = _data_->_tmp44_; #line 917 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_file_info_set_attribute_string (_data_->_tmp43_, G_FILE_ATTRIBUTE_ID_FILE, _data_->_tmp45_); #line 917 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp45_); #line 3936 "DirectoryMonitor.c" } #line 921 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp46_ = _data_->info; #line 921 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (g_file_info_get_is_hidden (_data_->_tmp46_)) { #line 922 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp47_ = _data_->info; #line 922 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp48_ = g_file_info_get_name (_data_->_tmp47_); #line 922 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp49_ = g_file_get_child (_data_->dir, _data_->_tmp48_); #line 922 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp50_ = _data_->_tmp49_; #line 922 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp51_ = g_file_get_path (_data_->_tmp50_); #line 922 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp52_ = _data_->_tmp51_; #line 922 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:922: Skipping hidden file/directory %s", _data_->_tmp52_); #line 922 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp52_); #line 922 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_tmp50_); #line 925 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->info); #line 925 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" continue; #line 3964 "DirectoryMonitor.c" } #line 929 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp53_ = _data_->info; #line 929 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!directory_monitor_is_file_symlink_supported (_data_->_tmp53_)) { #line 930 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->info); #line 930 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" continue; #line 3974 "DirectoryMonitor.c" } #line 932 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp54_ = _data_->info; #line 932 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (g_file_info_get_file_type (_data_->_tmp54_)) { #line 932 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_TYPE_REGULAR: #line 3982 "DirectoryMonitor.c" { #line 934 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp55_ = _data_->file_map; #line 934 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_tmp55_ == NULL) { #line 935 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp56_ = gee_hash_map_new (g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, g_file_info_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); #line 935 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->file_map); #line 935 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->file_map = _data_->_tmp56_; #line 3994 "DirectoryMonitor.c" } #line 937 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp57_ = _data_->file_map; #line 937 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp58_ = _data_->info; #line 937 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp59_ = g_file_info_get_name (_data_->_tmp58_); #line 937 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp60_ = g_file_get_child (_data_->dir, _data_->_tmp59_); #line 937 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp61_ = _data_->_tmp60_; #line 937 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp62_ = _data_->info; #line 937 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp57_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _data_->_tmp61_, _data_->_tmp62_); #line 937 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_tmp61_); #line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 4014 "DirectoryMonitor.c" } #line 932 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_TYPE_DIRECTORY: #line 4018 "DirectoryMonitor.c" { #line 941 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp63_ = _data_->dir_map; #line 941 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_tmp63_ == NULL) { #line 942 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp64_ = gee_hash_map_new (g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, g_file_info_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); #line 942 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir_map); #line 942 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->dir_map = _data_->_tmp64_; #line 4030 "DirectoryMonitor.c" } #line 944 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp65_ = _data_->dir_map; #line 944 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp66_ = _data_->info; #line 944 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp67_ = g_file_info_get_name (_data_->_tmp66_); #line 944 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp68_ = g_file_get_child (_data_->dir, _data_->_tmp67_); #line 944 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp69_ = _data_->_tmp68_; #line 944 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp70_ = _data_->info; #line 944 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp65_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _data_->_tmp69_, _data_->_tmp70_); #line 944 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_tmp69_); #line 945 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 4050 "DirectoryMonitor.c" } default: { #line 949 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 4056 "DirectoryMonitor.c" } } #line 915 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->info); #line 4061 "DirectoryMonitor.c" } } } #line 909 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" __g_list_free__g_object_unref0_0 (_data_->infos); #line 4067 "DirectoryMonitor.c" } } #line 906 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->enumerator); #line 4072 "DirectoryMonitor.c" } goto __finally491; __catch491_g_error: { #line 906 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->err2 = _data_->_inner_error_; #line 906 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_inner_error_ = NULL; #line 954 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp71_ = g_file_get_path (_data_->dir); #line 954 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp72_ = _data_->_tmp71_; #line 954 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp73_ = _data_->err2; #line 954 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp74_ = _data_->_tmp73_->message; #line 954 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:954: Aborted directory traversal of %s: %s", _data_->_tmp72_, _data_->_tmp74_); #line 954 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_data_->_tmp72_); #line 956 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_explore_directory_completed (_data_->self, _data_->in_discovery); #line 958 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_error_free0 (_data_->err2); #line 958 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->file_map); #line 958 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir_map); #line 958 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->local_dir_info); #line 958 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_task_return_pointer (_data_->_async_result, _data_, NULL); #line 958 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_state_ != 0) { #line 958 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (_data_->_task_complete_ != TRUE) { #line 958 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE); #line 4111 "DirectoryMonitor.c" } } #line 958 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_object_unref (_data_->_async_result); #line 958 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 4118 "DirectoryMonitor.c" } __finally491: #line 906 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { #line 906 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->file_map); #line 906 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir_map); #line 906 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->local_dir_info); #line 906 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code); #line 906 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_clear_error (&_data_->_inner_error_); #line 906 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_object_unref (_data_->_async_result); #line 906 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 4137 "DirectoryMonitor.c" } #line 962 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->in_discovery) { #line 963 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp75_ = _data_->local_dir_info; #line 963 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_directory_discovered (_data_->self, _data_->dir, _data_->_tmp75_); #line 4145 "DirectoryMonitor.c" } else { #line 965 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp76_ = _data_->local_dir_info; #line 965 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_directory_created (_data_->self, _data_->dir, _data_->_tmp76_); #line 4151 "DirectoryMonitor.c" } #line 969 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp77_ = _data_->local_dir_info; #line 969 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_add_monitor (_data_->self, _data_->dir, _data_->_tmp77_); #line 972 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp78_ = _data_->file_map; #line 972 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_tmp78_ != NULL) { #line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp79_ = _data_->file_map; #line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_state_ = 4; #line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_directory_files (_data_->self, G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp79_, GEE_TYPE_MAP, GeeMap), _data_->in_discovery, directory_monitor_explore_async_ready, _data_); #line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 4169 "DirectoryMonitor.c" _state_4: #line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_directory_files_finish (_data_->self, _data_->_res_); #line 4173 "DirectoryMonitor.c" } #line 976 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp81_ = _data_->self->priv->recurse; #line 976 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_tmp81_) { #line 976 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp82_ = _data_->dir_map; #line 976 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp80_ = _data_->_tmp82_ != NULL; #line 4183 "DirectoryMonitor.c" } else { #line 976 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp80_ = FALSE; #line 4187 "DirectoryMonitor.c" } #line 976 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_tmp80_) { #line 4191 "DirectoryMonitor.c" { #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp83_ = _data_->dir_map; #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp84_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp83_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp85_ = _data_->_tmp84_; #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp86_ = _data_->_tmp85_; #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp87_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp86_, GEE_TYPE_ITERABLE, GeeIterable)); #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp88_ = _data_->_tmp87_; #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_tmp86_); #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_subdir_it = _data_->_tmp88_; #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp89_ = _data_->_subdir_it; #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!gee_iterator_next (_data_->_tmp89_)) { #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 4217 "DirectoryMonitor.c" } #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp90_ = _data_->_subdir_it; #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp91_ = gee_iterator_get (_data_->_tmp90_); #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->subdir = (GFile*) _data_->_tmp91_; #line 978 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp92_ = _data_->self->priv->outstanding_exploration_dirs; #line 978 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->self->priv->outstanding_exploration_dirs = _data_->_tmp92_ + 1; #line 978 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp93_ = _data_->self->priv->outstanding_exploration_dirs; #line 978 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_tmp93_ > DIRECTORY_MONITOR_MAX_EXPLORATION_DIRS) { #line 979 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp94_ = _data_->subdir; #line 979 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp95_ = _data_->dir_map; #line 979 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp96_ = _data_->subdir; #line 979 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp97_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp95_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _data_->_tmp96_); #line 979 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp98_ = (GFileInfo*) _data_->_tmp97_; #line 979 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_state_ = 5; #line 979 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_explore_async (_data_->self, _data_->_tmp94_, _data_->_tmp98_, _data_->in_discovery, directory_monitor_explore_async_ready, _data_); #line 979 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 4249 "DirectoryMonitor.c" _state_5: #line 979 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_explore_finish (_data_->self, _data_->_res_); #line 979 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_tmp98_); #line 4255 "DirectoryMonitor.c" } else { #line 981 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp99_ = _data_->subdir; #line 981 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp100_ = _data_->dir_map; #line 981 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp101_ = _data_->subdir; #line 981 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp102_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp100_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _data_->_tmp101_); #line 981 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp103_ = (GFileInfo*) _data_->_tmp102_; #line 981 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_explore_async (_data_->self, _data_->_tmp99_, _data_->_tmp103_, _data_->in_discovery, NULL, NULL); #line 981 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_tmp103_); #line 4271 "DirectoryMonitor.c" } #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->subdir); #line 4275 "DirectoryMonitor.c" } #line 977 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_subdir_it); #line 4279 "DirectoryMonitor.c" } } #line 985 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_explore_directory_completed (_data_->self, _data_->in_discovery); #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->file_map); #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->dir_map); #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->local_dir_info); #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_task_return_pointer (_data_->_async_result, _data_, NULL); #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_state_ != 0) { #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (_data_->_task_complete_ != TRUE) { #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE); #line 4298 "DirectoryMonitor.c" } } #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_object_unref (_data_->_async_result); #line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 4305 "DirectoryMonitor.c" } static void directory_monitor_notify_directory_files_data_free (gpointer _data) { DirectoryMonitorNotifyDirectoryFilesData* _data_; _data_ = _data; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->map); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->self); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_slice_free (DirectoryMonitorNotifyDirectoryFilesData, _data_); #line 4320 "DirectoryMonitor.c" } static void directory_monitor_notify_directory_files_async_ready_wrapper (GObject *source_object, GAsyncResult *res, void *user_data) { DirectoryMonitorNotifyDirectoryFilesData* _task_data_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _task_data_ = g_task_get_task_data (G_TASK (res)); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_task_data_->_callback_ != NULL) { #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _task_data_->_callback_ (source_object, res, user_data); #line 4336 "DirectoryMonitor.c" } #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _task_data_->_task_complete_ = TRUE; #line 4340 "DirectoryMonitor.c" } static void directory_monitor_notify_directory_files (DirectoryMonitor* self, GeeMap* map, gboolean in_discovery, GAsyncReadyCallback _callback_, gpointer _user_data_) { DirectoryMonitorNotifyDirectoryFilesData* _data_; DirectoryMonitor* _tmp0_; GeeMap* _tmp1_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_ = g_slice_new0 (DirectoryMonitorNotifyDirectoryFilesData); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_callback_ = _callback_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_async_result = g_task_new (G_OBJECT (self), NULL, directory_monitor_notify_directory_files_async_ready_wrapper, _user_data_); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_callback_ == NULL) { #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_task_complete_ = TRUE; #line 4364 "DirectoryMonitor.c" } #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_task_set_task_data (_data_->_async_result, _data_, directory_monitor_notify_directory_files_data_free); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = _g_object_ref0 (self); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->self = _tmp0_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _g_object_ref0 (map); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->map); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->map = _tmp1_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->in_discovery = in_discovery; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_directory_files_co (_data_); #line 4382 "DirectoryMonitor.c" } static void directory_monitor_notify_directory_files_finish (DirectoryMonitor* self, GAsyncResult* _res_) { DirectoryMonitorNotifyDirectoryFilesData* _data_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_ = g_task_propagate_pointer (G_TASK (_res_), NULL); #line 4393 "DirectoryMonitor.c" } static gboolean _directory_monitor_notify_directory_files_co_gsource_func (gpointer self) { gboolean result; result = directory_monitor_notify_directory_files_co (self); #line 996 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 4404 "DirectoryMonitor.c" } static gboolean directory_monitor_notify_directory_files_co (DirectoryMonitorNotifyDirectoryFilesData* _data_) { #line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (_data_->_state_) { #line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case 0: #line 4415 "DirectoryMonitor.c" goto _state_0; #line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case 1: #line 4419 "DirectoryMonitor.c" goto _state_1; default: #line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_assert_not_reached (); #line 4424 "DirectoryMonitor.c" } _state_0: #line 989 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp0_ = gee_map_map_iterator (_data_->map); #line 989 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->iter = _data_->_tmp0_; #line 990 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 990 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp1_ = _data_->iter; #line 990 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!gee_map_iterator_next (_data_->_tmp1_)) { #line 990 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 4439 "DirectoryMonitor.c" } #line 991 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->in_discovery) { #line 992 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp2_ = _data_->iter; #line 992 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp3_ = gee_map_iterator_get_key (_data_->_tmp2_); #line 992 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp4_ = (GFile*) _data_->_tmp3_; #line 992 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp5_ = _data_->iter; #line 992 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp6_ = gee_map_iterator_get_value (_data_->_tmp5_); #line 992 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp7_ = (GFileInfo*) _data_->_tmp6_; #line 992 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_file_discovered (_data_->self, _data_->_tmp4_, _data_->_tmp7_); #line 992 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_tmp7_); #line 992 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_tmp4_); #line 4461 "DirectoryMonitor.c" } else { #line 994 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp8_ = _data_->iter; #line 994 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp9_ = gee_map_iterator_get_key (_data_->_tmp8_); #line 994 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp10_ = (GFile*) _data_->_tmp9_; #line 994 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp11_ = _data_->iter; #line 994 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp12_ = gee_map_iterator_get_value (_data_->_tmp11_); #line 994 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_tmp13_ = (GFileInfo*) _data_->_tmp12_; #line 994 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_file_created (_data_->self, _data_->_tmp10_, _data_->_tmp13_); #line 994 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_tmp13_); #line 994 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->_tmp10_); #line 4481 "DirectoryMonitor.c" } #line 996 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_idle_add_full (DIRECTORY_MONITOR_DEFAULT_PRIORITY, _directory_monitor_notify_directory_files_co_gsource_func, _data_, NULL); #line 997 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _data_->_state_ = 1; #line 997 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 4489 "DirectoryMonitor.c" _state_1: ; } #line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_data_->iter); #line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_task_return_pointer (_data_->_async_result, _data_, NULL); #line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_data_->_state_ != 0) { #line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (_data_->_task_complete_ != TRUE) { #line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE); #line 4503 "DirectoryMonitor.c" } } #line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_object_unref (_data_->_async_result); #line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return FALSE; #line 4510 "DirectoryMonitor.c" } static void directory_monitor_explore_directory_completed (DirectoryMonitor* self, gboolean in_discovery) { gint _tmp0_; gint _tmp1_; gboolean _tmp2_ = FALSE; #line 1003 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 1004 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->outstanding_exploration_dirs; #line 1004 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp0_ > 0, "outstanding_exploration_dirs > 0"); #line 1005 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = self->priv->outstanding_exploration_dirs; #line 1005 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->outstanding_exploration_dirs = _tmp1_ - 1; #line 1007 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (in_discovery) { #line 4533 "DirectoryMonitor.c" gint _tmp3_; #line 1007 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = self->priv->outstanding_exploration_dirs; #line 1007 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = _tmp3_ == 0; #line 4539 "DirectoryMonitor.c" } else { #line 1007 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = FALSE; #line 4543 "DirectoryMonitor.c" } #line 1007 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp2_) { #line 1008 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_discovery_completed (self); #line 4549 "DirectoryMonitor.c" } } static void _directory_monitor_on_monitor_notification_g_file_monitor_changed (GFileMonitor* _sender, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer self) { #line 1036 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_on_monitor_notification ((DirectoryMonitor*) self, file, other_file, event_type); #line 4563 "DirectoryMonitor.c" } static gboolean directory_monitor_add_monitor (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { gboolean result = FALSE; gboolean _tmp0_; gchar* id = NULL; DirectoryMonitorFileInfoMap* _tmp1_; gchar* _tmp2_; const gchar* _tmp3_; GeeHashMap* _tmp4_; const gchar* _tmp5_; GFileMonitor* monitor = NULL; GeeHashMap* _tmp14_; const gchar* _tmp15_; GFileMonitor* _tmp16_; GFileMonitor* _tmp17_; gchar* _tmp18_; gchar* _tmp19_; gchar* _tmp20_; gchar* _tmp21_; GError * _inner_error_ = NULL; #line 1014 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); #line 1014 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (dir), FALSE); #line 1014 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); #line 1015 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->monitoring; #line 1015 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!_tmp0_) { #line 1016 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = FALSE; #line 1016 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 4604 "DirectoryMonitor.c" } #line 1018 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = self->priv->files; #line 1018 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = directory_monitor_file_info_map_get_id (_tmp1_, dir, info); #line 1018 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" id = _tmp2_; #line 1019 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = id; #line 1019 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp3_ == NULL) { #line 1020 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = FALSE; #line 1020 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 1020 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 4622 "DirectoryMonitor.c" } #line 1023 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = self->priv->monitors; #line 1023 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = id; #line 1023 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_)) { #line 1024 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = FALSE; #line 1024 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 1024 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 4636 "DirectoryMonitor.c" } #line 1026 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" monitor = NULL; #line 4640 "DirectoryMonitor.c" { GFileMonitor* _tmp6_ = NULL; GFileMonitor* _tmp7_; GFileMonitor* _tmp8_; #line 1028 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = g_file_monitor_directory (dir, DIRECTORY_MONITOR_FILE_MONITOR_FLAGS, NULL, &_inner_error_); #line 1028 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = _tmp7_; #line 1028 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 4651 "DirectoryMonitor.c" goto __catch492_g_error; } #line 1028 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = _tmp6_; #line 1028 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = NULL; #line 1028 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (monitor); #line 1028 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" monitor = _tmp8_; #line 1027 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_tmp6_); #line 4664 "DirectoryMonitor.c" } goto __finally492; __catch492_g_error: { GError* err = NULL; gchar* _tmp9_; gchar* _tmp10_; GError* _tmp11_; const gchar* _tmp12_; #line 1027 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" err = _inner_error_; #line 1027 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _inner_error_ = NULL; #line 1030 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = g_file_get_path (dir); #line 1030 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_ = _tmp9_; #line 1030 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = err; #line 1030 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp12_ = _tmp11_->message; #line 1030 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:1030: Unable to monitor %s: %s", _tmp10_, _tmp12_); #line 1030 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp10_); #line 1032 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = FALSE; #line 1032 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_error_free0 (err); #line 1032 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (monitor); #line 1032 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 1032 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 4700 "DirectoryMonitor.c" } __finally492: #line 1027 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 4705 "DirectoryMonitor.c" gboolean _tmp13_ = FALSE; #line 1027 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (monitor); #line 1027 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 1027 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); #line 1027 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_clear_error (&_inner_error_); #line 1027 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return _tmp13_; #line 4717 "DirectoryMonitor.c" } #line 1035 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp14_ = self->priv->monitors; #line 1035 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp15_ = id; #line 1035 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp16_ = monitor; #line 1035 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp15_, _tmp16_); #line 1036 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp17_ = monitor; #line 1036 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_connect_object (_tmp17_, "changed", (GCallback) _directory_monitor_on_monitor_notification_g_file_monitor_changed, self, 0); #line 1038 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp18_ = g_file_get_path (dir); #line 1038 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp19_ = _tmp18_; #line 1038 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp20_ = g_strdup_printf ("Added monitor for %s", _tmp19_); #line 1038 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp21_ = _tmp20_; #line 1038 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp21_); #line 1038 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp21_); #line 1038 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp19_); #line 1040 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = TRUE; #line 1040 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (monitor); #line 1040 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 1040 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 4753 "DirectoryMonitor.c" } static gboolean directory_monitor_remove_monitor (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { gboolean result = FALSE; gboolean _tmp0_; gchar* id = NULL; DirectoryMonitorFileInfoMap* _tmp1_; gchar* _tmp2_; const gchar* _tmp3_; GFileMonitor* monitor = NULL; GeeHashMap* _tmp4_; const gchar* _tmp5_; gpointer _tmp6_; GFileMonitor* _tmp7_; gboolean removed = FALSE; GeeHashMap* _tmp8_; const gchar* _tmp9_; gboolean _tmp10_; gboolean _tmp11_; GFileMonitor* _tmp12_; gchar* _tmp13_; gchar* _tmp14_; gchar* _tmp15_; gchar* _tmp16_; #line 1044 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); #line 1044 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (dir), FALSE); #line 1044 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); #line 1045 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->monitoring; #line 1045 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!_tmp0_) { #line 1046 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = FALSE; #line 1046 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 4797 "DirectoryMonitor.c" } #line 1048 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = self->priv->files; #line 1048 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = directory_monitor_file_info_map_get_id (_tmp1_, dir, info); #line 1048 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" id = _tmp2_; #line 1049 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = id; #line 1049 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp3_ == NULL) { #line 1050 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = FALSE; #line 1050 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 1050 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 4815 "DirectoryMonitor.c" } #line 1052 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = self->priv->monitors; #line 1052 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = id; #line 1052 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_); #line 1052 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" monitor = (GFileMonitor*) _tmp6_; #line 1053 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = monitor; #line 1053 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp7_ == NULL) { #line 1054 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = FALSE; #line 1054 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (monitor); #line 1054 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 1054 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 4837 "DirectoryMonitor.c" } #line 1056 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = self->priv->monitors; #line 1056 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = id; #line 1056 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_, NULL); #line 1056 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" removed = _tmp10_; #line 1057 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = removed; #line 1057 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp11_, "removed"); #line 1059 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp12_ = monitor; #line 1059 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_cancel_monitor (self, _tmp12_); #line 1061 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp13_ = g_file_get_path (dir); #line 1061 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp14_ = _tmp13_; #line 1061 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp15_ = g_strdup_printf ("Removed monitor for %s", _tmp14_); #line 1061 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp16_ = _tmp15_; #line 1061 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp16_); #line 1061 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp16_); #line 1061 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp14_); #line 1063 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = TRUE; #line 1063 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (monitor); #line 1063 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 1063 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 4877 "DirectoryMonitor.c" } static void directory_monitor_cancel_monitor (DirectoryMonitor* self, GFileMonitor* monitor) { guint _tmp0_; #line 1066 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 1066 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_MONITOR (monitor)); #line 1067 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_parse_name ("changed", g_file_monitor_get_type (), &_tmp0_, NULL, FALSE); #line 1067 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_handlers_disconnect_matched (monitor, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _directory_monitor_on_monitor_notification_g_file_monitor_changed, self); #line 1068 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_file_monitor_cancel (monitor); #line 4896 "DirectoryMonitor.c" } static void _directory_monitor_query_info_queue_element_on_completed_gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self) { #line 1088 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_query_info_queue_element_on_completed ((DirectoryMonitorQueryInfoQueueElement*) self, source_object, res); #line 1088 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_query_info_queue_element_unref (self); #line 4909 "DirectoryMonitor.c" } static gboolean _directory_monitor_check_for_expired_delete_events_gsource_func (gpointer self) { gboolean result; result = directory_monitor_check_for_expired_delete_events ((DirectoryMonitor*) self); #line 1097 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 4920 "DirectoryMonitor.c" } static void directory_monitor_on_monitor_notification (DirectoryMonitor* self, GFile* file, GFile* other_file, GFileMonitorEvent event) { gchar* _tmp0_ = NULL; GEnumValue* _tmp3_; gchar* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; gchar* _tmp7_; DirectoryMonitorQueryInfoQueueElement* query_info = NULL; DirectoryMonitorQueryInfoQueueElement* _tmp8_; GeeQueue* _tmp9_; DirectoryMonitorQueryInfoQueueElement* _tmp10_; #line 1071 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 1071 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 1071 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail ((other_file == NULL) || G_IS_FILE (other_file)); #line 1073 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (other_file != NULL) { #line 4948 "DirectoryMonitor.c" gchar* _tmp1_; #line 1073 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = g_file_get_path (other_file); #line 1073 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp0_); #line 1073 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = _tmp1_; #line 4956 "DirectoryMonitor.c" } else { gchar* _tmp2_; #line 1073 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_strdup ("(none)"); #line 1073 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp0_); #line 1073 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = _tmp2_; #line 4965 "DirectoryMonitor.c" } #line 1072 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), event); #line 1072 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = g_file_get_path (file); #line 1072 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = _tmp4_; #line 1072 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = g_strdup_printf ("NOTIFY %s: file=%s other_file=%s", (_tmp3_ != NULL) ? _tmp3_->value_name : NULL, _tmp5_, _tmp0_); #line 1072 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = _tmp6_; #line 1072 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp7_); #line 1072 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp7_); #line 1072 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp5_); #line 1082 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = directory_monitor_query_info_queue_element_new (self, file, other_file, event); #line 1082 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" query_info = _tmp8_; #line 1083 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = self->priv->query_info_queue; #line 1083 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_ = query_info; #line 1083 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" gee_queue_offer (_tmp9_, _tmp10_); #line 1085 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (event) { #line 1085 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_MONITOR_EVENT_CREATED: #line 1085 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: #line 4999 "DirectoryMonitor.c" { GCancellable* _tmp11_; DirectoryMonitorQueryInfoQueueElement* _tmp12_; #line 1088 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = self->priv->cancellable; #line 1088 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp12_ = query_info; #line 1088 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_file_query_info_async (file, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, DIRECTORY_MONITOR_UNKNOWN_INFO_FLAGS, DIRECTORY_MONITOR_DEFAULT_PRIORITY, _tmp11_, _directory_monitor_query_info_queue_element_on_completed_gasync_ready_callback, directory_monitor_query_info_queue_element_ref (_tmp12_)); #line 1090 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5011 "DirectoryMonitor.c" } #line 1085 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_MONITOR_EVENT_DELETED: #line 5015 "DirectoryMonitor.c" { guint _tmp13_; #line 1096 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp13_ = self->priv->delete_timer_id; #line 1096 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp13_ == ((guint) 0)) { #line 1097 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->delete_timer_id = g_timeout_add_full (G_PRIORITY_DEFAULT, DIRECTORY_MONITOR_DELETED_EXPIRATION_MSEC / 2, _directory_monitor_check_for_expired_delete_events_gsource_func, g_object_ref (self), g_object_unref); #line 5024 "DirectoryMonitor.c" } #line 1098 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5028 "DirectoryMonitor.c" } #line 1085 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_MONITOR_EVENT_MOVED: #line 5032 "DirectoryMonitor.c" { #line 1103 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (other_file != NULL) { #line 5036 "DirectoryMonitor.c" GCancellable* _tmp14_; DirectoryMonitorQueryInfoQueueElement* _tmp15_; #line 1104 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp14_ = self->priv->cancellable; #line 1104 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp15_ = query_info; #line 1104 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_file_query_info_async (other_file, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, DIRECTORY_MONITOR_UNKNOWN_INFO_FLAGS, DIRECTORY_MONITOR_DEFAULT_PRIORITY, _tmp14_, _directory_monitor_query_info_queue_element_on_completed_gasync_ready_callback, directory_monitor_query_info_queue_element_ref (_tmp15_)); #line 5045 "DirectoryMonitor.c" } else { GeeQueue* _tmp16_; DirectoryMonitorQueryInfoQueueElement* _tmp17_; #line 1107 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:1107: Unable to process MOVED event: no other_fi" \ "le"); #line 1108 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp16_ = self->priv->query_info_queue; #line 1108 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp17_ = query_info; #line 1108 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection), _tmp17_); #line 5057 "DirectoryMonitor.c" } #line 1110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5061 "DirectoryMonitor.c" } default: { DirectoryMonitorQueryInfoQueueElement* _tmp18_; DirectoryMonitorQueryInfoQueueElement* _tmp19_; #line 1114 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp18_ = query_info; #line 1114 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp18_->completed = TRUE; #line 1115 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp19_ = query_info; #line 1115 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_process_query_queue (self, _tmp19_); #line 1116 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5077 "DirectoryMonitor.c" } } #line 1071 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (query_info); #line 1071 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp0_); #line 5084 "DirectoryMonitor.c" } static void directory_monitor_process_query_queue (DirectoryMonitor* self, DirectoryMonitorQueryInfoQueueElement* query_info) { gboolean _tmp0_ = FALSE; gboolean _tmp1_ = FALSE; #line 1120 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 1120 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail ((query_info == NULL) || DIRECTORY_MONITOR_IS_QUERY_INFO_QUEUE_ELEMENT (query_info)); #line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (query_info != NULL) { #line 5100 "DirectoryMonitor.c" GFileInfo* _tmp2_; #line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = query_info->info; #line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp2_ != NULL; #line 5106 "DirectoryMonitor.c" } else { #line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = FALSE; #line 5110 "DirectoryMonitor.c" } #line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp1_) { #line 5114 "DirectoryMonitor.c" GFileMonitorEvent _tmp3_; #line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = query_info->event; #line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = _tmp3_ == G_FILE_MONITOR_EVENT_CREATED; #line 5120 "DirectoryMonitor.c" } else { #line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = FALSE; #line 5124 "DirectoryMonitor.c" } #line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp0_) { #line 5128 "DirectoryMonitor.c" GFile* match = NULL; DirectoryMonitorFileInfoMap* _tmp4_; GFileInfo* _tmp5_; GFile* _tmp6_; GFile* _tmp7_; #line 1126 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = self->priv->files; #line 1126 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = query_info->info; #line 1126 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = directory_monitor_file_info_map_find_match (_tmp4_, _tmp5_); #line 1126 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" match = _tmp6_; #line 1127 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = match; #line 1127 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp7_ != NULL) { #line 5146 "DirectoryMonitor.c" gboolean matched = FALSE; gboolean _tmp39_; #line 1128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" matched = FALSE; #line 5151 "DirectoryMonitor.c" { GeeIterator* _enqueued_it = NULL; GeeQueue* _tmp8_; GeeIterator* _tmp9_; #line 1129 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = self->priv->query_info_queue; #line 1129 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1129 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _enqueued_it = _tmp9_; #line 1129 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 5164 "DirectoryMonitor.c" GeeIterator* _tmp10_; DirectoryMonitorQueryInfoQueueElement* enqueued = NULL; GeeIterator* _tmp11_; gpointer _tmp12_; gboolean _tmp13_ = FALSE; gboolean _tmp14_ = FALSE; DirectoryMonitorQueryInfoQueueElement* _tmp15_; GFileMonitorEvent _tmp16_; GFile* _tmp22_; gchar* _tmp23_; gchar* _tmp24_; DirectoryMonitorQueryInfoQueueElement* _tmp25_; GFile* _tmp26_; gchar* _tmp27_; gchar* _tmp28_; gchar* _tmp29_; gchar* _tmp30_; DirectoryMonitorQueryInfoQueueElement* _tmp31_; DirectoryMonitorQueryInfoQueueElement* _tmp32_; GFile* _tmp33_; GFile* _tmp34_; DirectoryMonitorQueryInfoQueueElement* _tmp35_; GFileInfo* _tmp36_; GFileInfo* _tmp37_; DirectoryMonitorQueryInfoQueueElement* _tmp38_; #line 1129 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_ = _enqueued_it; #line 1129 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!gee_iterator_next (_tmp10_)) { #line 1129 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5196 "DirectoryMonitor.c" } #line 1129 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = _enqueued_it; #line 1129 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp12_ = gee_iterator_get (_tmp11_); #line 1129 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" enqueued = (DirectoryMonitorQueryInfoQueueElement*) _tmp12_; #line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp15_ = enqueued; #line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp16_ = _tmp15_->event; #line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp16_ != G_FILE_MONITOR_EVENT_DELETED) { #line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp14_ = TRUE; #line 5212 "DirectoryMonitor.c" } else { DirectoryMonitorQueryInfoQueueElement* _tmp17_; gboolean _tmp18_; #line 1131 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp17_ = enqueued; #line 1131 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp18_ = _tmp17_->completed; #line 1131 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp14_ = _tmp18_; #line 5222 "DirectoryMonitor.c" } #line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp14_) { #line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp13_ = TRUE; #line 5228 "DirectoryMonitor.c" } else { GFile* _tmp19_; DirectoryMonitorQueryInfoQueueElement* _tmp20_; GFile* _tmp21_; #line 1132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp19_ = match; #line 1132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp20_ = enqueued; #line 1132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp21_ = _tmp20_->file; #line 1132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp13_ = !g_file_equal (_tmp19_, _tmp21_); #line 5241 "DirectoryMonitor.c" } #line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp13_) { #line 1133 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (enqueued); #line 1133 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" continue; #line 5249 "DirectoryMonitor.c" } #line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp22_ = query_info->file; #line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp23_ = g_file_get_path (_tmp22_); #line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp24_ = _tmp23_; #line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp25_ = enqueued; #line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp26_ = _tmp25_->file; #line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp27_ = g_file_get_path (_tmp26_); #line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp28_ = _tmp27_; #line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp29_ = g_strdup_printf ("Matching CREATED %s to DELETED %s for MOVED", _tmp24_, _tmp28_); #line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp30_ = _tmp29_; #line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp30_); #line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp30_); #line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp28_); #line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp24_); #line 1139 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp31_ = enqueued; #line 1139 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp31_->event = G_FILE_MONITOR_EVENT_MOVED; #line 1140 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp32_ = enqueued; #line 1140 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp33_ = query_info->file; #line 1140 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp34_ = _g_object_ref0 (_tmp33_); #line 1140 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_tmp32_->other_file); #line 1140 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp32_->other_file = _tmp34_; #line 1141 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp35_ = enqueued; #line 1141 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp36_ = query_info->info; #line 1141 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp37_ = _g_object_ref0 (_tmp36_); #line 1141 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_tmp35_->info); #line 1141 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp35_->info = _tmp37_; #line 1142 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp38_ = enqueued; #line 1142 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp38_->completed = TRUE; #line 1144 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" matched = TRUE; #line 1146 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (enqueued); #line 1146 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5311 "DirectoryMonitor.c" } #line 1129 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_enqueued_it); #line 5315 "DirectoryMonitor.c" } #line 1149 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp39_ = matched; #line 1149 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp39_) { #line 5321 "DirectoryMonitor.c" GeeQueue* _tmp40_; #line 1150 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp40_ = self->priv->query_info_queue; #line 1150 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_COLLECTION, GeeCollection), query_info); #line 5327 "DirectoryMonitor.c" } } #line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (match); #line 5332 "DirectoryMonitor.c" } { gboolean _tmp41_ = FALSE; #line 1155 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp41_ = TRUE; #line 1155 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 5340 "DirectoryMonitor.c" DirectoryMonitorQueryInfoQueueElement* next = NULL; GeeQueue* _tmp42_; gpointer _tmp43_; gboolean _tmp44_ = FALSE; DirectoryMonitorQueryInfoQueueElement* _tmp45_; DirectoryMonitorQueryInfoQueueElement* n = NULL; GeeQueue* _tmp48_; gpointer _tmp49_; DirectoryMonitorQueryInfoQueueElement* _tmp50_; DirectoryMonitorQueryInfoQueueElement* _tmp51_; DirectoryMonitorQueryInfoQueueElement* _tmp52_; guint _tmp53_; DirectoryMonitorQueryInfoQueueElement* _tmp54_; GFileMonitorEvent _tmp55_; GEnumValue* _tmp56_; DirectoryMonitorQueryInfoQueueElement* _tmp57_; GFile* _tmp58_; gchar* _tmp59_; gchar* _tmp60_; gchar* _tmp61_; gchar* _tmp62_; DirectoryMonitorQueryInfoQueueElement* _tmp63_; GError* _tmp64_; gboolean _tmp77_ = FALSE; DirectoryMonitorQueryInfoQueueElement* _tmp78_; GFileInfo* _tmp79_; gboolean _tmp93_ = FALSE; DirectoryMonitorQueryInfoQueueElement* _tmp94_; GFileInfo* _tmp95_; DirectoryMonitorQueryInfoQueueElement* _tmp107_; GFile* _tmp108_; DirectoryMonitorQueryInfoQueueElement* _tmp109_; GFile* _tmp110_; DirectoryMonitorQueryInfoQueueElement* _tmp111_; GFileInfo* _tmp112_; DirectoryMonitorQueryInfoQueueElement* _tmp113_; GFileMonitorEvent _tmp114_; #line 1155 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!_tmp41_) { #line 5380 "DirectoryMonitor.c" } #line 1155 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp41_ = FALSE; #line 1157 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp42_ = self->priv->query_info_queue; #line 1157 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp43_ = gee_queue_peek (_tmp42_); #line 1157 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" next = (DirectoryMonitorQueryInfoQueueElement*) _tmp43_; #line 1158 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp45_ = next; #line 1158 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp45_ == NULL) { #line 1158 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp44_ = TRUE; #line 5396 "DirectoryMonitor.c" } else { DirectoryMonitorQueryInfoQueueElement* _tmp46_; gboolean _tmp47_; #line 1158 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp46_ = next; #line 1158 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp47_ = _tmp46_->completed; #line 1158 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp44_ = !_tmp47_; #line 5406 "DirectoryMonitor.c" } #line 1158 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp44_) { #line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (next); #line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5414 "DirectoryMonitor.c" } #line 1162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp48_ = self->priv->query_info_queue; #line 1162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp49_ = gee_queue_poll (_tmp48_); #line 1162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" n = (DirectoryMonitorQueryInfoQueueElement*) _tmp49_; #line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp50_ = next; #line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp51_ = n; #line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp50_ == _tmp51_, "next == n"); #line 1165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp52_ = next; #line 1165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp53_ = _tmp52_->position; #line 1165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp54_ = next; #line 1165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp55_ = _tmp54_->event; #line 1165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp56_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), _tmp55_); #line 1165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp57_ = next; #line 1165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp58_ = _tmp57_->file; #line 1165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp59_ = g_file_get_path (_tmp58_); #line 1165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp60_ = _tmp59_; #line 1165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp61_ = g_strdup_printf ("Completed info query %u for %s on %s", _tmp53_, (_tmp56_ != NULL) ? _tmp56_->value_name : NULL, _tmp60_); #line 1165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp62_ = _tmp61_; #line 1165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp62_); #line 1165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp62_); #line 1165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp60_); #line 1168 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp63_ = next; #line 1168 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp64_ = _tmp63_->err; #line 1168 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp64_ != NULL) { #line 5462 "DirectoryMonitor.c" DirectoryMonitorQueryInfoQueueElement* _tmp65_; GFile* _tmp66_; gchar* _tmp67_; gchar* _tmp68_; DirectoryMonitorQueryInfoQueueElement* _tmp69_; GFileMonitorEvent _tmp70_; GEnumValue* _tmp71_; DirectoryMonitorQueryInfoQueueElement* _tmp72_; GError* _tmp73_; const gchar* _tmp74_; gchar* _tmp75_; gchar* _tmp76_; #line 1169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp65_ = next; #line 1169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp66_ = _tmp65_->file; #line 1169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp67_ = g_file_get_path (_tmp66_); #line 1169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp68_ = _tmp67_; #line 1169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp69_ = next; #line 1169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp70_ = _tmp69_->event; #line 1170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp71_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), _tmp70_); #line 1169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp72_ = next; #line 1169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp73_ = _tmp72_->err; #line 1169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp74_ = _tmp73_->message; #line 1169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp75_ = g_strdup_printf ("Unable to retrieve file information for %s, dropping %s: %s", _tmp68_, (_tmp71_ != NULL) ? _tmp71_->value_name : NULL, _tmp74_); #line 1169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp76_ = _tmp75_; #line 1169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp76_); #line 1169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp76_); #line 1169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp68_); #line 1172 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (n); #line 1172 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (next); #line 1172 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" continue; #line 5511 "DirectoryMonitor.c" } #line 1176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp78_ = next; #line 1176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp79_ = _tmp78_->info; #line 1176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp79_ != NULL) { #line 5519 "DirectoryMonitor.c" DirectoryMonitorQueryInfoQueueElement* _tmp80_; GFileInfo* _tmp81_; gchar* _tmp82_; gchar* _tmp83_; #line 1176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp80_ = next; #line 1176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp81_ = _tmp80_->info; #line 1176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp82_ = get_file_info_id (_tmp81_); #line 1176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp83_ = _tmp82_; #line 1176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp77_ = _tmp83_ == NULL; #line 1176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp83_); #line 5536 "DirectoryMonitor.c" } else { #line 1176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp77_ = FALSE; #line 5540 "DirectoryMonitor.c" } #line 1176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp77_) { #line 5544 "DirectoryMonitor.c" DirectoryMonitorQueryInfoQueueElement* _tmp84_; GFile* _tmp85_; gchar* _tmp86_; gchar* _tmp87_; DirectoryMonitorQueryInfoQueueElement* _tmp88_; GFileMonitorEvent _tmp89_; GEnumValue* _tmp90_; gchar* _tmp91_; gchar* _tmp92_; #line 1177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp84_ = next; #line 1177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp85_ = _tmp84_->file; #line 1177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp86_ = g_file_get_path (_tmp85_); #line 1177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp87_ = _tmp86_; #line 1177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp88_ = next; #line 1177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp89_ = _tmp88_->event; #line 1178 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp90_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), _tmp89_); #line 1177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp91_ = g_strdup_printf ("Unable to retrieve file ID for %s, dropping %s", _tmp87_, (_tmp90_ != NULL) ? _tmp90_->value_name : NULL); #line 1177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp92_ = _tmp91_; #line 1177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp92_); #line 1177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp92_); #line 1177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp87_); #line 1180 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (n); #line 1180 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (next); #line 1180 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" continue; #line 5584 "DirectoryMonitor.c" } #line 1184 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp94_ = next; #line 1184 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp95_ = _tmp94_->info; #line 1184 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp95_ != NULL) { #line 5592 "DirectoryMonitor.c" DirectoryMonitorQueryInfoQueueElement* _tmp96_; GFileInfo* _tmp97_; #line 1184 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp96_ = next; #line 1184 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp97_ = _tmp96_->info; #line 1184 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp93_ = !directory_monitor_is_file_symlink_supported (_tmp97_); #line 5601 "DirectoryMonitor.c" } else { #line 1184 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp93_ = FALSE; #line 5605 "DirectoryMonitor.c" } #line 1184 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp93_) { #line 5609 "DirectoryMonitor.c" DirectoryMonitorQueryInfoQueueElement* _tmp98_; GFile* _tmp99_; gchar* _tmp100_; gchar* _tmp101_; DirectoryMonitorQueryInfoQueueElement* _tmp102_; GFileMonitorEvent _tmp103_; GEnumValue* _tmp104_; gchar* _tmp105_; gchar* _tmp106_; #line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp98_ = next; #line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp99_ = _tmp98_->file; #line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp100_ = g_file_get_path (_tmp99_); #line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp101_ = _tmp100_; #line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp102_ = next; #line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp103_ = _tmp102_->event; #line 1186 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp104_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), _tmp103_); #line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp105_ = g_strdup_printf ("No symlink support for %s, dropping %s", _tmp101_, (_tmp104_ != NULL) ? _tmp104_->value_name : NULL); #line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp106_ = _tmp105_; #line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp106_); #line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp106_); #line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp101_); #line 1188 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (n); #line 1188 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (next); #line 1188 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" continue; #line 5649 "DirectoryMonitor.c" } #line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp107_ = next; #line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp108_ = _tmp107_->file; #line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp109_ = next; #line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp110_ = _tmp109_->other_file; #line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp111_ = next; #line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp112_ = _tmp111_->info; #line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp113_ = next; #line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp114_ = _tmp113_->event; #line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_on_monitor_notification_ready (self, _tmp108_, _tmp110_, _tmp112_, _tmp114_); #line 1155 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (n); #line 1155 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (next); #line 5673 "DirectoryMonitor.c" } } } static void directory_monitor_on_monitor_notification_ready (DirectoryMonitor* self, GFile* file, GFile* other_file, GFileInfo* info, GFileMonitorEvent event) { gchar* _tmp0_ = NULL; GEnumValue* _tmp3_; gchar* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; gchar* _tmp7_; #line 1195 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (IS_DIRECTORY_MONITOR (self)); #line 1195 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 1195 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail ((other_file == NULL) || G_IS_FILE (other_file)); #line 1195 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail ((info == NULL) || G_IS_FILE_INFO (info)); #line 1198 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (other_file != NULL) { #line 5702 "DirectoryMonitor.c" gchar* _tmp1_; #line 1198 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = g_file_get_path (other_file); #line 1198 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp0_); #line 1198 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = _tmp1_; #line 5710 "DirectoryMonitor.c" } else { gchar* _tmp2_; #line 1198 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_strdup ("(null)"); #line 1198 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp0_); #line 1198 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = _tmp2_; #line 5719 "DirectoryMonitor.c" } #line 1197 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), event); #line 1197 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = g_file_get_path (file); #line 1197 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = _tmp4_; #line 1197 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = g_strdup_printf ("READY %s: file=%s other_file=%s", (_tmp3_ != NULL) ? _tmp3_->value_name : NULL, _tmp5_, _tmp0_); #line 1197 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = _tmp6_; #line 1197 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp7_); #line 1197 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp7_); #line 1197 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp5_); #line 1202 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (event) { #line 1202 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_MONITOR_EVENT_CREATED: #line 5741 "DirectoryMonitor.c" { DirectoryMonitorFType ftype = 0; DirectoryMonitorFType _tmp8_; #line 1204 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (info != NULL, "info != null"); #line 1206 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ftype = directory_monitor_get_ftype (info); #line 1207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = ftype; #line 1207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (_tmp8_) { #line 1207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_FILE: #line 5755 "DirectoryMonitor.c" { #line 1209 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_file_created (self, file, info); #line 1210 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5761 "DirectoryMonitor.c" } #line 1207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_DIRECTORY: #line 5765 "DirectoryMonitor.c" { gint _tmp9_; #line 1217 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = self->priv->outstanding_exploration_dirs; #line 1217 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->outstanding_exploration_dirs = _tmp9_ + 1; #line 1218 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_explore_async (self, file, info, FALSE, NULL, NULL); #line 1219 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5776 "DirectoryMonitor.c" } default: { DirectoryMonitorFType _tmp10_; #line 1222 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_ = ftype; #line 1222 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp10_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); #line 1223 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5787 "DirectoryMonitor.c" } } #line 1225 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5792 "DirectoryMonitor.c" } #line 1202 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_MONITOR_EVENT_CHANGED: #line 5796 "DirectoryMonitor.c" { GFileInfo* local_info = NULL; GFileInfo* _tmp11_; GFileInfo* _tmp12_; DirectoryMonitorFType ftype = 0; GFileInfo* _tmp17_; DirectoryMonitorFType _tmp18_; #line 1229 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (info == NULL, "info == null"); #line 1231 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = directory_monitor_get_file_info (self, file); #line 1231 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" local_info = _tmp11_; #line 1232 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp12_ = local_info; #line 1232 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp12_ == NULL) { #line 5814 "DirectoryMonitor.c" gchar* _tmp13_; gchar* _tmp14_; gchar* _tmp15_; gchar* _tmp16_; #line 1233 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp13_ = g_file_get_path (file); #line 1233 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp14_ = _tmp13_; #line 1233 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp15_ = g_strdup_printf ("Changed event for unknown file %s", _tmp14_); #line 1233 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp16_ = _tmp15_; #line 1233 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg (_tmp16_); #line 1233 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp16_); #line 1233 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp14_); #line 1235 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (local_info); #line 1235 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5837 "DirectoryMonitor.c" } #line 1238 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp17_ = local_info; #line 1238 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ftype = directory_monitor_get_ftype (_tmp17_); #line 1239 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp18_ = ftype; #line 1239 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (_tmp18_) { #line 1239 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_FILE: #line 5849 "DirectoryMonitor.c" { #line 1241 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_file_altered (self, file); #line 1242 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5855 "DirectoryMonitor.c" } #line 1239 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_DIRECTORY: #line 5859 "DirectoryMonitor.c" { #line 1245 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_directory_altered (self, file); #line 1246 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5865 "DirectoryMonitor.c" } default: { DirectoryMonitorFType _tmp19_; #line 1249 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp19_ = ftype; #line 1249 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp19_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); #line 1250 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5876 "DirectoryMonitor.c" } } #line 1252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (local_info); #line 1252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5883 "DirectoryMonitor.c" } #line 1202 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: #line 5887 "DirectoryMonitor.c" { DirectoryMonitorFType ftype = 0; DirectoryMonitorFType _tmp20_; #line 1255 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (info != NULL, "info != null"); #line 1257 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ftype = directory_monitor_get_ftype (info); #line 1258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp20_ = ftype; #line 1258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (_tmp20_) { #line 1258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_FILE: #line 5901 "DirectoryMonitor.c" { #line 1260 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_file_alteration_completed (self, file, info); #line 1261 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5907 "DirectoryMonitor.c" } #line 1258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_DIRECTORY: #line 5911 "DirectoryMonitor.c" { #line 1264 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_directory_alteration_completed (self, file, info); #line 1265 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5917 "DirectoryMonitor.c" } default: { DirectoryMonitorFType _tmp21_; #line 1268 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp21_ = ftype; #line 1268 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp21_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); #line 1269 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5928 "DirectoryMonitor.c" } } #line 1271 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5933 "DirectoryMonitor.c" } #line 1202 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_MONITOR_EVENT_MOVED: #line 5937 "DirectoryMonitor.c" { DirectoryMonitorFType ftype = 0; DirectoryMonitorFType _tmp22_; #line 1274 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (info != NULL, "info != null"); #line 1275 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (other_file != NULL, "other_file != null"); #line 1279 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ftype = directory_monitor_get_ftype (info); #line 1280 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp22_ = ftype; #line 1280 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (_tmp22_) { #line 1280 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_FILE: #line 5953 "DirectoryMonitor.c" { #line 1282 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_file_moved (self, file, other_file, info); #line 1283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5959 "DirectoryMonitor.c" } #line 1280 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_DIRECTORY: #line 5963 "DirectoryMonitor.c" { GFileInfo* old_dir_info = NULL; DirectoryMonitorFileInfoMap* _tmp23_; GFileInfo* _tmp24_; GFileInfo* _tmp25_; GFileInfo* _tmp28_; #line 1287 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp23_ = self->priv->files; #line 1287 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp24_ = directory_monitor_file_info_map_get_info (_tmp23_, file); #line 1287 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" old_dir_info = _tmp24_; #line 1288 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp25_ = old_dir_info; #line 1288 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp25_ == NULL) { #line 5980 "DirectoryMonitor.c" gchar* _tmp26_; gchar* _tmp27_; #line 1289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp26_ = g_file_get_path (file); #line 1289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp27_ = _tmp26_; #line 1289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:1289: Directory moved event for unknown file %s", _tmp27_); #line 1289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp27_); #line 1291 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (old_dir_info); #line 1291 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 5995 "DirectoryMonitor.c" } #line 1294 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp28_ = old_dir_info; #line 1294 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_directory_moved (self, file, _tmp28_, other_file, info); #line 1295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (old_dir_info); #line 1295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6005 "DirectoryMonitor.c" } default: { DirectoryMonitorFType _tmp29_; #line 1298 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp29_ = ftype; #line 1298 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp29_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); #line 1299 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6016 "DirectoryMonitor.c" } } #line 1301 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6021 "DirectoryMonitor.c" } #line 1202 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_MONITOR_EVENT_DELETED: #line 6025 "DirectoryMonitor.c" { GFileInfo* local_info = NULL; GFileInfo* _tmp30_; GFileInfo* _tmp31_; DirectoryMonitorFType ftype = 0; GFileInfo* _tmp34_; DirectoryMonitorFType _tmp35_; #line 1304 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (info == NULL, "info == null"); #line 1306 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp30_ = directory_monitor_get_file_info (self, file); #line 1306 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" local_info = _tmp30_; #line 1307 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp31_ = local_info; #line 1307 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp31_ == NULL) { #line 6043 "DirectoryMonitor.c" gchar* _tmp32_; gchar* _tmp33_; #line 1308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp32_ = g_file_get_path (file); #line 1308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp33_ = _tmp32_; #line 1308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:1308: Deleted event for unknown file %s", _tmp33_); #line 1308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp33_); #line 1310 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (local_info); #line 1310 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6058 "DirectoryMonitor.c" } #line 1313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp34_ = local_info; #line 1313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ftype = directory_monitor_get_ftype (_tmp34_); #line 1314 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp35_ = ftype; #line 1314 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (_tmp35_) { #line 1314 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_FILE: #line 6070 "DirectoryMonitor.c" { #line 1316 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_file_deleted (self, file); #line 1317 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6076 "DirectoryMonitor.c" } #line 1314 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_DIRECTORY: #line 6080 "DirectoryMonitor.c" { #line 1320 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_internal_notify_directory_deleted (self, file); #line 1321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6086 "DirectoryMonitor.c" } default: { DirectoryMonitorFType _tmp36_; #line 1324 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp36_ = ftype; #line 1324 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp36_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); #line 1325 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6097 "DirectoryMonitor.c" } } #line 1327 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (local_info); #line 1327 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6104 "DirectoryMonitor.c" } #line 1202 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: #line 6108 "DirectoryMonitor.c" { GFileInfo* local_info = NULL; GFileInfo* _tmp37_; GFileInfo* _tmp38_; DirectoryMonitorFType ftype = 0; GFileInfo* _tmp41_; DirectoryMonitorFType _tmp42_; #line 1331 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (info == NULL, "info == null"); #line 1333 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp37_ = directory_monitor_get_file_info (self, file); #line 1333 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" local_info = _tmp37_; #line 1334 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp38_ = local_info; #line 1334 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp38_ == NULL) { #line 6126 "DirectoryMonitor.c" gchar* _tmp39_; gchar* _tmp40_; #line 1335 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp39_ = g_file_get_path (file); #line 1335 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp40_ = _tmp39_; #line 1335 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:1335: Attribute changed event for unknown file %" \ "s", _tmp40_); #line 1335 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp40_); #line 1337 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (local_info); #line 1337 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6141 "DirectoryMonitor.c" } #line 1340 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp41_ = local_info; #line 1340 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ftype = directory_monitor_get_ftype (_tmp41_); #line 1341 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp42_ = ftype; #line 1341 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (_tmp42_) { #line 1341 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_FILE: #line 6153 "DirectoryMonitor.c" { #line 1343 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_file_attributes_altered (self, file); #line 1344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6159 "DirectoryMonitor.c" } #line 1341 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_DIRECTORY: #line 6163 "DirectoryMonitor.c" { #line 1347 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_notify_directory_attributes_altered (self, file); #line 1348 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6169 "DirectoryMonitor.c" } default: { DirectoryMonitorFType _tmp43_; #line 1351 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp43_ = ftype; #line 1351 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp43_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); #line 1352 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6180 "DirectoryMonitor.c" } } #line 1354 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (local_info); #line 1354 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6187 "DirectoryMonitor.c" } #line 1202 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_MONITOR_EVENT_PRE_UNMOUNT: #line 1202 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case G_FILE_MONITOR_EVENT_UNMOUNTED: #line 6193 "DirectoryMonitor.c" { #line 1359 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6197 "DirectoryMonitor.c" } default: { GEnumValue* _tmp44_; #line 1362 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp44_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), event); #line 1362 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:1362: Unknown directory monitor event %s", (_tmp44_ != NULL) ? _tmp44_->value_name : NULL); #line 1363 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6208 "DirectoryMonitor.c" } } #line 1195 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp0_); #line 6213 "DirectoryMonitor.c" } static gboolean directory_monitor_is_file_create_move (DirectoryMonitor* self, GFile* file, GFileInfo* info, GFile* * old_file, GFileInfo* * old_file_info) { GFile* _vala_old_file = NULL; GFileInfo* _vala_old_file_info = NULL; gboolean result = FALSE; GFile* match = NULL; DirectoryMonitorFileInfoMap* _tmp0_; GFile* _tmp1_; GFile* _tmp2_; #line 1369 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); #line 1369 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (file), FALSE); #line 1369 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); #line 1372 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->parent_moved; #line 1372 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = directory_monitor_file_info_map_find_match (_tmp0_, info); #line 1372 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" match = _tmp1_; #line 1373 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = match; #line 1373 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp2_ != NULL) { #line 6247 "DirectoryMonitor.c" GFile* _tmp3_; GFile* _tmp4_; DirectoryMonitorFileInfoMap* _tmp5_; GFile* _tmp6_; GFileInfo* _tmp7_; DirectoryMonitorFileInfoMap* _tmp8_; GFile* _tmp9_; #line 1374 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = match; #line 1374 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = _g_object_ref0 (_tmp3_); #line 1374 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_vala_old_file); #line 1374 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_old_file = _tmp4_; #line 1375 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = self->priv->parent_moved; #line 1375 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = match; #line 1375 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = directory_monitor_file_info_map_get_info (_tmp5_, _tmp6_); #line 1375 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_vala_old_file_info); #line 1375 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_old_file_info = _tmp7_; #line 1377 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = self->priv->parent_moved; #line 1377 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = match; #line 1377 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_file_info_map_remove (_tmp8_, _tmp9_, info); #line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = TRUE; #line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (match); #line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (old_file) { #line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *old_file = _vala_old_file; #line 6287 "DirectoryMonitor.c" } else { #line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_vala_old_file); #line 6291 "DirectoryMonitor.c" } #line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (old_file_info) { #line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *old_file_info = _vala_old_file_info; #line 6297 "DirectoryMonitor.c" } else { #line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_vala_old_file_info); #line 6301 "DirectoryMonitor.c" } #line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 6305 "DirectoryMonitor.c" } #line 1382 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_vala_old_file); #line 1382 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_old_file = NULL; #line 1383 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_vala_old_file_info); #line 1383 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_old_file_info = NULL; #line 1385 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = FALSE; #line 1385 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (match); #line 1385 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (old_file) { #line 1385 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *old_file = _vala_old_file; #line 6323 "DirectoryMonitor.c" } else { #line 1385 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_vala_old_file); #line 6327 "DirectoryMonitor.c" } #line 1385 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (old_file_info) { #line 1385 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *old_file_info = _vala_old_file_info; #line 6333 "DirectoryMonitor.c" } else { #line 1385 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_vala_old_file_info); #line 6337 "DirectoryMonitor.c" } #line 1385 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 6341 "DirectoryMonitor.c" } static gboolean directory_monitor_check_for_expired_delete_events (DirectoryMonitor* self) { gboolean result = FALSE; gulong expiration = 0UL; gboolean any_deleted = FALSE; gboolean any_expired = FALSE; gboolean _tmp11_; gboolean _tmp12_; #line 1388 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); #line 1389 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" expiration = now_ms () - DIRECTORY_MONITOR_DELETED_EXPIRATION_MSEC; #line 1391 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" any_deleted = FALSE; #line 1392 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" any_expired = FALSE; #line 6362 "DirectoryMonitor.c" { GeeIterator* _element_it = NULL; GeeQueue* _tmp0_; GeeIterator* _tmp1_; #line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->query_info_queue; #line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); #line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _element_it = _tmp1_; #line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 6375 "DirectoryMonitor.c" GeeIterator* _tmp2_; DirectoryMonitorQueryInfoQueueElement* element = NULL; GeeIterator* _tmp3_; gpointer _tmp4_; DirectoryMonitorQueryInfoQueueElement* _tmp5_; GFileMonitorEvent _tmp6_; DirectoryMonitorQueryInfoQueueElement* _tmp7_; gulong _tmp8_; gulong _tmp9_; DirectoryMonitorQueryInfoQueueElement* _tmp10_; #line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = _element_it; #line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!gee_iterator_next (_tmp2_)) { #line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 6392 "DirectoryMonitor.c" } #line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _element_it; #line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = gee_iterator_get (_tmp3_); #line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" element = (DirectoryMonitorQueryInfoQueueElement*) _tmp4_; #line 1394 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = element; #line 1394 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = _tmp5_->event; #line 1394 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp6_ != G_FILE_MONITOR_EVENT_DELETED) { #line 1395 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (element); #line 1395 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" continue; #line 6410 "DirectoryMonitor.c" } #line 1397 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" any_deleted = TRUE; #line 1399 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = element; #line 1399 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = _tmp7_->time_created_msec; #line 1399 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = expiration; #line 1399 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp8_ > _tmp9_) { #line 1400 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (element); #line 1400 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" continue; #line 6426 "DirectoryMonitor.c" } #line 1403 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_ = element; #line 1403 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_->completed = TRUE; #line 1404 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" any_expired = TRUE; #line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_query_info_queue_element_unref0 (element); #line 6436 "DirectoryMonitor.c" } #line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_element_it); #line 6440 "DirectoryMonitor.c" } #line 1407 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = any_expired; #line 1407 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp11_) { #line 1408 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_process_query_queue (self, NULL); #line 6448 "DirectoryMonitor.c" } #line 1410 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp12_ = any_deleted; #line 1410 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!_tmp12_) { #line 1411 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->delete_timer_id = (guint) 0; #line 6456 "DirectoryMonitor.c" } #line 1413 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = any_deleted; #line 1413 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 6462 "DirectoryMonitor.c" } GFileInfo* directory_monitor_get_file_info (DirectoryMonitor* self, GFile* file) { GFileInfo* result = NULL; DirectoryMonitorFileInfoMap* _tmp0_; GFileInfo* _tmp1_; #line 1417 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), NULL); #line 1417 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (file), NULL); #line 1418 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->files; #line 1418 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = directory_monitor_file_info_map_get_info (_tmp0_, file); #line 1418 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = _tmp1_; #line 1418 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 6485 "DirectoryMonitor.c" } GeeCollection* directory_monitor_get_files (DirectoryMonitor* self) { GeeCollection* result = NULL; DirectoryMonitorFileInfoMap* _tmp0_; GeeCollection* _tmp1_; #line 1423 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), NULL); #line 1424 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->files; #line 1424 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = directory_monitor_file_info_map_get_all (_tmp0_); #line 1424 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = _tmp1_; #line 1424 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 6505 "DirectoryMonitor.c" } GFileInfo* directory_monitor_query_file_info (DirectoryMonitor* self, GFile* file) { GFileInfo* result = NULL; DirectoryMonitorFileInfoMap* _tmp0_; GCancellable* _tmp1_; GFileInfo* _tmp2_; #line 1430 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), NULL); #line 1430 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (file), NULL); #line 1431 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->files; #line 1431 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = self->priv->cancellable; #line 1431 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = directory_monitor_file_info_map_query_info (_tmp0_, file, _tmp1_); #line 1431 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = _tmp2_; #line 1431 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 6531 "DirectoryMonitor.c" } gboolean directory_monitor_is_file_symlink_supported (GFileInfo* info) { gboolean result = FALSE; DirectoryMonitorFType ftype = 0; DirectoryMonitorFType _tmp0_; #line 1441 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); #line 1442 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!g_file_info_get_is_symlink (info)) { #line 1443 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = TRUE; #line 1443 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 6549 "DirectoryMonitor.c" } #line 1445 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ftype = directory_monitor_get_ftype (info); #line 1446 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = ftype; #line 1446 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (_tmp0_) { #line 1446 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_DIRECTORY: #line 6559 "DirectoryMonitor.c" { #line 1448 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = DIRECTORY_MONITOR_SUPPORT_DIR_SYMLINKS; #line 1448 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 6565 "DirectoryMonitor.c" } #line 1446 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_FILE: #line 6569 "DirectoryMonitor.c" { #line 1451 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = DIRECTORY_MONITOR_SUPPORT_FILE_SYMLINKS; #line 1451 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 6575 "DirectoryMonitor.c" } default: { DirectoryMonitorFType _tmp1_; #line 1454 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = ftype; #line 1454 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp1_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); #line 1456 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = FALSE; #line 1456 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 6588 "DirectoryMonitor.c" } } } static void directory_monitor_real_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info) { #line 386 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (old_root)); #line 386 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (new_root)); #line 386 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (new_root_info)); #line 6606 "DirectoryMonitor.c" } static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer arg_3, gpointer data2); register GMarshalFunc_VOID__OBJECT_OBJECT_OBJECT callback; register GCClosure * cc; register gpointer data1; register gpointer data2; cc = (GCClosure *) closure; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (n_param_values == 4); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (G_CCLOSURE_SWAP_DATA (closure)) { #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" data1 = closure->data; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" data2 = param_values->data[0].v_pointer; #line 6632 "DirectoryMonitor.c" } else { #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" data1 = param_values->data[0].v_pointer; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" data2 = closure->data; #line 6638 "DirectoryMonitor.c" } #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" callback = (GMarshalFunc_VOID__OBJECT_OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), g_value_get_object (param_values + 3), data2); #line 6644 "DirectoryMonitor.c" } static void directory_monitor_real_root_deleted (DirectoryMonitor* self, GFile* root) { #line 394 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (root)); #line 6654 "DirectoryMonitor.c" } static void directory_monitor_real_discovery_started (DirectoryMonitor* self) { } static void directory_monitor_real_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info) { #line 400 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 400 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 6673 "DirectoryMonitor.c" } static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__OBJECT_OBJECT callback; register GCClosure * cc; register gpointer data1; register gpointer data2; cc = (GCClosure *) closure; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (n_param_values == 3); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (G_CCLOSURE_SWAP_DATA (closure)) { #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" data1 = closure->data; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" data2 = param_values->data[0].v_pointer; #line 6699 "DirectoryMonitor.c" } else { #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" data1 = param_values->data[0].v_pointer; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" data2 = closure->data; #line 6705 "DirectoryMonitor.c" } #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), data2); #line 6711 "DirectoryMonitor.c" } static void directory_monitor_real_directory_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info) { #line 403 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 403 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 6724 "DirectoryMonitor.c" } static void directory_monitor_real_discovery_failed (DirectoryMonitor* self, const gchar* reason) { #line 408 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (reason != NULL); #line 6734 "DirectoryMonitor.c" } static void directory_monitor_real_discovery_completed (DirectoryMonitor* self) { #line 412 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->has_discovery_started = FALSE; #line 413 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_mdbg ("discovery completed"); #line 6745 "DirectoryMonitor.c" } static void directory_monitor_real_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info) { #line 416 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 416 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 6758 "DirectoryMonitor.c" } static void directory_monitor_real_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info) { #line 419 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (old_file)); #line 419 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (new_file)); #line 419 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (new_file_info)); #line 6774 "DirectoryMonitor.c" } static void directory_monitor_real_file_altered (DirectoryMonitor* self, GFile* file) { #line 423 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 6784 "DirectoryMonitor.c" } static void directory_monitor_real_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info) { #line 428 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 428 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 6797 "DirectoryMonitor.c" } static void directory_monitor_real_file_attributes_altered (DirectoryMonitor* self, GFile* file) { #line 431 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 6807 "DirectoryMonitor.c" } static void directory_monitor_real_file_deleted (DirectoryMonitor* self, GFile* file) { #line 434 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (file)); #line 6817 "DirectoryMonitor.c" } static void directory_monitor_real_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { #line 438 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 438 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 6830 "DirectoryMonitor.c" } static void directory_monitor_real_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info) { #line 442 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (old_dir)); #line 442 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (new_dir)); #line 442 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (new_dir_info)); #line 6846 "DirectoryMonitor.c" } static void directory_monitor_real_directory_altered (DirectoryMonitor* self, GFile* dir) { #line 446 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 6856 "DirectoryMonitor.c" } static void directory_monitor_real_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { #line 451 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 451 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE_INFO (info)); #line 6869 "DirectoryMonitor.c" } static void directory_monitor_real_directory_attributes_altered (DirectoryMonitor* self, GFile* dir) { #line 454 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 6879 "DirectoryMonitor.c" } static void directory_monitor_real_directory_deleted (DirectoryMonitor* self, GFile* dir) { #line 458 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (dir)); #line 6889 "DirectoryMonitor.c" } static void directory_monitor_real_closed (DirectoryMonitor* self) { } static DirectoryMonitorQueryInfoQueueElement* directory_monitor_query_info_queue_element_construct (GType object_type, DirectoryMonitor* owner, GFile* file, GFile* other_file, GFileMonitorEvent event) { DirectoryMonitorQueryInfoQueueElement* self = NULL; DirectoryMonitor* _tmp0_; GFile* _tmp1_; GFile* _tmp2_; guint _tmp3_; #line 96 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (IS_DIRECTORY_MONITOR (owner), NULL); #line 96 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (file), NULL); #line 96 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail ((other_file == NULL) || G_IS_FILE (other_file), NULL); #line 96 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self = (DirectoryMonitorQueryInfoQueueElement*) g_type_create_instance (object_type); #line 98 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = _g_object_ref0 (owner); #line 98 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->owner); #line 98 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->owner = _tmp0_; #line 99 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _g_object_ref0 (file); #line 99 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->file); #line 99 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->file = _tmp1_; #line 100 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = _g_object_ref0 (other_file); #line 100 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->other_file); #line 100 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->other_file = _tmp2_; #line 101 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->event = event; #line 102 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = directory_monitor_query_info_queue_element_current; #line 102 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_query_info_queue_element_current = _tmp3_ + 1; #line 102 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->position = _tmp3_; #line 103 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->time_created_msec = now_ms (); #line 96 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return self; #line 6949 "DirectoryMonitor.c" } static DirectoryMonitorQueryInfoQueueElement* directory_monitor_query_info_queue_element_new (DirectoryMonitor* owner, GFile* file, GFile* other_file, GFileMonitorEvent event) { #line 96 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return directory_monitor_query_info_queue_element_construct (DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT, owner, file, other_file, event); #line 6961 "DirectoryMonitor.c" } static gpointer _g_error_copy0 (gpointer self) { #line 117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return self ? g_error_copy (self) : NULL; #line 6970 "DirectoryMonitor.c" } static void directory_monitor_query_info_queue_element_on_completed (DirectoryMonitorQueryInfoQueueElement* self, GObject* source, GAsyncResult* aresult) { GFile* source_file = NULL; GFile* _tmp0_; DirectoryMonitor* _tmp14_; GError * _inner_error_ = NULL; #line 106 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (DIRECTORY_MONITOR_IS_QUERY_INFO_QUEUE_ELEMENT (self)); #line 106 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail ((source == NULL) || G_IS_OBJECT (source)); #line 106 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_ASYNC_RESULT (aresult)); #line 107 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (source, g_file_get_type (), GFile)); #line 107 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" source_file = _tmp0_; #line 6993 "DirectoryMonitor.c" { GFileInfo* _tmp1_ = NULL; GFileInfo* _tmp2_; GFileInfo* _tmp3_; GFileInfo* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; gboolean _tmp7_; #line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = g_file_query_info_finish (source_file, aresult, &_inner_error_); #line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _tmp2_; #line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 7008 "DirectoryMonitor.c" goto __catch493_g_error; } #line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp1_; #line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = NULL; #line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->info); #line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->info = _tmp3_; #line 112 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = self->info; #line 112 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = get_file_info_id (_tmp4_); #line 112 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = _tmp5_; #line 112 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = _tmp6_ == NULL; #line 112 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp6_); #line 112 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp7_) { #line 7031 "DirectoryMonitor.c" GFileInfo* _tmp8_; GFile* _tmp9_; gchar* _tmp10_; gchar* _tmp11_; #line 113 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = self->info; #line 113 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = self->file; #line 113 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_ = g_file_get_uri (_tmp9_); #line 113 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = _tmp10_; #line 113 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_file_info_set_attribute_string (_tmp8_, G_FILE_ATTRIBUTE_ID_FILE, _tmp11_); #line 113 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp11_); #line 7048 "DirectoryMonitor.c" } #line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_tmp1_); #line 7052 "DirectoryMonitor.c" } goto __finally493; __catch493_g_error: { GError* err = NULL; GError* _tmp12_; GError* _tmp13_; #line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" err = _inner_error_; #line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _inner_error_ = NULL; #line 117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp12_ = err; #line 117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp13_ = _g_error_copy0 (_tmp12_); #line 117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_error_free0 (self->err); #line 117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->err = _tmp13_; #line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_error_free0 (err); #line 7074 "DirectoryMonitor.c" } __finally493: #line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (source_file); #line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); #line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_clear_error (&_inner_error_); #line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return; #line 7087 "DirectoryMonitor.c" } #line 121 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->completed = TRUE; #line 124 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp14_ = self->owner; #line 124 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_process_query_queue (_tmp14_, self); #line 106 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (source_file); #line 7097 "DirectoryMonitor.c" } static void directory_monitor_value_query_info_queue_element_init (GValue* value) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" value->data[0].v_pointer = NULL; #line 7106 "DirectoryMonitor.c" } static void directory_monitor_value_query_info_queue_element_free_value (GValue* value) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (value->data[0].v_pointer) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_query_info_queue_element_unref (value->data[0].v_pointer); #line 7117 "DirectoryMonitor.c" } } static void directory_monitor_value_query_info_queue_element_copy_value (const GValue* src_value, GValue* dest_value) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (src_value->data[0].v_pointer) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" dest_value->data[0].v_pointer = directory_monitor_query_info_queue_element_ref (src_value->data[0].v_pointer); #line 7130 "DirectoryMonitor.c" } else { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" dest_value->data[0].v_pointer = NULL; #line 7134 "DirectoryMonitor.c" } } static gpointer directory_monitor_value_query_info_queue_element_peek_pointer (const GValue* value) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return value->data[0].v_pointer; #line 7144 "DirectoryMonitor.c" } static gchar* directory_monitor_value_query_info_queue_element_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (collect_values[0].v_pointer) { #line 7156 "DirectoryMonitor.c" DirectoryMonitorQueryInfoQueueElement * object; object = collect_values[0].v_pointer; #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (object->parent_instance.g_class == NULL) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); #line 7163 "DirectoryMonitor.c" } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); #line 7167 "DirectoryMonitor.c" } #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" value->data[0].v_pointer = directory_monitor_query_info_queue_element_ref (object); #line 7171 "DirectoryMonitor.c" } else { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" value->data[0].v_pointer = NULL; #line 7175 "DirectoryMonitor.c" } #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return NULL; #line 7179 "DirectoryMonitor.c" } static gchar* directory_monitor_value_query_info_queue_element_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { DirectoryMonitorQueryInfoQueueElement ** object_p; object_p = collect_values[0].v_pointer; #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!object_p) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); #line 7195 "DirectoryMonitor.c" } #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!value->data[0].v_pointer) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *object_p = NULL; #line 7201 "DirectoryMonitor.c" } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *object_p = value->data[0].v_pointer; #line 7205 "DirectoryMonitor.c" } else { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *object_p = directory_monitor_query_info_queue_element_ref (value->data[0].v_pointer); #line 7209 "DirectoryMonitor.c" } #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return NULL; #line 7213 "DirectoryMonitor.c" } static GParamSpec* directory_monitor_param_spec_query_info_queue_element (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { DirectoryMonitorParamSpecQueryInfoQueueElement* spec; #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (g_type_is_a (object_type, DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT), NULL); #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" G_PARAM_SPEC (spec)->value_type = object_type; #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return G_PARAM_SPEC (spec); #line 7233 "DirectoryMonitor.c" } static gpointer directory_monitor_value_get_query_info_queue_element (const GValue* value) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT), NULL); #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return value->data[0].v_pointer; #line 7244 "DirectoryMonitor.c" } static void directory_monitor_value_set_query_info_queue_element (GValue* value, gpointer v_object) { DirectoryMonitorQueryInfoQueueElement * old; #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT)); #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" old = value->data[0].v_pointer; #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (v_object) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT)); #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" value->data[0].v_pointer = v_object; #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_query_info_queue_element_ref (value->data[0].v_pointer); #line 7267 "DirectoryMonitor.c" } else { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" value->data[0].v_pointer = NULL; #line 7271 "DirectoryMonitor.c" } #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (old) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_query_info_queue_element_unref (old); #line 7277 "DirectoryMonitor.c" } } static void directory_monitor_value_take_query_info_queue_element (GValue* value, gpointer v_object) { DirectoryMonitorQueryInfoQueueElement * old; #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT)); #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" old = value->data[0].v_pointer; #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (v_object) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT)); #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" value->data[0].v_pointer = v_object; #line 7299 "DirectoryMonitor.c" } else { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" value->data[0].v_pointer = NULL; #line 7303 "DirectoryMonitor.c" } #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (old) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_query_info_queue_element_unref (old); #line 7309 "DirectoryMonitor.c" } } static void directory_monitor_query_info_queue_element_class_init (DirectoryMonitorQueryInfoQueueElementClass * klass) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_query_info_queue_element_parent_class = g_type_class_peek_parent (klass); #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorQueryInfoQueueElementClass *) klass)->finalize = directory_monitor_query_info_queue_element_finalize; #line 7321 "DirectoryMonitor.c" } static void directory_monitor_query_info_queue_element_instance_init (DirectoryMonitorQueryInfoQueueElement * self) { #line 92 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->info = NULL; #line 93 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->err = NULL; #line 94 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->completed = FALSE; #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->ref_count = 1; #line 7336 "DirectoryMonitor.c" } static void directory_monitor_query_info_queue_element_finalize (DirectoryMonitorQueryInfoQueueElement * obj) { DirectoryMonitorQueryInfoQueueElement * self; #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT, DirectoryMonitorQueryInfoQueueElement); #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_handlers_destroy (self); #line 86 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->owner); #line 87 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->file); #line 88 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->other_file); #line 92 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->info); #line 93 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_error_free0 (self->err); #line 7358 "DirectoryMonitor.c" } static GType directory_monitor_query_info_queue_element_get_type (void) { static volatile gsize directory_monitor_query_info_queue_element_type_id__volatile = 0; if (g_once_init_enter (&directory_monitor_query_info_queue_element_type_id__volatile)) { static const GTypeValueTable g_define_type_value_table = { directory_monitor_value_query_info_queue_element_init, directory_monitor_value_query_info_queue_element_free_value, directory_monitor_value_query_info_queue_element_copy_value, directory_monitor_value_query_info_queue_element_peek_pointer, "p", directory_monitor_value_query_info_queue_element_collect_value, "p", directory_monitor_value_query_info_queue_element_lcopy_value }; static const GTypeInfo g_define_type_info = { sizeof (DirectoryMonitorQueryInfoQueueElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) directory_monitor_query_info_queue_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DirectoryMonitorQueryInfoQueueElement), 0, (GInstanceInitFunc) directory_monitor_query_info_queue_element_instance_init, &g_define_type_value_table }; static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; GType directory_monitor_query_info_queue_element_type_id; directory_monitor_query_info_queue_element_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DirectoryMonitorQueryInfoQueueElement", &g_define_type_info, &g_define_type_fundamental_info, 0); g_once_init_leave (&directory_monitor_query_info_queue_element_type_id__volatile, directory_monitor_query_info_queue_element_type_id); } return directory_monitor_query_info_queue_element_type_id__volatile; } static gpointer directory_monitor_query_info_queue_element_ref (gpointer instance) { DirectoryMonitorQueryInfoQueueElement * self; self = instance; #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_atomic_int_inc (&self->ref_count); #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return instance; #line 7387 "DirectoryMonitor.c" } static void directory_monitor_query_info_queue_element_unref (gpointer instance) { DirectoryMonitorQueryInfoQueueElement * self; self = instance; #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (g_atomic_int_dec_and_test (&self->ref_count)) { #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_QUERY_INFO_QUEUE_ELEMENT_GET_CLASS (self)->finalize (self); #line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_type_free_instance ((GTypeInstance *) self); #line 7402 "DirectoryMonitor.c" } } static DirectoryMonitorFileInfoMap* directory_monitor_file_info_map_construct (GType object_type) { DirectoryMonitorFileInfoMap* self = NULL; #line 138 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self = (DirectoryMonitorFileInfoMap*) g_type_create_instance (object_type); #line 138 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return self; #line 7415 "DirectoryMonitor.c" } static DirectoryMonitorFileInfoMap* directory_monitor_file_info_map_new (void) { #line 138 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return directory_monitor_file_info_map_construct (DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP); #line 7424 "DirectoryMonitor.c" } static gboolean directory_monitor_file_info_map_normalize_file (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info, GFile* * normalized, gchar* * id) { GFile* _vala_normalized = NULL; gchar* _vala_id = NULL; gboolean result = FALSE; GFileInfo* local_info = NULL; GFileInfo* _tmp0_; GFileInfo* _tmp1_; gchar* file_id = NULL; GFileInfo* _tmp5_; gchar* _tmp6_; const gchar* _tmp7_; GFile* known_file = NULL; GeeHashMap* _tmp8_; const gchar* _tmp9_; gpointer _tmp10_; const gchar* _tmp11_; gchar* _tmp12_; GFile* _tmp13_ = NULL; GFile* _tmp14_; GFile* _tmp16_; #line 141 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), FALSE); #line 141 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (file), FALSE); #line 141 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail ((info == NULL) || G_IS_FILE_INFO (info), FALSE); #line 144 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = _g_object_ref0 (info); #line 144 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" local_info = _tmp0_; #line 145 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = local_info; #line 145 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp1_ == NULL) { #line 7468 "DirectoryMonitor.c" GeeHashMap* _tmp2_; gpointer _tmp3_; GFileInfo* _tmp4_; #line 146 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = self->priv->map; #line 146 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), file); #line 146 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (local_info); #line 146 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" local_info = (GFileInfo*) _tmp3_; #line 147 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = local_info; #line 147 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp4_ == NULL) { #line 148 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_vala_normalized); #line 148 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_normalized = NULL; #line 149 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_vala_id); #line 149 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_id = NULL; #line 151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = FALSE; #line 151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (local_info); #line 151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (normalized) { #line 151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *normalized = _vala_normalized; #line 7500 "DirectoryMonitor.c" } else { #line 151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_vala_normalized); #line 7504 "DirectoryMonitor.c" } #line 151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (id) { #line 151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *id = _vala_id; #line 7510 "DirectoryMonitor.c" } else { #line 151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_vala_id); #line 7514 "DirectoryMonitor.c" } #line 151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 7518 "DirectoryMonitor.c" } } #line 155 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = local_info; #line 155 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = get_file_info_id (_tmp5_); #line 155 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" file_id = _tmp6_; #line 156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = file_id; #line 156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp7_ == NULL) { #line 157 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_vala_normalized); #line 157 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_normalized = NULL; #line 158 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_vala_id); #line 158 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_id = NULL; #line 160 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = FALSE; #line 160 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (file_id); #line 160 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (local_info); #line 160 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (normalized) { #line 160 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *normalized = _vala_normalized; #line 7549 "DirectoryMonitor.c" } else { #line 160 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_vala_normalized); #line 7553 "DirectoryMonitor.c" } #line 160 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (id) { #line 160 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *id = _vala_id; #line 7559 "DirectoryMonitor.c" } else { #line 160 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_vala_id); #line 7563 "DirectoryMonitor.c" } #line 160 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 7567 "DirectoryMonitor.c" } #line 163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = self->priv->id_map; #line 163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = file_id; #line 163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_); #line 163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" known_file = (GFile*) _tmp10_; #line 165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = file_id; #line 165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp12_ = g_strdup ((const gchar*) _tmp11_); #line 165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_vala_id); #line 165 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_id = _tmp12_; #line 166 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp14_ = known_file; #line 166 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp14_ != NULL) { #line 7589 "DirectoryMonitor.c" GFile* _tmp15_; #line 166 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp15_ = known_file; #line 166 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp13_ = _tmp15_; #line 7595 "DirectoryMonitor.c" } else { #line 166 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp13_ = file; #line 7599 "DirectoryMonitor.c" } #line 166 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp16_ = _g_object_ref0 (_tmp13_); #line 166 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_vala_normalized); #line 166 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_normalized = _tmp16_; #line 168 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = TRUE; #line 168 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (known_file); #line 168 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (file_id); #line 168 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (local_info); #line 168 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (normalized) { #line 168 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *normalized = _vala_normalized; #line 7619 "DirectoryMonitor.c" } else { #line 168 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_vala_normalized); #line 7623 "DirectoryMonitor.c" } #line 168 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (id) { #line 168 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *id = _vala_id; #line 7629 "DirectoryMonitor.c" } else { #line 168 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_vala_id); #line 7633 "DirectoryMonitor.c" } #line 168 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 7637 "DirectoryMonitor.c" } static gboolean directory_monitor_file_info_map_update (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info) { gboolean result = FALSE; GeeHashMap* _tmp0_; gchar* existing_id = NULL; gchar* _tmp4_; gboolean _tmp5_ = FALSE; const gchar* _tmp6_; gchar* id = NULL; GFile* normalized = NULL; GFile* _tmp13_ = NULL; gchar* _tmp14_ = NULL; gboolean _tmp15_; GeeHashMap* _tmp16_; GFile* _tmp17_; GeeHashMap* _tmp18_; const gchar* _tmp19_; GFile* _tmp20_; #line 171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), FALSE); #line 171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (file), FALSE); #line 171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); #line 173 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->map; #line 173 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), file)) { #line 7672 "DirectoryMonitor.c" gboolean removed = FALSE; GeeHashMap* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; #line 174 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = self->priv->map; #line 174 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), file, NULL); #line 174 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" removed = _tmp2_; #line 175 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = removed; #line 175 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp3_, "removed"); #line 7687 "DirectoryMonitor.c" } #line 179 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = get_file_info_id (info); #line 179 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" existing_id = _tmp4_; #line 180 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = existing_id; #line 180 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp6_ != NULL) { #line 7697 "DirectoryMonitor.c" GeeHashMap* _tmp7_; const gchar* _tmp8_; #line 180 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = self->priv->id_map; #line 180 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = existing_id; #line 180 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp8_); #line 7706 "DirectoryMonitor.c" } else { #line 180 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = FALSE; #line 7710 "DirectoryMonitor.c" } #line 180 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp5_) { #line 7714 "DirectoryMonitor.c" gboolean removed = FALSE; GeeHashMap* _tmp9_; const gchar* _tmp10_; gboolean _tmp11_; gboolean _tmp12_; #line 181 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = self->priv->id_map; #line 181 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_ = existing_id; #line 181 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp10_, NULL); #line 181 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" removed = _tmp11_; #line 182 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp12_ = removed; #line 182 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp12_, "removed"); #line 7732 "DirectoryMonitor.c" } #line 187 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp15_ = directory_monitor_file_info_map_normalize_file (self, file, info, &_tmp13_, &_tmp14_); #line 187 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 187 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" normalized = _tmp13_; #line 187 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 187 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" id = _tmp14_; #line 187 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!_tmp15_) { #line 188 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = FALSE; #line 188 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 188 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 188 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (existing_id); #line 188 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 7756 "DirectoryMonitor.c" } #line 190 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp16_ = self->priv->map; #line 190 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp17_ = normalized; #line 190 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp17_, info); #line 191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp18_ = self->priv->id_map; #line 191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp19_ = id; #line 191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp20_ = normalized; #line 191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp19_, _tmp20_); #line 193 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = TRUE; #line 193 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 193 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 193 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (existing_id); #line 193 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 7782 "DirectoryMonitor.c" } static gboolean directory_monitor_file_info_map_remove (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info) { gboolean result = FALSE; gchar* id = NULL; GFile* normalized = NULL; GFile* _tmp0_ = NULL; gchar* _tmp1_ = NULL; gboolean _tmp2_; GeeHashMap* _tmp3_; GFile* _tmp4_; GeeHashMap* _tmp5_; const gchar* _tmp6_; #line 196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), FALSE); #line 196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (file), FALSE); #line 196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail ((info == NULL) || G_IS_FILE_INFO (info), FALSE); #line 199 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = directory_monitor_file_info_map_normalize_file (self, file, info, &_tmp0_, &_tmp1_); #line 199 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 199 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" normalized = _tmp0_; #line 199 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 199 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" id = _tmp1_; #line 199 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!_tmp2_) { #line 200 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = FALSE; #line 200 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 200 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 200 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 7827 "DirectoryMonitor.c" } #line 202 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = self->priv->map; #line 202 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = normalized; #line 202 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_, NULL); #line 203 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = self->priv->id_map; #line 203 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = id; #line 203 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp6_, NULL); #line 205 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = TRUE; #line 205 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 205 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 205 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 7849 "DirectoryMonitor.c" } static void directory_monitor_file_info_map_remove_all (DirectoryMonitorFileInfoMap* self, GeeCollection* files) { #line 210 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self)); #line 210 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (GEE_IS_COLLECTION (files)); #line 7861 "DirectoryMonitor.c" { GeeIterator* _file_it = NULL; GeeIterator* _tmp0_; #line 211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (files, GEE_TYPE_ITERABLE, GeeIterable)); #line 211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _file_it = _tmp0_; #line 211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 7871 "DirectoryMonitor.c" GeeIterator* _tmp1_; GFile* file = NULL; GeeIterator* _tmp2_; gpointer _tmp3_; GFile* _tmp4_; #line 211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = _file_it; #line 211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!gee_iterator_next (_tmp1_)) { #line 211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 7883 "DirectoryMonitor.c" } #line 211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = _file_it; #line 211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = gee_iterator_get (_tmp2_); #line 211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" file = (GFile*) _tmp3_; #line 212 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = file; #line 212 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_file_info_map_remove (self, _tmp4_, NULL); #line 211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (file); #line 7897 "DirectoryMonitor.c" } #line 211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_file_it); #line 7901 "DirectoryMonitor.c" } } static gboolean directory_monitor_file_info_map_contains (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info) { gboolean result = FALSE; gchar* id = NULL; GFile* normalized = NULL; GFile* _tmp0_ = NULL; gchar* _tmp1_ = NULL; gboolean _tmp2_; GeeHashMap* _tmp3_; const gchar* _tmp4_; #line 215 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), FALSE); #line 215 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (file), FALSE); #line 215 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail ((info == NULL) || G_IS_FILE_INFO (info), FALSE); #line 218 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = directory_monitor_file_info_map_normalize_file (self, file, info, &_tmp0_, &_tmp1_); #line 218 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 218 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" normalized = _tmp0_; #line 218 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 218 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" id = _tmp1_; #line 218 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!_tmp2_) { #line 219 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = FALSE; #line 219 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 219 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 219 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 7945 "DirectoryMonitor.c" } #line 221 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = self->priv->id_map; #line 221 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = id; #line 221 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); #line 221 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 221 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 221 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 7959 "DirectoryMonitor.c" } static gchar* directory_monitor_file_info_map_get_id (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info) { gchar* result = NULL; gchar* id = NULL; GFile* normalized = NULL; GFile* _tmp1_ = NULL; gchar* _tmp2_ = NULL; gboolean _tmp3_; #line 224 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), NULL); #line 224 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (file), NULL); #line 224 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail ((info == NULL) || G_IS_FILE_INFO (info), NULL); #line 226 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (info != NULL) { #line 7982 "DirectoryMonitor.c" gchar* _tmp0_; #line 227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = get_file_info_id (info); #line 227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = _tmp0_; #line 227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 7990 "DirectoryMonitor.c" } #line 231 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = directory_monitor_file_info_map_normalize_file (self, file, NULL, &_tmp1_, &_tmp2_); #line 231 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 231 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" normalized = _tmp1_; #line 231 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 231 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" id = _tmp2_; #line 231 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!_tmp3_) { #line 232 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = NULL; #line 232 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 232 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 232 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8012 "DirectoryMonitor.c" } #line 234 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = id; #line 234 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 234 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8020 "DirectoryMonitor.c" } static GeeCollection* directory_monitor_file_info_map_get_all (DirectoryMonitorFileInfoMap* self) { GeeCollection* result = NULL; GeeHashMap* _tmp0_; GeeSet* _tmp1_; GeeSet* _tmp2_; #line 237 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), NULL); #line 238 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->map; #line 238 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 238 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = _tmp1_; #line 238 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); #line 238 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8043 "DirectoryMonitor.c" } static GFileInfo* directory_monitor_file_info_map_get_info (DirectoryMonitorFileInfoMap* self, GFile* file) { GFileInfo* result = NULL; GFileInfo* info = NULL; GeeHashMap* _tmp0_; gpointer _tmp1_; GFileInfo* _tmp2_; gchar* id = NULL; GFile* normalized = NULL; GFile* _tmp3_ = NULL; gchar* _tmp4_ = NULL; gboolean _tmp5_; GeeHashMap* _tmp6_; GFile* _tmp7_; gpointer _tmp8_; #line 241 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), NULL); #line 241 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (file), NULL); #line 243 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->map; #line 243 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), file); #line 243 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" info = (GFileInfo*) _tmp1_; #line 244 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = info; #line 244 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp2_ != NULL) { #line 245 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = info; #line 245 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8082 "DirectoryMonitor.c" } #line 249 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = directory_monitor_file_info_map_normalize_file (self, file, NULL, &_tmp3_, &_tmp4_); #line 249 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 249 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" normalized = _tmp3_; #line 249 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 249 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" id = _tmp4_; #line 249 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!_tmp5_) { #line 250 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = NULL; #line 250 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 250 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 250 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (info); #line 250 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8106 "DirectoryMonitor.c" } #line 252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = self->priv->map; #line 252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = normalized; #line 252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_); #line 252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = (GFileInfo*) _tmp8_; #line 252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (info); #line 252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8124 "DirectoryMonitor.c" } static GFileInfo* directory_monitor_file_info_map_query_info (DirectoryMonitorFileInfoMap* self, GFile* file, GCancellable* cancellable) { GFileInfo* result = NULL; GFileInfo* info = NULL; GFileInfo* _tmp0_; GFileInfo* _tmp1_; GFileInfo* _tmp9_; gchar* id = NULL; GFileInfo* _tmp10_; const gchar* _tmp11_; gchar* _tmp12_; const gchar* _tmp13_; GFile* normalized = NULL; GeeHashMap* _tmp17_; const gchar* _tmp18_; gpointer _tmp19_; GFile* _tmp20_; GeeHashMap* _tmp21_; gpointer _tmp22_; GError * _inner_error_ = NULL; #line 255 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), NULL); #line 255 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (file), NULL); #line 255 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable), NULL); #line 256 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = directory_monitor_file_info_map_get_info (self, file); #line 256 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" info = _tmp0_; #line 257 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = info; #line 257 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp1_ != NULL) { #line 258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = info; #line 258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8169 "DirectoryMonitor.c" } { GFileInfo* _tmp2_ = NULL; GFileInfo* _tmp3_; GFileInfo* _tmp4_; #line 263 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = g_file_query_info (file, G_FILE_ATTRIBUTE_ID_FILE, DIRECTORY_MONITOR_UNKNOWN_INFO_FLAGS, cancellable, &_inner_error_); #line 263 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = _tmp3_; #line 263 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 8181 "DirectoryMonitor.c" goto __catch494_g_error; } #line 263 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = _tmp2_; #line 263 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = NULL; #line 263 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (info); #line 263 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" info = _tmp4_; #line 262 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_tmp2_); #line 8194 "DirectoryMonitor.c" } goto __finally494; __catch494_g_error: { GError* err = NULL; gchar* _tmp5_; gchar* _tmp6_; GError* _tmp7_; const gchar* _tmp8_; #line 262 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" err = _inner_error_; #line 262 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _inner_error_ = NULL; #line 265 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = g_file_get_path (file); #line 265 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = _tmp5_; #line 265 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = err; #line 265 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = _tmp7_->message; #line 265 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_warning ("DirectoryMonitor.vala:265: Unable to query file ID of %s: %s", _tmp6_, _tmp8_); #line 265 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp6_); #line 267 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = NULL; #line 267 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_error_free0 (err); #line 267 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (info); #line 267 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8228 "DirectoryMonitor.c" } __finally494: #line 262 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 262 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (info); #line 262 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); #line 262 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_clear_error (&_inner_error_); #line 262 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return NULL; #line 8241 "DirectoryMonitor.c" } #line 270 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = info; #line 270 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!directory_monitor_is_file_symlink_supported (_tmp9_)) { #line 271 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = NULL; #line 271 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (info); #line 271 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8253 "DirectoryMonitor.c" } #line 273 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_ = info; #line 273 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = g_file_info_get_attribute_string (_tmp10_, G_FILE_ATTRIBUTE_ID_FILE); #line 273 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp12_ = g_strdup (_tmp11_); #line 273 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" id = _tmp12_; #line 274 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp13_ = id; #line 274 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp13_ == NULL) { #line 8267 "DirectoryMonitor.c" GFileInfo* _tmp14_; gchar* _tmp15_; gchar* _tmp16_; #line 275 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp14_ = info; #line 275 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp15_ = g_file_get_uri (file); #line 275 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp16_ = _tmp15_; #line 275 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_file_info_set_attribute_string (_tmp14_, G_FILE_ATTRIBUTE_ID_FILE, _tmp16_); #line 275 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp16_); #line 8281 "DirectoryMonitor.c" } #line 279 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp17_ = self->priv->id_map; #line 279 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp18_ = id; #line 279 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp19_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp18_); #line 279 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" normalized = (GFile*) _tmp19_; #line 280 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp20_ = normalized; #line 280 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp20_ == NULL) { #line 281 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = NULL; #line 281 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 281 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 281 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (info); #line 281 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8305 "DirectoryMonitor.c" } #line 283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp21_ = self->priv->map; #line 283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp22_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), file); #line 283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = (GFileInfo*) _tmp22_; #line 283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (normalized); #line 283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (id); #line 283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (info); #line 283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8321 "DirectoryMonitor.c" } static GFile* directory_monitor_file_info_map_find_match (DirectoryMonitorFileInfoMap* self, GFileInfo* match) { GFile* result = NULL; gchar* match_id = NULL; gchar* _tmp0_; const gchar* _tmp1_; gint64 match_size = 0LL; GTimeVal match_time = {0}; GTimeVal _tmp2_ = {0}; #line 286 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), NULL); #line 286 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE_INFO (match), NULL); #line 287 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = get_file_info_id (match); #line 287 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" match_id = _tmp0_; #line 288 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = match_id; #line 288 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp1_ == NULL) { #line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = NULL; #line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (match_id); #line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8354 "DirectoryMonitor.c" } #line 292 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" match_size = g_file_info_get_size (match); #line 293 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_file_info_get_modification_time (match, &_tmp2_); #line 293 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" match_time = _tmp2_; #line 8362 "DirectoryMonitor.c" { GeeIterator* _file_it = NULL; GeeHashMap* _tmp3_; GeeSet* _tmp4_; GeeSet* _tmp5_; GeeSet* _tmp6_; GeeIterator* _tmp7_; GeeIterator* _tmp8_; #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = self->priv->map; #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = _tmp4_; #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = _tmp5_; #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ITERABLE, GeeIterable)); #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = _tmp7_; #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_tmp6_); #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _file_it = _tmp8_; #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 8389 "DirectoryMonitor.c" GeeIterator* _tmp9_; GFile* file = NULL; GeeIterator* _tmp10_; gpointer _tmp11_; GFileInfo* info = NULL; GeeHashMap* _tmp12_; GFile* _tmp13_; gpointer _tmp14_; GFileInfo* _tmp15_; gchar* _tmp16_; gchar* _tmp17_; const gchar* _tmp18_; gboolean _tmp19_; gint64 _tmp20_; GFileInfo* _tmp21_; GTimeVal time = {0}; GFileInfo* _tmp22_; GTimeVal _tmp23_ = {0}; GTimeVal _tmp24_; glong _tmp25_; GTimeVal _tmp26_; glong _tmp27_; #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = _file_it; #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!gee_iterator_next (_tmp9_)) { #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 8418 "DirectoryMonitor.c" } #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_ = _file_it; #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = gee_iterator_get (_tmp10_); #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" file = (GFile*) _tmp11_; #line 296 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp12_ = self->priv->map; #line 296 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp13_ = file; #line 296 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp14_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_); #line 296 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" info = (GFileInfo*) _tmp14_; #line 299 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp15_ = info; #line 299 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp16_ = get_file_info_id (_tmp15_); #line 299 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp17_ = _tmp16_; #line 299 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp18_ = match_id; #line 299 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp19_ = g_strcmp0 (_tmp17_, _tmp18_) == 0; #line 299 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (_tmp17_); #line 299 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp19_) { #line 300 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = file; #line 300 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (info); #line 300 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_file_it); #line 300 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (match_id); #line 300 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8458 "DirectoryMonitor.c" } #line 303 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp20_ = match_size; #line 303 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp21_ = info; #line 303 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp20_ != g_file_info_get_size (_tmp21_)) { #line 304 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (info); #line 304 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (file); #line 304 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" continue; #line 8472 "DirectoryMonitor.c" } #line 306 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp22_ = info; #line 306 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_file_info_get_modification_time (_tmp22_, &_tmp23_); #line 306 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" time = _tmp23_; #line 308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp24_ = time; #line 308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp25_ = _tmp24_.tv_sec; #line 308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp26_ = match_time; #line 308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp27_ = _tmp26_.tv_sec; #line 308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp25_ != _tmp27_) { #line 309 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (info); #line 309 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (file); #line 309 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" continue; #line 8496 "DirectoryMonitor.c" } #line 311 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = file; #line 311 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (info); #line 311 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_file_it); #line 311 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (match_id); #line 311 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8508 "DirectoryMonitor.c" } #line 295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_file_it); #line 8512 "DirectoryMonitor.c" } #line 314 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = NULL; #line 314 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_free0 (match_id); #line 314 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8520 "DirectoryMonitor.c" } static void directory_monitor_file_info_map_remove_descendents (DirectoryMonitorFileInfoMap* self, GFile* root, DirectoryMonitorFileInfoMap* descendents) { GeeArrayList* pruned = NULL; GeeArrayList* _tmp24_; #line 317 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self)); #line 317 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_IS_FILE (root)); #line 317 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (descendents)); #line 318 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" pruned = NULL; #line 8539 "DirectoryMonitor.c" { GeeIterator* _file_it = NULL; GeeHashMap* _tmp0_; GeeSet* _tmp1_; GeeSet* _tmp2_; GeeSet* _tmp3_; GeeIterator* _tmp4_; GeeIterator* _tmp5_; #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->map; #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = _tmp1_; #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = _tmp4_; #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_tmp3_); #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _file_it = _tmp5_; #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 8566 "DirectoryMonitor.c" GeeIterator* _tmp6_; GFile* file = NULL; GeeIterator* _tmp7_; gpointer _tmp8_; GFile* parent = NULL; GFile* _tmp9_; GFile* _tmp10_; #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = _file_it; #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!gee_iterator_next (_tmp6_)) { #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 8580 "DirectoryMonitor.c" } #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = _file_it; #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = gee_iterator_get (_tmp7_); #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" file = (GFile*) _tmp8_; #line 320 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = file; #line 320 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_ = g_file_get_parent (_tmp9_); #line 320 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" parent = _tmp10_; #line 321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 8596 "DirectoryMonitor.c" GFile* _tmp11_; GFile* _tmp12_; GFile* _tmp22_; GFile* _tmp23_; #line 321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = parent; #line 321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!(_tmp11_ != NULL)) { #line 321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 8607 "DirectoryMonitor.c" } #line 322 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp12_ = parent; #line 322 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (g_file_equal (_tmp12_, root)) { #line 8613 "DirectoryMonitor.c" GeeArrayList* _tmp13_; GeeArrayList* _tmp15_; GFile* _tmp16_; GFile* _tmp17_; GeeHashMap* _tmp18_; GFile* _tmp19_; gpointer _tmp20_; GFileInfo* _tmp21_; #line 323 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp13_ = pruned; #line 323 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp13_ == NULL) { #line 8626 "DirectoryMonitor.c" GeeArrayList* _tmp14_; #line 324 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp14_ = gee_array_list_new (g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL); #line 324 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (pruned); #line 324 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" pruned = _tmp14_; #line 8634 "DirectoryMonitor.c" } #line 326 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp15_ = pruned; #line 326 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp16_ = file; #line 326 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp16_); #line 327 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp17_ = file; #line 327 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp18_ = self->priv->map; #line 327 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp19_ = file; #line 327 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp20_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp19_); #line 327 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp21_ = (GFileInfo*) _tmp20_; #line 327 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_file_info_map_update (descendents, _tmp17_, _tmp21_); #line 327 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_tmp21_); #line 329 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 8658 "DirectoryMonitor.c" } #line 332 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp22_ = parent; #line 332 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp23_ = g_file_get_parent (_tmp22_); #line 332 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (parent); #line 332 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" parent = _tmp23_; #line 8668 "DirectoryMonitor.c" } #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (parent); #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (file); #line 8674 "DirectoryMonitor.c" } #line 319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_file_it); #line 8678 "DirectoryMonitor.c" } #line 336 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp24_ = pruned; #line 336 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp24_ != NULL) { #line 8684 "DirectoryMonitor.c" GeeArrayList* _tmp25_; #line 337 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp25_ = pruned; #line 337 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_file_info_map_remove_all (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection)); #line 8690 "DirectoryMonitor.c" } #line 317 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (pruned); #line 8694 "DirectoryMonitor.c" } static gint directory_monitor_file_info_map_get_children (DirectoryMonitorFileInfoMap* self, GFile* root, GeeCollection* files, GeeCollection* dirs) { gint result = 0; gint count = 0; #line 342 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), 0); #line 342 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_IS_FILE (root), 0); #line 342 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (GEE_IS_COLLECTION (files), 0); #line 342 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (GEE_IS_COLLECTION (dirs), 0); #line 343 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" count = 0; #line 8716 "DirectoryMonitor.c" { GeeIterator* _file_it = NULL; GeeHashMap* _tmp0_; GeeSet* _tmp1_; GeeSet* _tmp2_; GeeSet* _tmp3_; GeeIterator* _tmp4_; GeeIterator* _tmp5_; #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = self->priv->map; #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = _tmp1_; #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = _tmp2_; #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp5_ = _tmp4_; #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_tmp3_); #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _file_it = _tmp5_; #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" while (TRUE) { #line 8743 "DirectoryMonitor.c" GeeIterator* _tmp6_; GFile* file = NULL; GeeIterator* _tmp7_; gpointer _tmp8_; GFile* parent = NULL; GFile* _tmp9_; GFile* _tmp10_; gboolean _tmp11_ = FALSE; GFile* _tmp12_; DirectoryMonitorFType ftype = 0; GeeHashMap* _tmp14_; GFile* _tmp15_; gpointer _tmp16_; GFileInfo* _tmp17_; DirectoryMonitorFType _tmp18_; DirectoryMonitorFType _tmp19_; #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp6_ = _file_it; #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!gee_iterator_next (_tmp6_)) { #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 8766 "DirectoryMonitor.c" } #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp7_ = _file_it; #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp8_ = gee_iterator_get (_tmp7_); #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" file = (GFile*) _tmp8_; #line 345 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp9_ = file; #line 345 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp10_ = g_file_get_parent (_tmp9_); #line 345 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" parent = _tmp10_; #line 346 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp12_ = parent; #line 346 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp12_ == NULL) { #line 346 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = TRUE; #line 8786 "DirectoryMonitor.c" } else { GFile* _tmp13_; #line 346 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp13_ = parent; #line 346 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp11_ = !g_file_equal (_tmp13_, root); #line 8793 "DirectoryMonitor.c" } #line 346 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (_tmp11_) { #line 347 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (parent); #line 347 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (file); #line 347 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" continue; #line 8803 "DirectoryMonitor.c" } #line 349 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp14_ = self->priv->map; #line 349 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp15_ = file; #line 349 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp16_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp15_); #line 349 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp17_ = (GFileInfo*) _tmp16_; #line 349 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp18_ = directory_monitor_get_ftype (_tmp17_); #line 349 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_tmp17_); #line 349 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ftype = _tmp18_; #line 350 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp19_ = ftype; #line 350 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" switch (_tmp19_) { #line 350 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_FILE: #line 8825 "DirectoryMonitor.c" { GFile* _tmp20_; gint _tmp21_; #line 352 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp20_ = file; #line 352 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" gee_collection_add (files, _tmp20_); #line 353 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp21_ = count; #line 353 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" count = _tmp21_ + 1; #line 354 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 8839 "DirectoryMonitor.c" } #line 350 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" case DIRECTORY_MONITOR_FTYPE_DIRECTORY: #line 8843 "DirectoryMonitor.c" { GFile* _tmp22_; gint _tmp23_; #line 357 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp22_ = file; #line 357 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" gee_collection_add (dirs, _tmp22_); #line 358 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp23_ = count; #line 358 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" count = _tmp23_ + 1; #line 359 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 8857 "DirectoryMonitor.c" } default: { DirectoryMonitorFType _tmp24_; #line 362 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp24_ = ftype; #line 362 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _vala_assert (_tmp24_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); #line 363 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" break; #line 8868 "DirectoryMonitor.c" } } #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (parent); #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (file); #line 8875 "DirectoryMonitor.c" } #line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (_file_it); #line 8879 "DirectoryMonitor.c" } #line 367 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" result = count; #line 367 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return result; #line 8885 "DirectoryMonitor.c" } static void directory_monitor_value_file_info_map_init (GValue* value) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" value->data[0].v_pointer = NULL; #line 8894 "DirectoryMonitor.c" } static void directory_monitor_value_file_info_map_free_value (GValue* value) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (value->data[0].v_pointer) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_file_info_map_unref (value->data[0].v_pointer); #line 8905 "DirectoryMonitor.c" } } static void directory_monitor_value_file_info_map_copy_value (const GValue* src_value, GValue* dest_value) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (src_value->data[0].v_pointer) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" dest_value->data[0].v_pointer = directory_monitor_file_info_map_ref (src_value->data[0].v_pointer); #line 8918 "DirectoryMonitor.c" } else { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" dest_value->data[0].v_pointer = NULL; #line 8922 "DirectoryMonitor.c" } } static gpointer directory_monitor_value_file_info_map_peek_pointer (const GValue* value) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return value->data[0].v_pointer; #line 8932 "DirectoryMonitor.c" } static gchar* directory_monitor_value_file_info_map_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (collect_values[0].v_pointer) { #line 8944 "DirectoryMonitor.c" DirectoryMonitorFileInfoMap * object; object = collect_values[0].v_pointer; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (object->parent_instance.g_class == NULL) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); #line 8951 "DirectoryMonitor.c" } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); #line 8955 "DirectoryMonitor.c" } #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" value->data[0].v_pointer = directory_monitor_file_info_map_ref (object); #line 8959 "DirectoryMonitor.c" } else { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" value->data[0].v_pointer = NULL; #line 8963 "DirectoryMonitor.c" } #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return NULL; #line 8967 "DirectoryMonitor.c" } static gchar* directory_monitor_value_file_info_map_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { DirectoryMonitorFileInfoMap ** object_p; object_p = collect_values[0].v_pointer; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!object_p) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); #line 8983 "DirectoryMonitor.c" } #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (!value->data[0].v_pointer) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *object_p = NULL; #line 8989 "DirectoryMonitor.c" } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *object_p = value->data[0].v_pointer; #line 8993 "DirectoryMonitor.c" } else { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" *object_p = directory_monitor_file_info_map_ref (value->data[0].v_pointer); #line 8997 "DirectoryMonitor.c" } #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return NULL; #line 9001 "DirectoryMonitor.c" } static GParamSpec* directory_monitor_param_spec_file_info_map (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { DirectoryMonitorParamSpecFileInfoMap* spec; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (g_type_is_a (object_type, DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP), NULL); #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" G_PARAM_SPEC (spec)->value_type = object_type; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return G_PARAM_SPEC (spec); #line 9021 "DirectoryMonitor.c" } static gpointer directory_monitor_value_get_file_info_map (const GValue* value) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP), NULL); #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return value->data[0].v_pointer; #line 9032 "DirectoryMonitor.c" } static void directory_monitor_value_set_file_info_map (GValue* value, gpointer v_object) { DirectoryMonitorFileInfoMap * old; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP)); #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" old = value->data[0].v_pointer; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (v_object) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP)); #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" value->data[0].v_pointer = v_object; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_file_info_map_ref (value->data[0].v_pointer); #line 9055 "DirectoryMonitor.c" } else { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" value->data[0].v_pointer = NULL; #line 9059 "DirectoryMonitor.c" } #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (old) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_file_info_map_unref (old); #line 9065 "DirectoryMonitor.c" } } static void directory_monitor_value_take_file_info_map (GValue* value, gpointer v_object) { DirectoryMonitorFileInfoMap * old; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP)); #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" old = value->data[0].v_pointer; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (v_object) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP)); #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" value->data[0].v_pointer = v_object; #line 9087 "DirectoryMonitor.c" } else { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" value->data[0].v_pointer = NULL; #line 9091 "DirectoryMonitor.c" } #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (old) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_file_info_map_unref (old); #line 9097 "DirectoryMonitor.c" } } static void directory_monitor_file_info_map_class_init (DirectoryMonitorFileInfoMapClass * klass) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_file_info_map_parent_class = g_type_class_peek_parent (klass); #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorFileInfoMapClass *) klass)->finalize = directory_monitor_file_info_map_finalize; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_type_class_add_private (klass, sizeof (DirectoryMonitorFileInfoMapPrivate)); #line 9111 "DirectoryMonitor.c" } static void directory_monitor_file_info_map_instance_init (DirectoryMonitorFileInfoMap * self) { GeeHashMap* _tmp0_; GeeHashMap* _tmp1_; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv = DIRECTORY_MONITOR_FILE_INFO_MAP_GET_PRIVATE (self); #line 133 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = gee_hash_map_new (g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, g_file_info_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); #line 133 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->map = _tmp0_; #line 135 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, g_file_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL); #line 135 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->id_map = _tmp1_; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->ref_count = 1; #line 9132 "DirectoryMonitor.c" } static void directory_monitor_file_info_map_finalize (DirectoryMonitorFileInfoMap * obj) { DirectoryMonitorFileInfoMap * self; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP, DirectoryMonitorFileInfoMap); #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_signal_handlers_destroy (self); #line 133 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->priv->map); #line 135 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->priv->id_map); #line 9148 "DirectoryMonitor.c" } static GType directory_monitor_file_info_map_get_type (void) { static volatile gsize directory_monitor_file_info_map_type_id__volatile = 0; if (g_once_init_enter (&directory_monitor_file_info_map_type_id__volatile)) { static const GTypeValueTable g_define_type_value_table = { directory_monitor_value_file_info_map_init, directory_monitor_value_file_info_map_free_value, directory_monitor_value_file_info_map_copy_value, directory_monitor_value_file_info_map_peek_pointer, "p", directory_monitor_value_file_info_map_collect_value, "p", directory_monitor_value_file_info_map_lcopy_value }; static const GTypeInfo g_define_type_info = { sizeof (DirectoryMonitorFileInfoMapClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) directory_monitor_file_info_map_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DirectoryMonitorFileInfoMap), 0, (GInstanceInitFunc) directory_monitor_file_info_map_instance_init, &g_define_type_value_table }; static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; GType directory_monitor_file_info_map_type_id; directory_monitor_file_info_map_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DirectoryMonitorFileInfoMap", &g_define_type_info, &g_define_type_fundamental_info, 0); g_once_init_leave (&directory_monitor_file_info_map_type_id__volatile, directory_monitor_file_info_map_type_id); } return directory_monitor_file_info_map_type_id__volatile; } static gpointer directory_monitor_file_info_map_ref (gpointer instance) { DirectoryMonitorFileInfoMap * self; self = instance; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_atomic_int_inc (&self->ref_count); #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" return instance; #line 9177 "DirectoryMonitor.c" } static void directory_monitor_file_info_map_unref (gpointer instance) { DirectoryMonitorFileInfoMap * self; self = instance; #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" if (g_atomic_int_dec_and_test (&self->ref_count)) { #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" DIRECTORY_MONITOR_FILE_INFO_MAP_GET_CLASS (self)->finalize (self); #line 132 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_type_free_instance ((GTypeInstance *) self); #line 9192 "DirectoryMonitor.c" } } static void directory_monitor_class_init (DirectoryMonitorClass * klass) { #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_parent_class = g_type_class_peek_parent (klass); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" g_type_class_add_private (klass, sizeof (DirectoryMonitorPrivate)); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_root_deleted = (void (*) (DirectoryMonitor *, GFile*)) directory_monitor_real_notify_root_deleted; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_root_moved = (void (*) (DirectoryMonitor *, GFile*, GFile*, GFileInfo*)) directory_monitor_real_notify_root_moved; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_discovery_started = (void (*) (DirectoryMonitor *)) directory_monitor_real_notify_discovery_started; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->internal_notify_file_discovered = (void (*) (DirectoryMonitor *, GFile*, GFileInfo*)) directory_monitor_real_internal_notify_file_discovered; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_file_discovered = (void (*) (DirectoryMonitor *, GFile*, GFileInfo*)) directory_monitor_real_notify_file_discovered; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->internal_notify_directory_discovered = (void (*) (DirectoryMonitor *, GFile*, GFileInfo*)) directory_monitor_real_internal_notify_directory_discovered; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_directory_discovered = (void (*) (DirectoryMonitor *, GFile*, GFileInfo*)) directory_monitor_real_notify_directory_discovered; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_discovery_failed = (void (*) (DirectoryMonitor *, const gchar*)) directory_monitor_real_notify_discovery_failed; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_discovery_completed = (void (*) (DirectoryMonitor *)) directory_monitor_real_notify_discovery_completed; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_file_created = (void (*) (DirectoryMonitor *, GFile*, GFileInfo*)) directory_monitor_real_notify_file_created; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_file_moved = (void (*) (DirectoryMonitor *, GFile*, GFile*, GFileInfo*)) directory_monitor_real_notify_file_moved; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_file_altered = (void (*) (DirectoryMonitor *, GFile*)) directory_monitor_real_notify_file_altered; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_file_alteration_completed = (void (*) (DirectoryMonitor *, GFile*, GFileInfo*)) directory_monitor_real_notify_file_alteration_completed; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_file_attributes_altered = (void (*) (DirectoryMonitor *, GFile*)) directory_monitor_real_notify_file_attributes_altered; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_file_deleted = (void (*) (DirectoryMonitor *, GFile*)) directory_monitor_real_notify_file_deleted; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_directory_created = (void (*) (DirectoryMonitor *, GFile*, GFileInfo*)) directory_monitor_real_notify_directory_created; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_directory_moved = (void (*) (DirectoryMonitor *, GFile*, GFile*, GFileInfo*)) directory_monitor_real_notify_directory_moved; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_directory_altered = (void (*) (DirectoryMonitor *, GFile*)) directory_monitor_real_notify_directory_altered; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_directory_alteration_completed = (void (*) (DirectoryMonitor *, GFile*, GFileInfo*)) directory_monitor_real_notify_directory_alteration_completed; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_directory_attributes_altered = (void (*) (DirectoryMonitor *, GFile*)) directory_monitor_real_notify_directory_attributes_altered; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_directory_deleted = (void (*) (DirectoryMonitor *, GFile*)) directory_monitor_real_notify_directory_deleted; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->notify_closed = (void (*) (DirectoryMonitor *)) directory_monitor_real_notify_closed; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->close = (void (*) (DirectoryMonitor *)) directory_monitor_real_close; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->root_moved = directory_monitor_real_root_moved; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->root_deleted = directory_monitor_real_root_deleted; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->discovery_started = directory_monitor_real_discovery_started; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->file_discovered = directory_monitor_real_file_discovered; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->directory_discovered = directory_monitor_real_directory_discovered; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->discovery_failed = directory_monitor_real_discovery_failed; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->discovery_completed = directory_monitor_real_discovery_completed; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->file_created = directory_monitor_real_file_created; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->file_moved = directory_monitor_real_file_moved; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->file_altered = directory_monitor_real_file_altered; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->file_alteration_completed = directory_monitor_real_file_alteration_completed; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->file_attributes_altered = directory_monitor_real_file_attributes_altered; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->file_deleted = directory_monitor_real_file_deleted; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->directory_created = directory_monitor_real_directory_created; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->directory_moved = directory_monitor_real_directory_moved; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->directory_altered = directory_monitor_real_directory_altered; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->directory_alteration_completed = directory_monitor_real_directory_alteration_completed; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->directory_attributes_altered = directory_monitor_real_directory_attributes_altered; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->directory_deleted = directory_monitor_real_directory_deleted; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" ((DirectoryMonitorClass *) klass)->closed = directory_monitor_real_closed; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" G_OBJECT_CLASS (klass)->finalize = directory_monitor_finalize; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_ROOT_MOVED_SIGNAL] = g_signal_new ("root-moved", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, root_moved), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT_OBJECT, G_TYPE_NONE, 3, g_file_get_type (), g_file_get_type (), g_file_info_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_ROOT_DELETED_SIGNAL] = g_signal_new ("root-deleted", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, root_deleted), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, g_file_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_DISCOVERY_STARTED_SIGNAL] = g_signal_new ("discovery-started", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, discovery_started), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_FILE_DISCOVERED_SIGNAL] = g_signal_new ("file-discovered", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, file_discovered), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, g_file_get_type (), g_file_info_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_DIRECTORY_DISCOVERED_SIGNAL] = g_signal_new ("directory-discovered", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, directory_discovered), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, g_file_get_type (), g_file_info_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_DISCOVERY_FAILED_SIGNAL] = g_signal_new ("discovery-failed", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, discovery_failed), NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_DISCOVERY_COMPLETED_SIGNAL] = g_signal_new ("discovery-completed", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, discovery_completed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_FILE_CREATED_SIGNAL] = g_signal_new ("file-created", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, file_created), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, g_file_get_type (), g_file_info_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_FILE_MOVED_SIGNAL] = g_signal_new ("file-moved", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, file_moved), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT_OBJECT, G_TYPE_NONE, 3, g_file_get_type (), g_file_get_type (), g_file_info_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_FILE_ALTERED_SIGNAL] = g_signal_new ("file-altered", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, file_altered), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, g_file_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_FILE_ALTERATION_COMPLETED_SIGNAL] = g_signal_new ("file-alteration-completed", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, file_alteration_completed), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, g_file_get_type (), g_file_info_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_FILE_ATTRIBUTES_ALTERED_SIGNAL] = g_signal_new ("file-attributes-altered", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, file_attributes_altered), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, g_file_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_FILE_DELETED_SIGNAL] = g_signal_new ("file-deleted", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, file_deleted), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, g_file_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_DIRECTORY_CREATED_SIGNAL] = g_signal_new ("directory-created", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, directory_created), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, g_file_get_type (), g_file_info_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_DIRECTORY_MOVED_SIGNAL] = g_signal_new ("directory-moved", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, directory_moved), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT_OBJECT, G_TYPE_NONE, 3, g_file_get_type (), g_file_get_type (), g_file_info_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_DIRECTORY_ALTERED_SIGNAL] = g_signal_new ("directory-altered", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, directory_altered), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, g_file_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_DIRECTORY_ALTERATION_COMPLETED_SIGNAL] = g_signal_new ("directory-alteration-completed", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, directory_alteration_completed), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, g_file_get_type (), g_file_info_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_DIRECTORY_ATTRIBUTES_ALTERED_SIGNAL] = g_signal_new ("directory-attributes-altered", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, directory_attributes_altered), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, g_file_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_DIRECTORY_DELETED_SIGNAL] = g_signal_new ("directory-deleted", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, directory_deleted), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, g_file_get_type ()); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" directory_monitor_signals[DIRECTORY_MONITOR_CLOSED_SIGNAL] = g_signal_new ("closed", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, closed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #line 9332 "DirectoryMonitor.c" } static void directory_monitor_instance_init (DirectoryMonitor * self) { GeeHashMap* _tmp0_; GeeLinkedList* _tmp1_; DirectoryMonitorFileInfoMap* _tmp2_; DirectoryMonitorFileInfoMap* _tmp3_; GCancellable* _tmp4_; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv = DIRECTORY_MONITOR_GET_PRIVATE (self); #line 374 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, g_file_monitor_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); #line 374 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->monitors = _tmp0_; #line 375 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp1_ = gee_linked_list_new (DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT, (GBoxedCopyFunc) directory_monitor_query_info_queue_element_ref, (GDestroyNotify) directory_monitor_query_info_queue_element_unref, NULL, NULL, NULL); #line 375 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->query_info_queue = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_QUEUE, GeeQueue); #line 377 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp2_ = directory_monitor_file_info_map_new (); #line 377 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->files = _tmp2_; #line 378 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp3_ = directory_monitor_file_info_map_new (); #line 378 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->parent_moved = _tmp3_; #line 379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _tmp4_ = g_cancellable_new (); #line 379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->cancellable = _tmp4_; #line 380 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->outstanding_exploration_dirs = 0; #line 381 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->started = FALSE; #line 382 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->has_discovery_started = FALSE; #line 383 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self->priv->delete_timer_id = (guint) 0; #line 9374 "DirectoryMonitor.c" } static void directory_monitor_finalize (GObject * obj) { DirectoryMonitor * self; #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DIRECTORY_MONITOR, DirectoryMonitor); #line 371 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->priv->root); #line 374 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->priv->monitors); #line 375 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->priv->query_info_queue); #line 377 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_file_info_map_unref0 (self->priv->files); #line 378 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _directory_monitor_file_info_map_unref0 (self->priv->parent_moved); #line 379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" _g_object_unref0 (self->priv->cancellable); #line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" G_OBJECT_CLASS (directory_monitor_parent_class)->finalize (obj); #line 9398 "DirectoryMonitor.c" } GType directory_monitor_get_type (void) { static volatile gsize directory_monitor_type_id__volatile = 0; if (g_once_init_enter (&directory_monitor_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (DirectoryMonitorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) directory_monitor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DirectoryMonitor), 0, (GInstanceInitFunc) directory_monitor_instance_init, NULL }; GType directory_monitor_type_id; directory_monitor_type_id = g_type_register_static (G_TYPE_OBJECT, "DirectoryMonitor", &g_define_type_info, 0); g_once_init_leave (&directory_monitor_type_id__volatile, directory_monitor_type_id); } return directory_monitor_type_id__volatile; }