/* misc.c generated by valac 0.34.4, the Vala compiler * generated from misc.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. */ #include #include #include #include #include #include #include #include #include #include #include #define _g_checksum_free0(var) ((var == NULL) ? NULL : (var = (g_checksum_free (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) #define TYPE_DATA_OBJECT (data_object_get_type ()) #define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) #define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) #define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) #define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) #define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) typedef struct _DataObject DataObject; typedef struct _DataObjectClass DataObjectClass; #define TYPE_DATA_SOURCE (data_source_get_type ()) #define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) #define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) #define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) #define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) #define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) typedef struct _DataSource DataSource; typedef struct _DataSourceClass DataSourceClass; #define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) #define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) #define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) #define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) #define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) #define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) typedef struct _ThumbnailSource ThumbnailSource; typedef struct _ThumbnailSourceClass ThumbnailSourceClass; #define TYPE_MEDIA_SOURCE (media_source_get_type ()) #define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) #define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) #define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) #define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) #define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) typedef struct _MediaSource MediaSource; typedef struct _MediaSourceClass MediaSourceClass; #define TYPE_PHOTO_SOURCE (photo_source_get_type ()) #define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) #define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) #define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) #define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) #define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) typedef struct _PhotoSource PhotoSource; typedef struct _PhotoSourceClass PhotoSourceClass; #define TYPE_PHOTO (photo_get_type ()) #define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) #define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) #define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) #define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) #define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) typedef struct _Photo Photo; typedef struct _PhotoClass PhotoClass; #define TYPE_PHOTO_ID (photo_id_get_type ()) typedef struct _PhotoID PhotoID; #define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) #define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) #define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) #define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) #define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) #define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) typedef struct _MediaCollectionRegistry MediaCollectionRegistry; typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; #define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) #define TYPE_ONE_SHOT_SCHEDULER (one_shot_scheduler_get_type ()) #define ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler)) #define ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) #define IS_ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ONE_SHOT_SCHEDULER)) #define IS_ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ONE_SHOT_SCHEDULER)) #define ONE_SHOT_SCHEDULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) typedef struct _OneShotScheduler OneShotScheduler; typedef struct _OneShotSchedulerClass OneShotSchedulerClass; typedef struct _OneShotSchedulerPrivate OneShotSchedulerPrivate; typedef struct _ParamSpecOneShotScheduler ParamSpecOneShotScheduler; #define TYPE_OP_TIMER (op_timer_get_type ()) #define OP_TIMER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_OP_TIMER, OpTimer)) #define OP_TIMER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_OP_TIMER, OpTimerClass)) #define IS_OP_TIMER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_OP_TIMER)) #define IS_OP_TIMER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_OP_TIMER)) #define OP_TIMER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_OP_TIMER, OpTimerClass)) typedef struct _OpTimer OpTimer; typedef struct _OpTimerClass OpTimerClass; typedef struct _OpTimerPrivate OpTimerPrivate; #define _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL))) typedef struct _ParamSpecOpTimer ParamSpecOpTimer; #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); typedef gboolean (*ValueEqualFunc) (GValue* a, GValue* b, void* user_data); struct _PhotoID { gint64 id; }; typedef void (*OneShotCallback) (void* user_data); struct _OneShotScheduler { GTypeInstance parent_instance; volatile int ref_count; OneShotSchedulerPrivate * priv; }; struct _OneShotSchedulerClass { GTypeClass parent_class; void (*finalize) (OneShotScheduler *self); }; struct _OneShotSchedulerPrivate { gchar* name; OneShotCallback callback; gpointer callback_target; guint scheduled; }; struct _ParamSpecOneShotScheduler { GParamSpec parent_instance; }; struct _OpTimer { GTypeInstance parent_instance; volatile int ref_count; OpTimerPrivate * priv; }; struct _OpTimerClass { GTypeClass parent_class; void (*finalize) (OpTimer *self); }; struct _OpTimerPrivate { gchar* name; GTimer* timer; glong count; gdouble elapsed; gdouble shortest; gdouble longest; }; struct _ParamSpecOpTimer { GParamSpec parent_instance; }; static gpointer one_shot_scheduler_parent_class = NULL; static gpointer op_timer_parent_class = NULL; guint int64_hash (gint64* n); gboolean int64_equal (gint64* a, gint64* b); gint int64_compare (gint64* a, gint64* b); gint uint64_compare (guint64* a, guint64* b); gboolean bool_value_equals (GValue* a, GValue* b); gboolean int_value_equals (GValue* a, GValue* b); gulong timeval_to_ms (GTimeVal* time_val); gulong now_ms (void); gulong now_sec (void); time_t now_time_t (void); gchar* md5_binary (guint8* buffer, gsize length); gchar* md5_file (GFile* file, GError** error); gboolean equal_sets (GeeSet* a, GeeSet* b); GeeSet* intersection_of_sets (GeeSet* a, GeeSet* b, GeeSet* excluded); GType data_object_get_type (void) G_GNUC_CONST; GType data_source_get_type (void) G_GNUC_CONST; GType thumbnail_source_get_type (void) G_GNUC_CONST; GType media_source_get_type (void) G_GNUC_CONST; GType photo_source_get_type (void) G_GNUC_CONST; GType photo_get_type (void) G_GNUC_CONST; guchar* serialize_photo_ids (GeeCollection* photos, int* result_length1); GType photo_id_get_type (void) G_GNUC_CONST; PhotoID* photo_id_dup (const PhotoID* self); void photo_id_free (PhotoID* self); void photo_get_photo_id (Photo* self, PhotoID* result); GeeList* unserialize_photo_ids (guchar* serialized, gint size); void photo_id_init (PhotoID *self, gint64 id); guchar* serialize_media_sources (GeeCollection* media, int* result_length1); gchar* data_source_get_source_id (DataSource* self); GeeList* unserialize_media_sources (guchar* serialized, gint size); gpointer media_collection_registry_ref (gpointer instance); void media_collection_registry_unref (gpointer instance); GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); void value_set_media_collection_registry (GValue* value, gpointer v_object); void value_take_media_collection_registry (GValue* value, gpointer v_object); gpointer value_get_media_collection_registry (const GValue* value); GType media_collection_registry_get_type (void) G_GNUC_CONST; MediaCollectionRegistry* media_collection_registry_get_instance (void); MediaSource* media_collection_registry_fetch_media (MediaCollectionRegistry* self, const gchar* source_id); gchar* format_local_datespan (struct tm* from_date, struct tm* to_date); gchar* resources_get_start_multiday_span_format_string (void); gchar* resources_get_end_multiday_span_format_string (void); gchar* resources_get_start_multimonth_span_format_string (void); gchar* resources_get_end_multimonth_span_format_string (void); gchar* resources_get_long_date_format_string (void); gchar* string_strip_leading_zeroes (const gchar* str); gchar* format_local_date (struct tm* date); gpointer one_shot_scheduler_ref (gpointer instance); void one_shot_scheduler_unref (gpointer instance); GParamSpec* param_spec_one_shot_scheduler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); void value_set_one_shot_scheduler (GValue* value, gpointer v_object); void value_take_one_shot_scheduler (GValue* value, gpointer v_object); gpointer value_get_one_shot_scheduler (const GValue* value); GType one_shot_scheduler_get_type (void) G_GNUC_CONST; #define ONE_SHOT_SCHEDULER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerPrivate)) enum { ONE_SHOT_SCHEDULER_DUMMY_PROPERTY }; void one_shot_scheduler_cancel (OneShotScheduler* self); OneShotScheduler* one_shot_scheduler_new (const gchar* name, OneShotCallback callback, void* callback_target); OneShotScheduler* one_shot_scheduler_construct (GType object_type, const gchar* name, OneShotCallback callback, void* callback_target); gboolean one_shot_scheduler_is_scheduled (OneShotScheduler* self); void one_shot_scheduler_at_idle (OneShotScheduler* self); void one_shot_scheduler_at_priority_idle (OneShotScheduler* self, gint priority); static gboolean one_shot_scheduler_callback_wrapper (OneShotScheduler* self); static gboolean _one_shot_scheduler_callback_wrapper_gsource_func (gpointer self); void one_shot_scheduler_after_timeout (OneShotScheduler* self, guint msec, gboolean reschedule); void one_shot_scheduler_priority_after_timeout (OneShotScheduler* self, gint priority, guint msec, gboolean reschedule); static void one_shot_scheduler_finalize (OneShotScheduler* obj); gpointer op_timer_ref (gpointer instance); void op_timer_unref (gpointer instance); GParamSpec* param_spec_op_timer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); void value_set_op_timer (GValue* value, gpointer v_object); void value_take_op_timer (GValue* value, gpointer v_object); gpointer value_get_op_timer (const GValue* value); GType op_timer_get_type (void) G_GNUC_CONST; #define OP_TIMER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_OP_TIMER, OpTimerPrivate)) enum { OP_TIMER_DUMMY_PROPERTY }; OpTimer* op_timer_new (const gchar* name); OpTimer* op_timer_construct (GType object_type, const gchar* name); void op_timer_start (OpTimer* self); void op_timer_stop (OpTimer* self); gchar* op_timer_to_string (OpTimer* self); static void op_timer_finalize (OpTimer* obj); guint int64_hash (gint64* n) { guint result = 0U; guint8* u8 = NULL; gint64* _tmp0_ = NULL; guint hash = 0U; #line 9 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = n; #line 9 "/home/jens/Source/shotwell/src/util/misc.vala" u8 = (guint8*) _tmp0_; #line 10 "/home/jens/Source/shotwell/src/util/misc.vala" hash = (guint) 0; #line 286 "misc.c" { gint ctr = 0; #line 11 "/home/jens/Source/shotwell/src/util/misc.vala" ctr = 0; #line 291 "misc.c" { gboolean _tmp1_ = FALSE; #line 11 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = TRUE; #line 11 "/home/jens/Source/shotwell/src/util/misc.vala" while (TRUE) { #line 298 "misc.c" gint _tmp3_ = 0; guint _tmp4_ = 0U; guint _tmp5_ = 0U; guint8* _tmp6_ = NULL; #line 11 "/home/jens/Source/shotwell/src/util/misc.vala" if (!_tmp1_) { #line 305 "misc.c" gint _tmp2_ = 0; #line 11 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = ctr; #line 11 "/home/jens/Source/shotwell/src/util/misc.vala" ctr = _tmp2_ + 1; #line 311 "misc.c" } #line 11 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = FALSE; #line 11 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = ctr; #line 11 "/home/jens/Source/shotwell/src/util/misc.vala" if (!(((gulong) _tmp3_) < (sizeof (gint64) / sizeof (guint8)))) { #line 11 "/home/jens/Source/shotwell/src/util/misc.vala" break; #line 321 "misc.c" } #line 12 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = hash; #line 12 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = hash; #line 12 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6_ = u8; #line 12 "/home/jens/Source/shotwell/src/util/misc.vala" u8 = _tmp6_ + 1; #line 12 "/home/jens/Source/shotwell/src/util/misc.vala" hash = ((_tmp4_ << 4) ^ (_tmp5_ >> 28)) ^ (*_tmp6_); #line 333 "misc.c" } } } #line 15 "/home/jens/Source/shotwell/src/util/misc.vala" result = hash; #line 15 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 341 "misc.c" } gboolean int64_equal (gint64* a, gint64* b) { gboolean result = FALSE; gint64* bia = NULL; gint64* _tmp0_ = NULL; gint64* bib = NULL; gint64* _tmp1_ = NULL; #line 19 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = a; #line 19 "/home/jens/Source/shotwell/src/util/misc.vala" bia = (gint64*) _tmp0_; #line 20 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = b; #line 20 "/home/jens/Source/shotwell/src/util/misc.vala" bib = (gint64*) _tmp1_; #line 22 "/home/jens/Source/shotwell/src/util/misc.vala" result = (*bia) == (*bib); #line 22 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 363 "misc.c" } gint int64_compare (gint64* a, gint64* b) { gint result = 0; gint64 diff = 0LL; gint64* _tmp0_ = NULL; gint64* _tmp1_ = NULL; gint64 _tmp2_ = 0LL; #line 26 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = a; #line 26 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = b; #line 26 "/home/jens/Source/shotwell/src/util/misc.vala" diff = (*((gint64*) _tmp0_)) - (*((gint64*) _tmp1_)); #line 27 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = diff; #line 27 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp2_ < ((gint64) 0)) { #line 28 "/home/jens/Source/shotwell/src/util/misc.vala" result = -1; #line 28 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 387 "misc.c" } else { gint64 _tmp3_ = 0LL; #line 29 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = diff; #line 29 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp3_ > ((gint64) 0)) { #line 30 "/home/jens/Source/shotwell/src/util/misc.vala" result = 1; #line 30 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 398 "misc.c" } else { #line 32 "/home/jens/Source/shotwell/src/util/misc.vala" result = 0; #line 32 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 404 "misc.c" } } } gint uint64_compare (guint64* a, guint64* b) { gint result = 0; guint64 a64 = 0ULL; guint64* _tmp0_ = NULL; guint64 b64 = 0ULL; guint64* _tmp1_ = NULL; guint64 _tmp2_ = 0ULL; guint64 _tmp3_ = 0ULL; #line 36 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = a; #line 36 "/home/jens/Source/shotwell/src/util/misc.vala" a64 = *((guint64*) _tmp0_); #line 37 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = b; #line 37 "/home/jens/Source/shotwell/src/util/misc.vala" b64 = *((guint64*) _tmp1_); #line 39 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = a64; #line 39 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = b64; #line 39 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp2_ < _tmp3_) { #line 40 "/home/jens/Source/shotwell/src/util/misc.vala" result = -1; #line 40 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 436 "misc.c" } else { guint64 _tmp4_ = 0ULL; guint64 _tmp5_ = 0ULL; #line 41 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = a64; #line 41 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = b64; #line 41 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp4_ > _tmp5_) { #line 42 "/home/jens/Source/shotwell/src/util/misc.vala" result = 1; #line 42 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 450 "misc.c" } else { #line 44 "/home/jens/Source/shotwell/src/util/misc.vala" result = 0; #line 44 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 456 "misc.c" } } } gboolean bool_value_equals (GValue* a, GValue* b) { gboolean result = FALSE; GValue _tmp0_ = {0}; GValue _tmp1_ = {0}; #line 49 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (a != NULL, FALSE); #line 49 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (b != NULL, FALSE); #line 50 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = *a; #line 50 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = *b; #line 50 "/home/jens/Source/shotwell/src/util/misc.vala" result = g_value_get_boolean (&_tmp0_) == g_value_get_boolean (&_tmp1_); #line 50 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 478 "misc.c" } gboolean int_value_equals (GValue* a, GValue* b) { gboolean result = FALSE; GValue _tmp0_ = {0}; GValue _tmp1_ = {0}; #line 53 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (a != NULL, FALSE); #line 53 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (b != NULL, FALSE); #line 54 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = *a; #line 54 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = *b; #line 54 "/home/jens/Source/shotwell/src/util/misc.vala" result = g_value_get_int (&_tmp0_) == g_value_get_int (&_tmp1_); #line 54 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 498 "misc.c" } gulong timeval_to_ms (GTimeVal* time_val) { gulong result = 0UL; GTimeVal _tmp0_ = {0}; glong _tmp1_ = 0L; GTimeVal _tmp2_ = {0}; glong _tmp3_ = 0L; #line 57 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (time_val != NULL, 0UL); #line 58 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = *time_val; #line 58 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = _tmp0_.tv_sec; #line 58 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = *time_val; #line 58 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = _tmp2_.tv_usec; #line 58 "/home/jens/Source/shotwell/src/util/misc.vala" result = (((gulong) _tmp1_) * 1000) + (((gulong) _tmp3_) / 1000); #line 58 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 522 "misc.c" } gulong now_ms (void) { gulong result = 0UL; GTimeVal _tmp0_ = {0}; gulong _tmp1_ = 0UL; #line 62 "/home/jens/Source/shotwell/src/util/misc.vala" g_get_current_time (&_tmp0_); #line 62 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = timeval_to_ms (&_tmp0_); #line 62 "/home/jens/Source/shotwell/src/util/misc.vala" result = _tmp1_; #line 62 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 538 "misc.c" } gulong now_sec (void) { gulong result = 0UL; GTimeVal time_val = {0}; GTimeVal _tmp0_ = {0}; glong _tmp1_ = 0L; #line 66 "/home/jens/Source/shotwell/src/util/misc.vala" g_get_current_time (&time_val); #line 68 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = time_val; #line 68 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = _tmp0_.tv_sec; #line 68 "/home/jens/Source/shotwell/src/util/misc.vala" result = (gulong) _tmp1_; #line 68 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 557 "misc.c" } inline time_t now_time_t (void) { time_t result = 0; gulong _tmp0_ = 0UL; #line 72 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = now_sec (); #line 72 "/home/jens/Source/shotwell/src/util/misc.vala" result = (time_t) _tmp0_; #line 72 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 570 "misc.c" } gchar* md5_binary (guint8* buffer, gsize length) { gchar* result = NULL; gsize _tmp0_ = 0UL; GChecksum* md5 = NULL; GChecksum* _tmp1_ = NULL; guint8* _tmp2_ = NULL; gsize _tmp3_ = 0UL; const gchar* _tmp4_ = NULL; gchar* _tmp5_ = NULL; #line 76 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = length; #line 76 "/home/jens/Source/shotwell/src/util/misc.vala" _vala_assert (_tmp0_ != ((gsize) 0), "length != 0"); #line 78 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = g_checksum_new (G_CHECKSUM_MD5); #line 78 "/home/jens/Source/shotwell/src/util/misc.vala" md5 = _tmp1_; #line 79 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = buffer; #line 79 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = length; #line 79 "/home/jens/Source/shotwell/src/util/misc.vala" g_checksum_update (md5, (guchar*) _tmp2_, _tmp3_); #line 81 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = g_checksum_get_string (md5); #line 81 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = g_strdup (_tmp4_); #line 81 "/home/jens/Source/shotwell/src/util/misc.vala" result = _tmp5_; #line 81 "/home/jens/Source/shotwell/src/util/misc.vala" _g_checksum_free0 (md5); #line 81 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 607 "misc.c" } gchar* md5_file (GFile* file, GError** error) { gchar* result = NULL; GChecksum* md5 = NULL; GChecksum* _tmp0_ = NULL; guint8* buffer = NULL; guint8* _tmp1_ = NULL; gint buffer_length1 = 0; gint _buffer_size_ = 0; GFileInputStream* fins = NULL; GFile* _tmp2_ = NULL; GFileInputStream* _tmp3_ = NULL; GChecksum* _tmp18_ = NULL; const gchar* _tmp19_ = NULL; gchar* _tmp20_ = NULL; GError * _inner_error_ = NULL; #line 84 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (G_IS_FILE (file), NULL); #line 85 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = g_checksum_new (G_CHECKSUM_MD5); #line 85 "/home/jens/Source/shotwell/src/util/misc.vala" md5 = _tmp0_; #line 86 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = g_new0 (guint8, 64 * 1024); #line 86 "/home/jens/Source/shotwell/src/util/misc.vala" buffer = _tmp1_; #line 86 "/home/jens/Source/shotwell/src/util/misc.vala" buffer_length1 = 64 * 1024; #line 86 "/home/jens/Source/shotwell/src/util/misc.vala" _buffer_size_ = buffer_length1; #line 88 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = file; #line 88 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = g_file_read (_tmp2_, NULL, &_inner_error_); #line 88 "/home/jens/Source/shotwell/src/util/misc.vala" fins = _tmp3_; #line 88 "/home/jens/Source/shotwell/src/util/misc.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 88 "/home/jens/Source/shotwell/src/util/misc.vala" g_propagate_error (error, _inner_error_); #line 88 "/home/jens/Source/shotwell/src/util/misc.vala" buffer = (g_free (buffer), NULL); #line 88 "/home/jens/Source/shotwell/src/util/misc.vala" _g_checksum_free0 (md5); #line 88 "/home/jens/Source/shotwell/src/util/misc.vala" return NULL; #line 656 "misc.c" } { gboolean _tmp4_ = FALSE; #line 89 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = TRUE; #line 89 "/home/jens/Source/shotwell/src/util/misc.vala" while (TRUE) { #line 664 "misc.c" gsize bytes_read = 0UL; GFileInputStream* _tmp5_ = NULL; guint8* _tmp6_ = NULL; gint _tmp6__length1 = 0; gssize _tmp7_ = 0L; gsize _tmp8_ = 0UL; GChecksum* _tmp9_ = NULL; guint8* _tmp10_ = NULL; gint _tmp10__length1 = 0; gsize _tmp11_ = 0UL; #line 89 "/home/jens/Source/shotwell/src/util/misc.vala" if (!_tmp4_) { #line 677 "misc.c" } #line 89 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = FALSE; #line 90 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = fins; #line 90 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6_ = buffer; #line 90 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6__length1 = buffer_length1; #line 90 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp7_ = g_input_stream_read (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, g_input_stream_get_type (), GInputStream), _tmp6_, (gsize) _tmp6__length1, NULL, &_inner_error_); #line 90 "/home/jens/Source/shotwell/src/util/misc.vala" bytes_read = (gsize) _tmp7_; #line 90 "/home/jens/Source/shotwell/src/util/misc.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 90 "/home/jens/Source/shotwell/src/util/misc.vala" g_propagate_error (error, _inner_error_); #line 90 "/home/jens/Source/shotwell/src/util/misc.vala" _g_object_unref0 (fins); #line 90 "/home/jens/Source/shotwell/src/util/misc.vala" buffer = (g_free (buffer), NULL); #line 90 "/home/jens/Source/shotwell/src/util/misc.vala" _g_checksum_free0 (md5); #line 90 "/home/jens/Source/shotwell/src/util/misc.vala" return NULL; #line 703 "misc.c" } #line 91 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp8_ = bytes_read; #line 91 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp8_ <= ((gsize) 0)) { #line 92 "/home/jens/Source/shotwell/src/util/misc.vala" break; #line 711 "misc.c" } #line 94 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp9_ = md5; #line 94 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10_ = buffer; #line 94 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10__length1 = buffer_length1; #line 94 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp11_ = bytes_read; #line 94 "/home/jens/Source/shotwell/src/util/misc.vala" g_checksum_update (_tmp9_, (guchar*) _tmp10_, _tmp11_); #line 723 "misc.c" } } { GFileInputStream* _tmp12_ = NULL; #line 98 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp12_ = fins; #line 98 "/home/jens/Source/shotwell/src/util/misc.vala" g_input_stream_close (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, g_input_stream_get_type (), GInputStream), NULL, &_inner_error_); #line 98 "/home/jens/Source/shotwell/src/util/misc.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 734 "misc.c" goto __catch5_g_error; } } goto __finally5; __catch5_g_error: { GError* err = NULL; GFile* _tmp13_ = NULL; gchar* _tmp14_ = NULL; gchar* _tmp15_ = NULL; GError* _tmp16_ = NULL; const gchar* _tmp17_ = NULL; #line 97 "/home/jens/Source/shotwell/src/util/misc.vala" err = _inner_error_; #line 97 "/home/jens/Source/shotwell/src/util/misc.vala" _inner_error_ = NULL; #line 100 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp13_ = file; #line 100 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp14_ = g_file_get_path (_tmp13_); #line 100 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp15_ = _tmp14_; #line 100 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp16_ = err; #line 100 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp17_ = _tmp16_->message; #line 100 "/home/jens/Source/shotwell/src/util/misc.vala" g_warning ("misc.vala:100: Unable to close MD5 input stream for %s: %s", _tmp15_, _tmp17_); #line 100 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (_tmp15_); #line 97 "/home/jens/Source/shotwell/src/util/misc.vala" _g_error_free0 (err); #line 767 "misc.c" } __finally5: #line 97 "/home/jens/Source/shotwell/src/util/misc.vala" if (G_UNLIKELY (_inner_error_ != NULL)) { #line 97 "/home/jens/Source/shotwell/src/util/misc.vala" g_propagate_error (error, _inner_error_); #line 97 "/home/jens/Source/shotwell/src/util/misc.vala" _g_object_unref0 (fins); #line 97 "/home/jens/Source/shotwell/src/util/misc.vala" buffer = (g_free (buffer), NULL); #line 97 "/home/jens/Source/shotwell/src/util/misc.vala" _g_checksum_free0 (md5); #line 97 "/home/jens/Source/shotwell/src/util/misc.vala" return NULL; #line 782 "misc.c" } #line 103 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp18_ = md5; #line 103 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp19_ = g_checksum_get_string (_tmp18_); #line 103 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp20_ = g_strdup (_tmp19_); #line 103 "/home/jens/Source/shotwell/src/util/misc.vala" result = _tmp20_; #line 103 "/home/jens/Source/shotwell/src/util/misc.vala" _g_object_unref0 (fins); #line 103 "/home/jens/Source/shotwell/src/util/misc.vala" buffer = (g_free (buffer), NULL); #line 103 "/home/jens/Source/shotwell/src/util/misc.vala" _g_checksum_free0 (md5); #line 103 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 800 "misc.c" } gboolean equal_sets (GeeSet* a, GeeSet* b) { gboolean result = FALSE; gboolean _tmp0_ = FALSE; gboolean _tmp1_ = FALSE; GeeSet* _tmp2_ = NULL; gboolean _tmp7_ = FALSE; GeeSet* _tmp8_ = NULL; gboolean _tmp14_ = FALSE; gboolean _tmp15_ = FALSE; GeeSet* _tmp16_ = NULL; gboolean _tmp21_ = FALSE; GeeSet* _tmp22_ = NULL; GeeSet* _tmp24_ = NULL; gint _tmp25_ = 0; gint _tmp26_ = 0; GeeSet* _tmp27_ = NULL; gint _tmp28_ = 0; gint _tmp29_ = 0; #line 107 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail ((a == NULL) || GEE_IS_SET (a), FALSE); #line 107 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail ((b == NULL) || GEE_IS_SET (b), FALSE); #line 108 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = a; #line 108 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp2_ != NULL) { #line 830 "misc.c" GeeSet* _tmp3_ = NULL; gint _tmp4_ = 0; gint _tmp5_ = 0; #line 108 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = a; #line 108 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); #line 108 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = _tmp4_; #line 108 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = _tmp5_ == 0; #line 842 "misc.c" } else { #line 108 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = FALSE; #line 846 "misc.c" } #line 108 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp1_) { #line 850 "misc.c" GeeSet* _tmp6_ = NULL; #line 108 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6_ = b; #line 108 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = _tmp6_ == NULL; #line 856 "misc.c" } else { #line 108 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = FALSE; #line 860 "misc.c" } #line 108 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp0_) { #line 109 "/home/jens/Source/shotwell/src/util/misc.vala" result = TRUE; #line 109 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 868 "misc.c" } #line 111 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp8_ = a; #line 111 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp8_ == NULL) { #line 874 "misc.c" gboolean _tmp9_ = FALSE; GeeSet* _tmp10_ = NULL; #line 111 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10_ = b; #line 111 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp10_ != NULL) { #line 881 "misc.c" GeeSet* _tmp11_ = NULL; gint _tmp12_ = 0; gint _tmp13_ = 0; #line 111 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp11_ = b; #line 111 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp12_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); #line 111 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp13_ = _tmp12_; #line 111 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp9_ = _tmp13_ == 0; #line 893 "misc.c" } else { #line 111 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp9_ = FALSE; #line 897 "misc.c" } #line 111 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp7_ = _tmp9_; #line 901 "misc.c" } else { #line 111 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp7_ = FALSE; #line 905 "misc.c" } #line 111 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp7_) { #line 112 "/home/jens/Source/shotwell/src/util/misc.vala" result = TRUE; #line 112 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 913 "misc.c" } #line 114 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp16_ = a; #line 114 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp16_ == NULL) { #line 919 "misc.c" GeeSet* _tmp17_ = NULL; #line 114 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp17_ = b; #line 114 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp15_ = _tmp17_ != NULL; #line 925 "misc.c" } else { #line 114 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp15_ = FALSE; #line 929 "misc.c" } #line 114 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp15_) { #line 114 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp14_ = TRUE; #line 935 "misc.c" } else { gboolean _tmp18_ = FALSE; GeeSet* _tmp19_ = NULL; #line 114 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp19_ = a; #line 114 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp19_ != NULL) { #line 943 "misc.c" GeeSet* _tmp20_ = NULL; #line 114 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp20_ = b; #line 114 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp18_ = _tmp20_ == NULL; #line 949 "misc.c" } else { #line 114 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp18_ = FALSE; #line 953 "misc.c" } #line 114 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp14_ = _tmp18_; #line 957 "misc.c" } #line 114 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp14_) { #line 115 "/home/jens/Source/shotwell/src/util/misc.vala" result = FALSE; #line 115 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 965 "misc.c" } #line 117 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp22_ = a; #line 117 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp22_ == NULL) { #line 971 "misc.c" GeeSet* _tmp23_ = NULL; #line 117 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp23_ = b; #line 117 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp21_ = _tmp23_ == NULL; #line 977 "misc.c" } else { #line 117 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp21_ = FALSE; #line 981 "misc.c" } #line 117 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp21_) { #line 118 "/home/jens/Source/shotwell/src/util/misc.vala" result = TRUE; #line 118 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 989 "misc.c" } #line 120 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp24_ = a; #line 120 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp25_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection)); #line 120 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp26_ = _tmp25_; #line 120 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp27_ = b; #line 120 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp28_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection)); #line 120 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp29_ = _tmp28_; #line 120 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp26_ != _tmp29_) { #line 121 "/home/jens/Source/shotwell/src/util/misc.vala" result = FALSE; #line 121 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 1009 "misc.c" } { GeeIterator* _element_it = NULL; GeeSet* _tmp30_ = NULL; GeeIterator* _tmp31_ = NULL; #line 125 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp30_ = a; #line 125 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp31_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ITERABLE, GeeIterable)); #line 125 "/home/jens/Source/shotwell/src/util/misc.vala" _element_it = _tmp31_; #line 125 "/home/jens/Source/shotwell/src/util/misc.vala" while (TRUE) { #line 1023 "misc.c" GeeIterator* _tmp32_ = NULL; gboolean _tmp33_ = FALSE; gchar* element = NULL; GeeIterator* _tmp34_ = NULL; gpointer _tmp35_ = NULL; GeeSet* _tmp36_ = NULL; const gchar* _tmp37_ = NULL; gboolean _tmp38_ = FALSE; #line 125 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp32_ = _element_it; #line 125 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp33_ = gee_iterator_next (_tmp32_); #line 125 "/home/jens/Source/shotwell/src/util/misc.vala" if (!_tmp33_) { #line 125 "/home/jens/Source/shotwell/src/util/misc.vala" break; #line 1040 "misc.c" } #line 125 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp34_ = _element_it; #line 125 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp35_ = gee_iterator_get (_tmp34_); #line 125 "/home/jens/Source/shotwell/src/util/misc.vala" element = (gchar*) _tmp35_; #line 126 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp36_ = b; #line 126 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp37_ = element; #line 126 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp38_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection), _tmp37_); #line 126 "/home/jens/Source/shotwell/src/util/misc.vala" if (!_tmp38_) { #line 127 "/home/jens/Source/shotwell/src/util/misc.vala" result = FALSE; #line 127 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (element); #line 127 "/home/jens/Source/shotwell/src/util/misc.vala" _g_object_unref0 (_element_it); #line 127 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 1064 "misc.c" } #line 125 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (element); #line 1068 "misc.c" } #line 125 "/home/jens/Source/shotwell/src/util/misc.vala" _g_object_unref0 (_element_it); #line 1072 "misc.c" } #line 130 "/home/jens/Source/shotwell/src/util/misc.vala" result = TRUE; #line 130 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 1078 "misc.c" } static gpointer _g_object_ref0 (gpointer self) { #line 166 "/home/jens/Source/shotwell/src/util/misc.vala" return self ? g_object_ref (self) : NULL; #line 1085 "misc.c" } GeeSet* intersection_of_sets (GeeSet* a, GeeSet* b, GeeSet* excluded) { GeeSet* result = NULL; gboolean _tmp0_ = FALSE; GeeSet* _tmp1_ = NULL; gboolean _tmp6_ = FALSE; GeeSet* _tmp7_ = NULL; GeeSet* intersection = NULL; GeeHashSet* _tmp12_ = NULL; GeeSet* _tmp41_ = NULL; GeeSet* _tmp42_ = NULL; gint _tmp43_ = 0; gint _tmp44_ = 0; GeeSet* _tmp46_ = NULL; #line 134 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail ((a == NULL) || GEE_IS_SET (a), NULL); #line 134 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail ((b == NULL) || GEE_IS_SET (b), NULL); #line 134 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail ((excluded == NULL) || GEE_IS_SET (excluded), NULL); #line 136 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = a; #line 136 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp1_ != NULL) { #line 1112 "misc.c" GeeSet* _tmp2_ = NULL; #line 136 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = b; #line 136 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = _tmp2_ == NULL; #line 1118 "misc.c" } else { #line 136 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = FALSE; #line 1122 "misc.c" } #line 136 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp0_) { #line 1126 "misc.c" GeeSet* _tmp3_ = NULL; #line 137 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = excluded; #line 137 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp3_ != NULL) { #line 1132 "misc.c" GeeSet* _tmp4_ = NULL; GeeSet* _tmp5_ = NULL; #line 138 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = excluded; #line 138 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = a; #line 138 "/home/jens/Source/shotwell/src/util/misc.vala" gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1141 "misc.c" } #line 140 "/home/jens/Source/shotwell/src/util/misc.vala" result = NULL; #line 140 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 1147 "misc.c" } #line 143 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp7_ = a; #line 143 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp7_ == NULL) { #line 1153 "misc.c" GeeSet* _tmp8_ = NULL; #line 143 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp8_ = b; #line 143 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6_ = _tmp8_ != NULL; #line 1159 "misc.c" } else { #line 143 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6_ = FALSE; #line 1163 "misc.c" } #line 143 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp6_) { #line 1167 "misc.c" GeeSet* _tmp9_ = NULL; #line 144 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp9_ = excluded; #line 144 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp9_ != NULL) { #line 1173 "misc.c" GeeSet* _tmp10_ = NULL; GeeSet* _tmp11_ = NULL; #line 145 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10_ = excluded; #line 145 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp11_ = b; #line 145 "/home/jens/Source/shotwell/src/util/misc.vala" gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); #line 1182 "misc.c" } #line 147 "/home/jens/Source/shotwell/src/util/misc.vala" result = NULL; #line 147 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 1188 "misc.c" } #line 150 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp12_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); #line 150 "/home/jens/Source/shotwell/src/util/misc.vala" intersection = G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_SET, GeeSet); #line 1194 "misc.c" { GeeIterator* _element_it = NULL; GeeSet* _tmp13_ = NULL; GeeIterator* _tmp14_ = NULL; #line 152 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp13_ = a; #line 152 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp14_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); #line 152 "/home/jens/Source/shotwell/src/util/misc.vala" _element_it = _tmp14_; #line 152 "/home/jens/Source/shotwell/src/util/misc.vala" while (TRUE) { #line 1207 "misc.c" GeeIterator* _tmp15_ = NULL; gboolean _tmp16_ = FALSE; gchar* element = NULL; GeeIterator* _tmp17_ = NULL; gpointer _tmp18_ = NULL; GeeSet* _tmp19_ = NULL; const gchar* _tmp20_ = NULL; gboolean _tmp21_ = FALSE; #line 152 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp15_ = _element_it; #line 152 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp16_ = gee_iterator_next (_tmp15_); #line 152 "/home/jens/Source/shotwell/src/util/misc.vala" if (!_tmp16_) { #line 152 "/home/jens/Source/shotwell/src/util/misc.vala" break; #line 1224 "misc.c" } #line 152 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp17_ = _element_it; #line 152 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp18_ = gee_iterator_get (_tmp17_); #line 152 "/home/jens/Source/shotwell/src/util/misc.vala" element = (gchar*) _tmp18_; #line 153 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp19_ = b; #line 153 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp20_ = element; #line 153 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp21_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_COLLECTION, GeeCollection), _tmp20_); #line 153 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp21_) { #line 1240 "misc.c" GeeSet* _tmp22_ = NULL; const gchar* _tmp23_ = NULL; #line 154 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp22_ = intersection; #line 154 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp23_ = element; #line 154 "/home/jens/Source/shotwell/src/util/misc.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection), _tmp23_); #line 1249 "misc.c" } else { GeeSet* _tmp24_ = NULL; #line 155 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp24_ = excluded; #line 155 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp24_ != NULL) { #line 1256 "misc.c" GeeSet* _tmp25_ = NULL; const gchar* _tmp26_ = NULL; #line 156 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp25_ = excluded; #line 156 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp26_ = element; #line 156 "/home/jens/Source/shotwell/src/util/misc.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection), _tmp26_); #line 1265 "misc.c" } } #line 152 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (element); #line 1270 "misc.c" } #line 152 "/home/jens/Source/shotwell/src/util/misc.vala" _g_object_unref0 (_element_it); #line 1274 "misc.c" } { GeeIterator* _element_it = NULL; GeeSet* _tmp27_ = NULL; GeeIterator* _tmp28_ = NULL; #line 159 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp27_ = b; #line 159 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp28_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ITERABLE, GeeIterable)); #line 159 "/home/jens/Source/shotwell/src/util/misc.vala" _element_it = _tmp28_; #line 159 "/home/jens/Source/shotwell/src/util/misc.vala" while (TRUE) { #line 1288 "misc.c" GeeIterator* _tmp29_ = NULL; gboolean _tmp30_ = FALSE; gchar* element = NULL; GeeIterator* _tmp31_ = NULL; gpointer _tmp32_ = NULL; GeeSet* _tmp33_ = NULL; const gchar* _tmp34_ = NULL; gboolean _tmp35_ = FALSE; #line 159 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp29_ = _element_it; #line 159 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp30_ = gee_iterator_next (_tmp29_); #line 159 "/home/jens/Source/shotwell/src/util/misc.vala" if (!_tmp30_) { #line 159 "/home/jens/Source/shotwell/src/util/misc.vala" break; #line 1305 "misc.c" } #line 159 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp31_ = _element_it; #line 159 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp32_ = gee_iterator_get (_tmp31_); #line 159 "/home/jens/Source/shotwell/src/util/misc.vala" element = (gchar*) _tmp32_; #line 160 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp33_ = a; #line 160 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp34_ = element; #line 160 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp35_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection), _tmp34_); #line 160 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp35_) { #line 1321 "misc.c" GeeSet* _tmp36_ = NULL; const gchar* _tmp37_ = NULL; #line 161 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp36_ = intersection; #line 161 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp37_ = element; #line 161 "/home/jens/Source/shotwell/src/util/misc.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection), _tmp37_); #line 1330 "misc.c" } else { GeeSet* _tmp38_ = NULL; #line 162 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp38_ = excluded; #line 162 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp38_ != NULL) { #line 1337 "misc.c" GeeSet* _tmp39_ = NULL; const gchar* _tmp40_ = NULL; #line 163 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp39_ = excluded; #line 163 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp40_ = element; #line 163 "/home/jens/Source/shotwell/src/util/misc.vala" gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_COLLECTION, GeeCollection), _tmp40_); #line 1346 "misc.c" } } #line 159 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (element); #line 1351 "misc.c" } #line 159 "/home/jens/Source/shotwell/src/util/misc.vala" _g_object_unref0 (_element_it); #line 1355 "misc.c" } #line 166 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp42_ = intersection; #line 166 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp43_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_COLLECTION, GeeCollection)); #line 166 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp44_ = _tmp43_; #line 166 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp44_ > 0) { #line 1365 "misc.c" GeeSet* _tmp45_ = NULL; #line 166 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp45_ = intersection; #line 166 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp41_ = _tmp45_; #line 1371 "misc.c" } else { #line 166 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp41_ = NULL; #line 1375 "misc.c" } #line 166 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp46_ = _g_object_ref0 (_tmp41_); #line 166 "/home/jens/Source/shotwell/src/util/misc.vala" result = _tmp46_; #line 166 "/home/jens/Source/shotwell/src/util/misc.vala" _g_object_unref0 (intersection); #line 166 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 1385 "misc.c" } guchar* serialize_photo_ids (GeeCollection* photos, int* result_length1) { guchar* result = NULL; gint64* ids = NULL; GeeCollection* _tmp0_ = NULL; gint _tmp1_ = 0; gint _tmp2_ = 0; gint64* _tmp3_ = NULL; gint ids_length1 = 0; gint _ids_size_ = 0; gint ctr = 0; gsize bytes = 0UL; GeeCollection* _tmp16_ = NULL; gint _tmp17_ = 0; gint _tmp18_ = 0; guchar* serialized = NULL; guchar* _tmp19_ = NULL; gint serialized_length1 = 0; gint _serialized_size_ = 0; gint64* _tmp20_ = NULL; gint _tmp20__length1 = 0; guchar* _tmp21_ = NULL; gint _tmp21__length1 = 0; #line 169 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (GEE_IS_COLLECTION (photos), NULL); #line 170 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = photos; #line 170 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = gee_collection_get_size (_tmp0_); #line 170 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = _tmp1_; #line 170 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = g_new0 (gint64, _tmp2_); #line 170 "/home/jens/Source/shotwell/src/util/misc.vala" ids = _tmp3_; #line 170 "/home/jens/Source/shotwell/src/util/misc.vala" ids_length1 = _tmp2_; #line 170 "/home/jens/Source/shotwell/src/util/misc.vala" _ids_size_ = ids_length1; #line 171 "/home/jens/Source/shotwell/src/util/misc.vala" ctr = 0; #line 1429 "misc.c" { GeeIterator* _photo_it = NULL; GeeCollection* _tmp4_ = NULL; GeeIterator* _tmp5_ = NULL; #line 172 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = photos; #line 172 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); #line 172 "/home/jens/Source/shotwell/src/util/misc.vala" _photo_it = _tmp5_; #line 172 "/home/jens/Source/shotwell/src/util/misc.vala" while (TRUE) { #line 1442 "misc.c" GeeIterator* _tmp6_ = NULL; gboolean _tmp7_ = FALSE; Photo* photo = NULL; GeeIterator* _tmp8_ = NULL; gpointer _tmp9_ = NULL; gint64* _tmp10_ = NULL; gint _tmp10__length1 = 0; gint _tmp11_ = 0; Photo* _tmp12_ = NULL; PhotoID _tmp13_ = {0}; gint64 _tmp14_ = 0LL; gint64 _tmp15_ = 0LL; #line 172 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6_ = _photo_it; #line 172 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp7_ = gee_iterator_next (_tmp6_); #line 172 "/home/jens/Source/shotwell/src/util/misc.vala" if (!_tmp7_) { #line 172 "/home/jens/Source/shotwell/src/util/misc.vala" break; #line 1463 "misc.c" } #line 172 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp8_ = _photo_it; #line 172 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp9_ = gee_iterator_get (_tmp8_); #line 172 "/home/jens/Source/shotwell/src/util/misc.vala" photo = (Photo*) _tmp9_; #line 173 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10_ = ids; #line 173 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10__length1 = ids_length1; #line 173 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp11_ = ctr; #line 173 "/home/jens/Source/shotwell/src/util/misc.vala" ctr = _tmp11_ + 1; #line 173 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp12_ = photo; #line 173 "/home/jens/Source/shotwell/src/util/misc.vala" photo_get_photo_id (_tmp12_, &_tmp13_); #line 173 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp14_ = _tmp13_.id; #line 173 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10_[_tmp11_] = _tmp14_; #line 173 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp15_ = _tmp10_[_tmp11_]; #line 172 "/home/jens/Source/shotwell/src/util/misc.vala" _g_object_unref0 (photo); #line 1491 "misc.c" } #line 172 "/home/jens/Source/shotwell/src/util/misc.vala" _g_object_unref0 (_photo_it); #line 1495 "misc.c" } #line 175 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp16_ = photos; #line 175 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp17_ = gee_collection_get_size (_tmp16_); #line 175 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp18_ = _tmp17_; #line 175 "/home/jens/Source/shotwell/src/util/misc.vala" bytes = (gsize) (_tmp18_ * sizeof (gint64)); #line 176 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp19_ = g_new0 (guchar, bytes); #line 176 "/home/jens/Source/shotwell/src/util/misc.vala" serialized = _tmp19_; #line 176 "/home/jens/Source/shotwell/src/util/misc.vala" serialized_length1 = bytes; #line 176 "/home/jens/Source/shotwell/src/util/misc.vala" _serialized_size_ = serialized_length1; #line 177 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp20_ = ids; #line 177 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp20__length1 = ids_length1; #line 177 "/home/jens/Source/shotwell/src/util/misc.vala" memcpy (serialized, _tmp20_, bytes); #line 179 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp21_ = serialized; #line 179 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp21__length1 = serialized_length1; #line 179 "/home/jens/Source/shotwell/src/util/misc.vala" if (result_length1) { #line 179 "/home/jens/Source/shotwell/src/util/misc.vala" *result_length1 = _tmp21__length1; #line 1527 "misc.c" } #line 179 "/home/jens/Source/shotwell/src/util/misc.vala" result = _tmp21_; #line 179 "/home/jens/Source/shotwell/src/util/misc.vala" ids = (g_free (ids), NULL); #line 179 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 1535 "misc.c" } GeeList* unserialize_photo_ids (guchar* serialized, gint size) { GeeList* result = NULL; gsize count = 0UL; gint _tmp0_ = 0; gboolean _tmp1_ = FALSE; gsize _tmp2_ = 0UL; gint64* ids = NULL; gsize _tmp4_ = 0UL; gint64* _tmp5_ = NULL; gint ids_length1 = 0; gint _ids_size_ = 0; gint64* _tmp6_ = NULL; gint _tmp6__length1 = 0; guchar* _tmp7_ = NULL; gint _tmp8_ = 0; GeeArrayList* list = NULL; GeeArrayList* _tmp9_ = NULL; gint64* _tmp10_ = NULL; gint _tmp10__length1 = 0; #line 183 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = size; #line 183 "/home/jens/Source/shotwell/src/util/misc.vala" count = (gsize) (_tmp0_ / sizeof (gint64)); #line 184 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = count; #line 184 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp2_ <= ((gsize) 0)) { #line 184 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = TRUE; #line 1568 "misc.c" } else { guchar* _tmp3_ = NULL; #line 184 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = serialized; #line 184 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = _tmp3_ == NULL; #line 1575 "misc.c" } #line 184 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp1_) { #line 185 "/home/jens/Source/shotwell/src/util/misc.vala" result = NULL; #line 185 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 1583 "misc.c" } #line 187 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = count; #line 187 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = g_new0 (gint64, _tmp4_); #line 187 "/home/jens/Source/shotwell/src/util/misc.vala" ids = _tmp5_; #line 187 "/home/jens/Source/shotwell/src/util/misc.vala" ids_length1 = _tmp4_; #line 187 "/home/jens/Source/shotwell/src/util/misc.vala" _ids_size_ = ids_length1; #line 188 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6_ = ids; #line 188 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6__length1 = ids_length1; #line 188 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp7_ = serialized; #line 188 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp8_ = size; #line 188 "/home/jens/Source/shotwell/src/util/misc.vala" memcpy (_tmp6_, _tmp7_, (gsize) _tmp8_); #line 190 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp9_ = gee_array_list_new (TYPE_PHOTO_ID, (GBoxedCopyFunc) photo_id_dup, photo_id_free, NULL, NULL, NULL); #line 190 "/home/jens/Source/shotwell/src/util/misc.vala" list = _tmp9_; #line 191 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10_ = ids; #line 191 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10__length1 = ids_length1; #line 1613 "misc.c" { gint64* id_collection = NULL; gint id_collection_length1 = 0; gint _id_collection_size_ = 0; gint id_it = 0; #line 191 "/home/jens/Source/shotwell/src/util/misc.vala" id_collection = _tmp10_; #line 191 "/home/jens/Source/shotwell/src/util/misc.vala" id_collection_length1 = _tmp10__length1; #line 191 "/home/jens/Source/shotwell/src/util/misc.vala" for (id_it = 0; id_it < _tmp10__length1; id_it = id_it + 1) { #line 1625 "misc.c" gint64 id = 0LL; #line 191 "/home/jens/Source/shotwell/src/util/misc.vala" id = id_collection[id_it]; #line 1629 "misc.c" { GeeArrayList* _tmp11_ = NULL; gint64 _tmp12_ = 0LL; PhotoID _tmp13_ = {0}; #line 192 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp11_ = list; #line 192 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp12_ = id; #line 192 "/home/jens/Source/shotwell/src/util/misc.vala" photo_id_init (&_tmp13_, _tmp12_); #line 192 "/home/jens/Source/shotwell/src/util/misc.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), &_tmp13_); #line 1642 "misc.c" } } } #line 194 "/home/jens/Source/shotwell/src/util/misc.vala" result = G_TYPE_CHECK_INSTANCE_CAST (list, GEE_TYPE_LIST, GeeList); #line 194 "/home/jens/Source/shotwell/src/util/misc.vala" ids = (g_free (ids), NULL); #line 194 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 1652 "misc.c" } guchar* serialize_media_sources (GeeCollection* media, int* result_length1) { guchar* result = NULL; GdkAtom* atoms = NULL; GeeCollection* _tmp0_ = NULL; gint _tmp1_ = 0; gint _tmp2_ = 0; GdkAtom* _tmp3_ = NULL; gint atoms_length1 = 0; gint _atoms_size_ = 0; gint ctr = 0; gsize bytes = 0UL; GeeCollection* _tmp17_ = NULL; gint _tmp18_ = 0; gint _tmp19_ = 0; guchar* serialized = NULL; guchar* _tmp20_ = NULL; gint serialized_length1 = 0; gint _serialized_size_ = 0; GdkAtom* _tmp21_ = NULL; gint _tmp21__length1 = 0; guchar* _tmp22_ = NULL; gint _tmp22__length1 = 0; #line 197 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (GEE_IS_COLLECTION (media), NULL); #line 198 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = media; #line 198 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = gee_collection_get_size (_tmp0_); #line 198 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = _tmp1_; #line 198 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = g_new0 (GdkAtom, _tmp2_); #line 198 "/home/jens/Source/shotwell/src/util/misc.vala" atoms = _tmp3_; #line 198 "/home/jens/Source/shotwell/src/util/misc.vala" atoms_length1 = _tmp2_; #line 198 "/home/jens/Source/shotwell/src/util/misc.vala" _atoms_size_ = atoms_length1; #line 199 "/home/jens/Source/shotwell/src/util/misc.vala" ctr = 0; #line 1696 "misc.c" { GeeIterator* _current_media_it = NULL; GeeCollection* _tmp4_ = NULL; GeeIterator* _tmp5_ = NULL; #line 200 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = media; #line 200 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); #line 200 "/home/jens/Source/shotwell/src/util/misc.vala" _current_media_it = _tmp5_; #line 200 "/home/jens/Source/shotwell/src/util/misc.vala" while (TRUE) { #line 1709 "misc.c" GeeIterator* _tmp6_ = NULL; gboolean _tmp7_ = FALSE; MediaSource* current_media = NULL; GeeIterator* _tmp8_ = NULL; gpointer _tmp9_ = NULL; GdkAtom* _tmp10_ = NULL; gint _tmp10__length1 = 0; gint _tmp11_ = 0; MediaSource* _tmp12_ = NULL; gchar* _tmp13_ = NULL; gchar* _tmp14_ = NULL; GdkAtom _tmp15_ = 0U; GdkAtom _tmp16_ = 0U; #line 200 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6_ = _current_media_it; #line 200 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp7_ = gee_iterator_next (_tmp6_); #line 200 "/home/jens/Source/shotwell/src/util/misc.vala" if (!_tmp7_) { #line 200 "/home/jens/Source/shotwell/src/util/misc.vala" break; #line 1731 "misc.c" } #line 200 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp8_ = _current_media_it; #line 200 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp9_ = gee_iterator_get (_tmp8_); #line 200 "/home/jens/Source/shotwell/src/util/misc.vala" current_media = (MediaSource*) _tmp9_; #line 201 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10_ = atoms; #line 201 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10__length1 = atoms_length1; #line 201 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp11_ = ctr; #line 201 "/home/jens/Source/shotwell/src/util/misc.vala" ctr = _tmp11_ + 1; #line 201 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp12_ = current_media; #line 201 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp13_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_SOURCE, DataSource)); #line 201 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp14_ = _tmp13_; #line 201 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp15_ = gdk_atom_intern (_tmp14_, FALSE); #line 201 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10_[_tmp11_] = _tmp15_; #line 201 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp16_ = _tmp10_[_tmp11_]; #line 201 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (_tmp14_); #line 200 "/home/jens/Source/shotwell/src/util/misc.vala" _g_object_unref0 (current_media); #line 1763 "misc.c" } #line 200 "/home/jens/Source/shotwell/src/util/misc.vala" _g_object_unref0 (_current_media_it); #line 1767 "misc.c" } #line 203 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp17_ = media; #line 203 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp18_ = gee_collection_get_size (_tmp17_); #line 203 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp19_ = _tmp18_; #line 203 "/home/jens/Source/shotwell/src/util/misc.vala" bytes = (gsize) (_tmp19_ * sizeof (GdkAtom)); #line 204 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp20_ = g_new0 (guchar, bytes); #line 204 "/home/jens/Source/shotwell/src/util/misc.vala" serialized = _tmp20_; #line 204 "/home/jens/Source/shotwell/src/util/misc.vala" serialized_length1 = bytes; #line 204 "/home/jens/Source/shotwell/src/util/misc.vala" _serialized_size_ = serialized_length1; #line 205 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp21_ = atoms; #line 205 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp21__length1 = atoms_length1; #line 205 "/home/jens/Source/shotwell/src/util/misc.vala" memcpy (serialized, _tmp21_, bytes); #line 207 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp22_ = serialized; #line 207 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp22__length1 = serialized_length1; #line 207 "/home/jens/Source/shotwell/src/util/misc.vala" if (result_length1) { #line 207 "/home/jens/Source/shotwell/src/util/misc.vala" *result_length1 = _tmp22__length1; #line 1799 "misc.c" } #line 207 "/home/jens/Source/shotwell/src/util/misc.vala" result = _tmp22_; #line 207 "/home/jens/Source/shotwell/src/util/misc.vala" atoms = (g_free (atoms), NULL); #line 207 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 1807 "misc.c" } GeeList* unserialize_media_sources (guchar* serialized, gint size) { GeeList* result = NULL; gsize count = 0UL; gint _tmp0_ = 0; gboolean _tmp1_ = FALSE; gsize _tmp2_ = 0UL; GdkAtom* atoms = NULL; gsize _tmp4_ = 0UL; GdkAtom* _tmp5_ = NULL; gint atoms_length1 = 0; gint _atoms_size_ = 0; GdkAtom* _tmp6_ = NULL; gint _tmp6__length1 = 0; guchar* _tmp7_ = NULL; gint _tmp8_ = 0; GeeArrayList* list = NULL; GeeArrayList* _tmp9_ = NULL; GdkAtom* _tmp10_ = NULL; gint _tmp10__length1 = 0; #line 211 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = size; #line 211 "/home/jens/Source/shotwell/src/util/misc.vala" count = (gsize) (_tmp0_ / sizeof (GdkAtom)); #line 212 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = count; #line 212 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp2_ <= ((gsize) 0)) { #line 212 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = TRUE; #line 1840 "misc.c" } else { guchar* _tmp3_ = NULL; #line 212 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = serialized; #line 212 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = _tmp3_ == NULL; #line 1847 "misc.c" } #line 212 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp1_) { #line 213 "/home/jens/Source/shotwell/src/util/misc.vala" result = NULL; #line 213 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 1855 "misc.c" } #line 215 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = count; #line 215 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = g_new0 (GdkAtom, _tmp4_); #line 215 "/home/jens/Source/shotwell/src/util/misc.vala" atoms = _tmp5_; #line 215 "/home/jens/Source/shotwell/src/util/misc.vala" atoms_length1 = _tmp4_; #line 215 "/home/jens/Source/shotwell/src/util/misc.vala" _atoms_size_ = atoms_length1; #line 216 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6_ = atoms; #line 216 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6__length1 = atoms_length1; #line 216 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp7_ = serialized; #line 216 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp8_ = size; #line 216 "/home/jens/Source/shotwell/src/util/misc.vala" memcpy (_tmp6_, _tmp7_, (gsize) _tmp8_); #line 218 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp9_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); #line 218 "/home/jens/Source/shotwell/src/util/misc.vala" list = _tmp9_; #line 219 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10_ = atoms; #line 219 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10__length1 = atoms_length1; #line 1885 "misc.c" { GdkAtom* current_atom_collection = NULL; gint current_atom_collection_length1 = 0; gint _current_atom_collection_size_ = 0; gint current_atom_it = 0; #line 219 "/home/jens/Source/shotwell/src/util/misc.vala" current_atom_collection = _tmp10_; #line 219 "/home/jens/Source/shotwell/src/util/misc.vala" current_atom_collection_length1 = _tmp10__length1; #line 219 "/home/jens/Source/shotwell/src/util/misc.vala" for (current_atom_it = 0; current_atom_it < _tmp10__length1; current_atom_it = current_atom_it + 1) { #line 1897 "misc.c" GdkAtom current_atom = 0U; #line 219 "/home/jens/Source/shotwell/src/util/misc.vala" current_atom = current_atom_collection[current_atom_it]; #line 1901 "misc.c" { MediaSource* media = NULL; MediaCollectionRegistry* _tmp11_ = NULL; MediaCollectionRegistry* _tmp12_ = NULL; GdkAtom _tmp13_ = 0U; gchar* _tmp14_ = NULL; gchar* _tmp15_ = NULL; MediaSource* _tmp16_ = NULL; MediaSource* _tmp17_ = NULL; MediaSource* _tmp18_ = NULL; GeeArrayList* _tmp19_ = NULL; MediaSource* _tmp20_ = NULL; #line 220 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp11_ = media_collection_registry_get_instance (); #line 220 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp12_ = _tmp11_; #line 220 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp13_ = current_atom; #line 220 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp14_ = gdk_atom_name (_tmp13_); #line 220 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp15_ = _tmp14_; #line 220 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp16_ = media_collection_registry_fetch_media (_tmp12_, _tmp15_); #line 220 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp17_ = _tmp16_; #line 220 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (_tmp15_); #line 220 "/home/jens/Source/shotwell/src/util/misc.vala" _media_collection_registry_unref0 (_tmp12_); #line 220 "/home/jens/Source/shotwell/src/util/misc.vala" media = _tmp17_; #line 221 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp18_ = media; #line 221 "/home/jens/Source/shotwell/src/util/misc.vala" _vala_assert (_tmp18_ != NULL, "media != null"); #line 222 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp19_ = list; #line 222 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp20_ = media; #line 222 "/home/jens/Source/shotwell/src/util/misc.vala" gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp20_); #line 219 "/home/jens/Source/shotwell/src/util/misc.vala" _g_object_unref0 (media); #line 1946 "misc.c" } } } #line 225 "/home/jens/Source/shotwell/src/util/misc.vala" result = G_TYPE_CHECK_INSTANCE_CAST (list, GEE_TYPE_LIST, GeeList); #line 225 "/home/jens/Source/shotwell/src/util/misc.vala" atoms = (g_free (atoms), NULL); #line 225 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 1956 "misc.c" } static gchar* g_time_format (struct tm *self, const gchar* format) { gchar* result = NULL; gchar* buffer = NULL; gchar* _tmp0_ = NULL; gint buffer_length1 = 0; gint _buffer_size_ = 0; gchar* _tmp1_ = NULL; gint _tmp1__length1 = 0; const gchar* _tmp2_ = NULL; gchar* _tmp3_ = NULL; gint _tmp3__length1 = 0; gchar* _tmp4_ = NULL; #line 2758 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" g_return_val_if_fail (format != NULL, NULL); #line 2759 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" _tmp0_ = g_new0 (gchar, 64); #line 2759 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" buffer = _tmp0_; #line 2759 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" buffer_length1 = 64; #line 2759 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" _buffer_size_ = buffer_length1; #line 2760 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" _tmp1_ = buffer; #line 2760 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" _tmp1__length1 = buffer_length1; #line 2760 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" _tmp2_ = format; #line 2760 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" strftime (_tmp1_, _tmp1__length1, _tmp2_, &(*self)); #line 2761 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" _tmp3_ = buffer; #line 2761 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" _tmp3__length1 = buffer_length1; #line 2761 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" _tmp4_ = g_strdup ((const gchar*) _tmp3_); #line 2761 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" result = _tmp4_; #line 2761 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" buffer = (g_free (buffer), NULL); #line 2761 "/usr/share/vala-0.34/vapi/glib-2.0.vapi" return result; #line 2002 "misc.c" } gchar* format_local_datespan (struct tm* from_date, struct tm* to_date) { gchar* result = NULL; gchar* from_format = NULL; gchar* to_format = NULL; struct tm _tmp0_ = {0}; gint _tmp1_ = 0; struct tm _tmp2_ = {0}; gint _tmp3_ = 0; const gchar* _tmp19_ = NULL; gchar* _tmp20_ = NULL; gchar* _tmp21_ = NULL; const gchar* _tmp22_ = NULL; gchar* _tmp23_ = NULL; gchar* _tmp24_ = NULL; gchar* _tmp25_ = NULL; gchar* _tmp26_ = NULL; gchar* _tmp27_ = NULL; gchar* _tmp28_ = NULL; #line 228 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (from_date != NULL, NULL); #line 228 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (to_date != NULL, NULL); #line 233 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = *from_date; #line 233 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = _tmp0_.tm_year; #line 233 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = *to_date; #line 233 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = _tmp2_.tm_year; #line 233 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp1_ == _tmp3_) { #line 2038 "misc.c" gboolean _tmp4_ = FALSE; struct tm _tmp5_ = {0}; gint _tmp6_ = 0; struct tm _tmp7_ = {0}; gint _tmp8_ = 0; #line 235 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = *from_date; #line 235 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6_ = _tmp5_.tm_mon; #line 235 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp7_ = *to_date; #line 235 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp8_ = _tmp7_.tm_mon; #line 235 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp6_ == _tmp8_) { #line 2054 "misc.c" struct tm _tmp9_ = {0}; gint _tmp10_ = 0; struct tm _tmp11_ = {0}; gint _tmp12_ = 0; #line 235 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp9_ = *from_date; #line 235 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10_ = _tmp9_.tm_mday; #line 235 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp11_ = *to_date; #line 235 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp12_ = _tmp11_.tm_mday; #line 235 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = _tmp10_ == (_tmp12_ - 1); #line 2069 "misc.c" } else { #line 235 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = FALSE; #line 2073 "misc.c" } #line 235 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp4_) { #line 2077 "misc.c" gchar* _tmp13_ = NULL; gchar* _tmp14_ = NULL; #line 237 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp13_ = resources_get_start_multiday_span_format_string (); #line 237 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (from_format); #line 237 "/home/jens/Source/shotwell/src/util/misc.vala" from_format = _tmp13_; #line 238 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp14_ = resources_get_end_multiday_span_format_string (); #line 238 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (to_format); #line 238 "/home/jens/Source/shotwell/src/util/misc.vala" to_format = _tmp14_; #line 2092 "misc.c" } else { gchar* _tmp15_ = NULL; gchar* _tmp16_ = NULL; #line 242 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp15_ = resources_get_start_multimonth_span_format_string (); #line 242 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (from_format); #line 242 "/home/jens/Source/shotwell/src/util/misc.vala" from_format = _tmp15_; #line 243 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp16_ = resources_get_end_multimonth_span_format_string (); #line 243 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (to_format); #line 243 "/home/jens/Source/shotwell/src/util/misc.vala" to_format = _tmp16_; #line 2108 "misc.c" } } else { gchar* _tmp17_ = NULL; gchar* _tmp18_ = NULL; #line 248 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp17_ = resources_get_long_date_format_string (); #line 248 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (from_format); #line 248 "/home/jens/Source/shotwell/src/util/misc.vala" from_format = _tmp17_; #line 249 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp18_ = resources_get_long_date_format_string (); #line 249 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (to_format); #line 249 "/home/jens/Source/shotwell/src/util/misc.vala" to_format = _tmp18_; #line 2125 "misc.c" } #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp19_ = from_format; #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp20_ = g_time_format (from_date, _tmp19_); #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp21_ = _tmp20_; #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp22_ = to_format; #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp23_ = g_time_format (to_date, _tmp22_); #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp24_ = _tmp23_; #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp25_ = g_strdup_printf ("%s - %s", _tmp21_, _tmp24_); #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp26_ = _tmp25_; #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp27_ = string_strip_leading_zeroes (_tmp26_); #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp28_ = _tmp27_; #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (_tmp26_); #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (_tmp24_); #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (_tmp21_); #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" result = _tmp28_; #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (to_format); #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (from_format); #line 252 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 2161 "misc.c" } gchar* format_local_date (struct tm* date) { gchar* result = NULL; gchar* _tmp0_ = NULL; gchar* _tmp1_ = NULL; gchar* _tmp2_ = NULL; gchar* _tmp3_ = NULL; gchar* _tmp4_ = NULL; gchar* _tmp5_ = NULL; #line 256 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (date != NULL, NULL); #line 257 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = resources_get_long_date_format_string (); #line 257 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = _tmp0_; #line 257 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = g_time_format (date, _tmp1_); #line 257 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = _tmp2_; #line 257 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = string_strip_leading_zeroes (_tmp3_); #line 257 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = _tmp4_; #line 257 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (_tmp3_); #line 257 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (_tmp1_); #line 257 "/home/jens/Source/shotwell/src/util/misc.vala" result = _tmp5_; #line 257 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 2195 "misc.c" } OneShotScheduler* one_shot_scheduler_construct (GType object_type, const gchar* name, OneShotCallback callback, void* callback_target) { OneShotScheduler* self = NULL; const gchar* _tmp0_ = NULL; gchar* _tmp1_ = NULL; OneShotCallback _tmp2_ = NULL; void* _tmp2__target = NULL; #line 267 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (name != NULL, NULL); #line 267 "/home/jens/Source/shotwell/src/util/misc.vala" self = (OneShotScheduler*) g_type_create_instance (object_type); #line 268 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = name; #line 268 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = g_strdup (_tmp0_); #line 268 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (self->priv->name); #line 268 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->name = _tmp1_; #line 269 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = callback; #line 269 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2__target = callback_target; #line 269 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->callback = _tmp2_; #line 269 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->callback_target = _tmp2__target; #line 267 "/home/jens/Source/shotwell/src/util/misc.vala" return self; #line 2227 "misc.c" } OneShotScheduler* one_shot_scheduler_new (const gchar* name, OneShotCallback callback, void* callback_target) { #line 267 "/home/jens/Source/shotwell/src/util/misc.vala" return one_shot_scheduler_construct (TYPE_ONE_SHOT_SCHEDULER, name, callback, callback_target); #line 2234 "misc.c" } gboolean one_shot_scheduler_is_scheduled (OneShotScheduler* self) { gboolean result = FALSE; guint _tmp0_ = 0U; #line 280 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (IS_ONE_SHOT_SCHEDULER (self), FALSE); #line 281 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = self->priv->scheduled; #line 281 "/home/jens/Source/shotwell/src/util/misc.vala" result = _tmp0_ != ((guint) 0); #line 281 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 2249 "misc.c" } void one_shot_scheduler_at_idle (OneShotScheduler* self) { #line 284 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (IS_ONE_SHOT_SCHEDULER (self)); #line 285 "/home/jens/Source/shotwell/src/util/misc.vala" one_shot_scheduler_at_priority_idle (self, G_PRIORITY_DEFAULT_IDLE); #line 2258 "misc.c" } static gboolean _one_shot_scheduler_callback_wrapper_gsource_func (gpointer self) { gboolean result; result = one_shot_scheduler_callback_wrapper ((OneShotScheduler*) self); #line 290 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 2267 "misc.c" } void one_shot_scheduler_at_priority_idle (OneShotScheduler* self, gint priority) { guint _tmp0_ = 0U; #line 288 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (IS_ONE_SHOT_SCHEDULER (self)); #line 289 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = self->priv->scheduled; #line 289 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp0_ == ((guint) 0)) { #line 2279 "misc.c" gint _tmp1_ = 0; guint _tmp2_ = 0U; #line 290 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = priority; #line 290 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = g_idle_add_full (_tmp1_, _one_shot_scheduler_callback_wrapper_gsource_func, one_shot_scheduler_ref (self), one_shot_scheduler_unref); #line 290 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->scheduled = _tmp2_; #line 2288 "misc.c" } } void one_shot_scheduler_after_timeout (OneShotScheduler* self, guint msec, gboolean reschedule) { guint _tmp0_ = 0U; gboolean _tmp1_ = FALSE; #line 293 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (IS_ONE_SHOT_SCHEDULER (self)); #line 294 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = msec; #line 294 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = reschedule; #line 294 "/home/jens/Source/shotwell/src/util/misc.vala" one_shot_scheduler_priority_after_timeout (self, G_PRIORITY_DEFAULT, _tmp0_, _tmp1_); #line 2304 "misc.c" } void one_shot_scheduler_priority_after_timeout (OneShotScheduler* self, gint priority, guint msec, gboolean reschedule) { gboolean _tmp0_ = FALSE; guint _tmp1_ = 0U; guint _tmp3_ = 0U; gint _tmp5_ = 0; guint _tmp6_ = 0U; guint _tmp7_ = 0U; #line 297 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (IS_ONE_SHOT_SCHEDULER (self)); #line 298 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = self->priv->scheduled; #line 298 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp1_ != ((guint) 0)) { #line 2321 "misc.c" gboolean _tmp2_ = FALSE; #line 298 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = reschedule; #line 298 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = !_tmp2_; #line 2327 "misc.c" } else { #line 298 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = FALSE; #line 2331 "misc.c" } #line 298 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp0_) { #line 299 "/home/jens/Source/shotwell/src/util/misc.vala" return; #line 2337 "misc.c" } #line 301 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = self->priv->scheduled; #line 301 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp3_ != ((guint) 0)) { #line 2343 "misc.c" guint _tmp4_ = 0U; #line 302 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = self->priv->scheduled; #line 302 "/home/jens/Source/shotwell/src/util/misc.vala" g_source_remove (_tmp4_); #line 2349 "misc.c" } #line 304 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = priority; #line 304 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6_ = msec; #line 304 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp7_ = g_timeout_add_full (_tmp5_, _tmp6_, _one_shot_scheduler_callback_wrapper_gsource_func, one_shot_scheduler_ref (self), one_shot_scheduler_unref); #line 304 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->scheduled = _tmp7_; #line 2359 "misc.c" } void one_shot_scheduler_cancel (OneShotScheduler* self) { guint _tmp0_ = 0U; guint _tmp1_ = 0U; #line 307 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (IS_ONE_SHOT_SCHEDULER (self)); #line 308 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = self->priv->scheduled; #line 308 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp0_ == ((guint) 0)) { #line 309 "/home/jens/Source/shotwell/src/util/misc.vala" return; #line 2374 "misc.c" } #line 311 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = self->priv->scheduled; #line 311 "/home/jens/Source/shotwell/src/util/misc.vala" g_source_remove (_tmp1_); #line 312 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->scheduled = (guint) 0; #line 2382 "misc.c" } static gboolean one_shot_scheduler_callback_wrapper (OneShotScheduler* self) { gboolean result = FALSE; OneShotCallback _tmp0_ = NULL; void* _tmp0__target = NULL; #line 315 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (IS_ONE_SHOT_SCHEDULER (self), FALSE); #line 316 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->scheduled = (guint) 0; #line 317 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = self->priv->callback; #line 317 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0__target = self->priv->callback_target; #line 317 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ (_tmp0__target); #line 319 "/home/jens/Source/shotwell/src/util/misc.vala" result = FALSE; #line 319 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 2404 "misc.c" } static void value_one_shot_scheduler_init (GValue* value) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" value->data[0].v_pointer = NULL; #line 2411 "misc.c" } static void value_one_shot_scheduler_free_value (GValue* value) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" if (value->data[0].v_pointer) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" one_shot_scheduler_unref (value->data[0].v_pointer); #line 2420 "misc.c" } } static void value_one_shot_scheduler_copy_value (const GValue* src_value, GValue* dest_value) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" if (src_value->data[0].v_pointer) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" dest_value->data[0].v_pointer = one_shot_scheduler_ref (src_value->data[0].v_pointer); #line 2430 "misc.c" } else { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" dest_value->data[0].v_pointer = NULL; #line 2434 "misc.c" } } static gpointer value_one_shot_scheduler_peek_pointer (const GValue* value) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" return value->data[0].v_pointer; #line 2442 "misc.c" } static gchar* value_one_shot_scheduler_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" if (collect_values[0].v_pointer) { #line 2449 "misc.c" OneShotScheduler* object; object = collect_values[0].v_pointer; #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" if (object->parent_instance.g_class == NULL) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); #line 2456 "misc.c" } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { #line 262 "/home/jens/Source/shotwell/src/util/misc.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 2460 "misc.c" } #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" value->data[0].v_pointer = one_shot_scheduler_ref (object); #line 2464 "misc.c" } else { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" value->data[0].v_pointer = NULL; #line 2468 "misc.c" } #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" return NULL; #line 2472 "misc.c" } static gchar* value_one_shot_scheduler_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { OneShotScheduler** object_p; object_p = collect_values[0].v_pointer; #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" if (!object_p) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); #line 2483 "misc.c" } #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" if (!value->data[0].v_pointer) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" *object_p = NULL; #line 2489 "misc.c" } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" *object_p = value->data[0].v_pointer; #line 2493 "misc.c" } else { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" *object_p = one_shot_scheduler_ref (value->data[0].v_pointer); #line 2497 "misc.c" } #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" return NULL; #line 2501 "misc.c" } GParamSpec* param_spec_one_shot_scheduler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { ParamSpecOneShotScheduler* spec; #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (g_type_is_a (object_type, TYPE_ONE_SHOT_SCHEDULER), NULL); #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" G_PARAM_SPEC (spec)->value_type = object_type; #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" return G_PARAM_SPEC (spec); #line 2515 "misc.c" } gpointer value_get_one_shot_scheduler (const GValue* value) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_ONE_SHOT_SCHEDULER), NULL); #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" return value->data[0].v_pointer; #line 2524 "misc.c" } void value_set_one_shot_scheduler (GValue* value, gpointer v_object) { OneShotScheduler* old; #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_ONE_SHOT_SCHEDULER)); #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" old = value->data[0].v_pointer; #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" if (v_object) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_ONE_SHOT_SCHEDULER)); #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" value->data[0].v_pointer = v_object; #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" one_shot_scheduler_ref (value->data[0].v_pointer); #line 2544 "misc.c" } else { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" value->data[0].v_pointer = NULL; #line 2548 "misc.c" } #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" if (old) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" one_shot_scheduler_unref (old); #line 2554 "misc.c" } } void value_take_one_shot_scheduler (GValue* value, gpointer v_object) { OneShotScheduler* old; #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_ONE_SHOT_SCHEDULER)); #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" old = value->data[0].v_pointer; #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" if (v_object) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_ONE_SHOT_SCHEDULER)); #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" value->data[0].v_pointer = v_object; #line 2573 "misc.c" } else { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" value->data[0].v_pointer = NULL; #line 2577 "misc.c" } #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" if (old) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" one_shot_scheduler_unref (old); #line 2583 "misc.c" } } static void one_shot_scheduler_class_init (OneShotSchedulerClass * klass) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" one_shot_scheduler_parent_class = g_type_class_peek_parent (klass); #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" ((OneShotSchedulerClass *) klass)->finalize = one_shot_scheduler_finalize; #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" g_type_class_add_private (klass, sizeof (OneShotSchedulerPrivate)); #line 2595 "misc.c" } static void one_shot_scheduler_instance_init (OneShotScheduler * self) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv = ONE_SHOT_SCHEDULER_GET_PRIVATE (self); #line 265 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->scheduled = (guint) 0; #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" self->ref_count = 1; #line 2606 "misc.c" } static void one_shot_scheduler_finalize (OneShotScheduler* obj) { OneShotScheduler * self; #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler); #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" g_signal_handlers_destroy (self); #line 277 "/home/jens/Source/shotwell/src/util/misc.vala" one_shot_scheduler_cancel (self); #line 263 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (self->priv->name); #line 2620 "misc.c" } GType one_shot_scheduler_get_type (void) { static volatile gsize one_shot_scheduler_type_id__volatile = 0; if (g_once_init_enter (&one_shot_scheduler_type_id__volatile)) { static const GTypeValueTable g_define_type_value_table = { value_one_shot_scheduler_init, value_one_shot_scheduler_free_value, value_one_shot_scheduler_copy_value, value_one_shot_scheduler_peek_pointer, "p", value_one_shot_scheduler_collect_value, "p", value_one_shot_scheduler_lcopy_value }; static const GTypeInfo g_define_type_info = { sizeof (OneShotSchedulerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) one_shot_scheduler_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (OneShotScheduler), 0, (GInstanceInitFunc) one_shot_scheduler_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 one_shot_scheduler_type_id; one_shot_scheduler_type_id = g_type_register_fundamental (g_type_fundamental_next (), "OneShotScheduler", &g_define_type_info, &g_define_type_fundamental_info, 0); g_once_init_leave (&one_shot_scheduler_type_id__volatile, one_shot_scheduler_type_id); } return one_shot_scheduler_type_id__volatile; } gpointer one_shot_scheduler_ref (gpointer instance) { OneShotScheduler* self; self = instance; #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" g_atomic_int_inc (&self->ref_count); #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" return instance; #line 2645 "misc.c" } void one_shot_scheduler_unref (gpointer instance) { OneShotScheduler* self; self = instance; #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" if (g_atomic_int_dec_and_test (&self->ref_count)) { #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" ONE_SHOT_SCHEDULER_GET_CLASS (self)->finalize (self); #line 262 "/home/jens/Source/shotwell/src/util/misc.vala" g_type_free_instance ((GTypeInstance *) self); #line 2658 "misc.c" } } OpTimer* op_timer_construct (GType object_type, const gchar* name) { OpTimer* self = NULL; const gchar* _tmp0_ = NULL; gchar* _tmp1_ = NULL; #line 331 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (name != NULL, NULL); #line 331 "/home/jens/Source/shotwell/src/util/misc.vala" self = (OpTimer*) g_type_create_instance (object_type); #line 332 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = name; #line 332 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = g_strdup (_tmp0_); #line 332 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (self->priv->name); #line 332 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->name = _tmp1_; #line 331 "/home/jens/Source/shotwell/src/util/misc.vala" return self; #line 2681 "misc.c" } OpTimer* op_timer_new (const gchar* name) { #line 331 "/home/jens/Source/shotwell/src/util/misc.vala" return op_timer_construct (TYPE_OP_TIMER, name); #line 2688 "misc.c" } void op_timer_start (OpTimer* self) { GTimer* _tmp0_ = NULL; #line 335 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (IS_OP_TIMER (self)); #line 336 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = self->priv->timer; #line 336 "/home/jens/Source/shotwell/src/util/misc.vala" g_timer_start (_tmp0_); #line 2700 "misc.c" } void op_timer_stop (OpTimer* self) { gdouble time = 0.0; GTimer* _tmp0_ = NULL; gdouble _tmp1_ = 0.0; gdouble _tmp2_ = 0.0; gdouble _tmp3_ = 0.0; gdouble _tmp4_ = 0.0; gdouble _tmp5_ = 0.0; gdouble _tmp7_ = 0.0; gdouble _tmp8_ = 0.0; glong _tmp10_ = 0L; #line 339 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (IS_OP_TIMER (self)); #line 340 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = self->priv->timer; #line 340 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = g_timer_elapsed (_tmp0_, NULL); #line 340 "/home/jens/Source/shotwell/src/util/misc.vala" time = _tmp1_; #line 342 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = self->priv->elapsed; #line 342 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = time; #line 342 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->elapsed = _tmp2_ + _tmp3_; #line 344 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = time; #line 344 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = self->priv->shortest; #line 344 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp4_ < _tmp5_) { #line 2735 "misc.c" gdouble _tmp6_ = 0.0; #line 345 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6_ = time; #line 345 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->shortest = _tmp6_; #line 2741 "misc.c" } #line 347 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp7_ = time; #line 347 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp8_ = self->priv->longest; #line 347 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp7_ > _tmp8_) { #line 2749 "misc.c" gdouble _tmp9_ = 0.0; #line 348 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp9_ = time; #line 348 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->longest = _tmp9_; #line 2755 "misc.c" } #line 350 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10_ = self->priv->count; #line 350 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->count = _tmp10_ + 1; #line 2761 "misc.c" } gchar* op_timer_to_string (OpTimer* self) { gchar* result = NULL; glong _tmp0_ = 0L; #line 353 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (IS_OP_TIMER (self), NULL); #line 354 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = self->priv->count; #line 354 "/home/jens/Source/shotwell/src/util/misc.vala" if (_tmp0_ > ((glong) 0)) { #line 2774 "misc.c" const gchar* _tmp1_ = NULL; glong _tmp2_ = 0L; gdouble _tmp3_ = 0.0; gdouble _tmp4_ = 0.0; gdouble _tmp5_ = 0.0; glong _tmp6_ = 0L; gdouble _tmp7_ = 0.0; gchar* _tmp8_ = NULL; #line 355 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp1_ = self->priv->name; #line 355 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp2_ = self->priv->count; #line 355 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp3_ = self->priv->elapsed; #line 355 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp4_ = self->priv->shortest; #line 355 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp5_ = self->priv->elapsed; #line 355 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp6_ = self->priv->count; #line 355 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp7_ = self->priv->longest; #line 355 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp8_ = g_strdup_printf ("%s: count=%ld elapsed=%.03lfs min/avg/max=%.03lf/%.03lf/%.03lf", _tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_ / ((gdouble) _tmp6_), _tmp7_); #line 355 "/home/jens/Source/shotwell/src/util/misc.vala" result = _tmp8_; #line 355 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 2803 "misc.c" } else { const gchar* _tmp9_ = NULL; gchar* _tmp10_ = NULL; #line 358 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp9_ = self->priv->name; #line 358 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp10_ = g_strdup_printf ("%s: no operations", _tmp9_); #line 358 "/home/jens/Source/shotwell/src/util/misc.vala" result = _tmp10_; #line 358 "/home/jens/Source/shotwell/src/util/misc.vala" return result; #line 2815 "misc.c" } } static void value_op_timer_init (GValue* value) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" value->data[0].v_pointer = NULL; #line 2823 "misc.c" } static void value_op_timer_free_value (GValue* value) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" if (value->data[0].v_pointer) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" op_timer_unref (value->data[0].v_pointer); #line 2832 "misc.c" } } static void value_op_timer_copy_value (const GValue* src_value, GValue* dest_value) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" if (src_value->data[0].v_pointer) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" dest_value->data[0].v_pointer = op_timer_ref (src_value->data[0].v_pointer); #line 2842 "misc.c" } else { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" dest_value->data[0].v_pointer = NULL; #line 2846 "misc.c" } } static gpointer value_op_timer_peek_pointer (const GValue* value) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" return value->data[0].v_pointer; #line 2854 "misc.c" } static gchar* value_op_timer_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" if (collect_values[0].v_pointer) { #line 2861 "misc.c" OpTimer* object; object = collect_values[0].v_pointer; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" if (object->parent_instance.g_class == NULL) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); #line 2868 "misc.c" } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { #line 323 "/home/jens/Source/shotwell/src/util/misc.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 2872 "misc.c" } #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" value->data[0].v_pointer = op_timer_ref (object); #line 2876 "misc.c" } else { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" value->data[0].v_pointer = NULL; #line 2880 "misc.c" } #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" return NULL; #line 2884 "misc.c" } static gchar* value_op_timer_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { OpTimer** object_p; object_p = collect_values[0].v_pointer; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" if (!object_p) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); #line 2895 "misc.c" } #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" if (!value->data[0].v_pointer) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" *object_p = NULL; #line 2901 "misc.c" } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" *object_p = value->data[0].v_pointer; #line 2905 "misc.c" } else { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" *object_p = op_timer_ref (value->data[0].v_pointer); #line 2909 "misc.c" } #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" return NULL; #line 2913 "misc.c" } GParamSpec* param_spec_op_timer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { ParamSpecOpTimer* spec; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (g_type_is_a (object_type, TYPE_OP_TIMER), NULL); #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" G_PARAM_SPEC (spec)->value_type = object_type; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" return G_PARAM_SPEC (spec); #line 2927 "misc.c" } gpointer value_get_op_timer (const GValue* value) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_OP_TIMER), NULL); #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" return value->data[0].v_pointer; #line 2936 "misc.c" } void value_set_op_timer (GValue* value, gpointer v_object) { OpTimer* old; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_OP_TIMER)); #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" old = value->data[0].v_pointer; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" if (v_object) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_OP_TIMER)); #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" value->data[0].v_pointer = v_object; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" op_timer_ref (value->data[0].v_pointer); #line 2956 "misc.c" } else { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" value->data[0].v_pointer = NULL; #line 2960 "misc.c" } #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" if (old) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" op_timer_unref (old); #line 2966 "misc.c" } } void value_take_op_timer (GValue* value, gpointer v_object) { OpTimer* old; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_OP_TIMER)); #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" old = value->data[0].v_pointer; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" if (v_object) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_OP_TIMER)); #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" value->data[0].v_pointer = v_object; #line 2985 "misc.c" } else { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" value->data[0].v_pointer = NULL; #line 2989 "misc.c" } #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" if (old) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" op_timer_unref (old); #line 2995 "misc.c" } } static void op_timer_class_init (OpTimerClass * klass) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" op_timer_parent_class = g_type_class_peek_parent (klass); #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" ((OpTimerClass *) klass)->finalize = op_timer_finalize; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" g_type_class_add_private (klass, sizeof (OpTimerPrivate)); #line 3007 "misc.c" } static void op_timer_instance_init (OpTimer * self) { GTimer* _tmp0_ = NULL; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv = OP_TIMER_GET_PRIVATE (self); #line 325 "/home/jens/Source/shotwell/src/util/misc.vala" _tmp0_ = g_timer_new (); #line 325 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->timer = _tmp0_; #line 326 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->count = (glong) 0; #line 327 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->elapsed = (gdouble) 0; #line 328 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->shortest = DBL_MAX; #line 329 "/home/jens/Source/shotwell/src/util/misc.vala" self->priv->longest = DBL_MIN; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" self->ref_count = 1; #line 3029 "misc.c" } static void op_timer_finalize (OpTimer* obj) { OpTimer * self; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_OP_TIMER, OpTimer); #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" g_signal_handlers_destroy (self); #line 324 "/home/jens/Source/shotwell/src/util/misc.vala" _g_free0 (self->priv->name); #line 325 "/home/jens/Source/shotwell/src/util/misc.vala" _g_timer_destroy0 (self->priv->timer); #line 3043 "misc.c" } GType op_timer_get_type (void) { static volatile gsize op_timer_type_id__volatile = 0; if (g_once_init_enter (&op_timer_type_id__volatile)) { static const GTypeValueTable g_define_type_value_table = { value_op_timer_init, value_op_timer_free_value, value_op_timer_copy_value, value_op_timer_peek_pointer, "p", value_op_timer_collect_value, "p", value_op_timer_lcopy_value }; static const GTypeInfo g_define_type_info = { sizeof (OpTimerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) op_timer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (OpTimer), 0, (GInstanceInitFunc) op_timer_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 op_timer_type_id; op_timer_type_id = g_type_register_fundamental (g_type_fundamental_next (), "OpTimer", &g_define_type_info, &g_define_type_fundamental_info, 0); g_once_init_leave (&op_timer_type_id__volatile, op_timer_type_id); } return op_timer_type_id__volatile; } gpointer op_timer_ref (gpointer instance) { OpTimer* self; self = instance; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" g_atomic_int_inc (&self->ref_count); #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" return instance; #line 3068 "misc.c" } void op_timer_unref (gpointer instance) { OpTimer* self; self = instance; #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" if (g_atomic_int_dec_and_test (&self->ref_count)) { #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" OP_TIMER_GET_CLASS (self)->finalize (self); #line 323 "/home/jens/Source/shotwell/src/util/misc.vala" g_type_free_instance ((GTypeInstance *) self); #line 3081 "misc.c" } }