/* Tracker.c generated by valac 0.36.6, the Vala compiler * generated from Tracker.vala, do not modify */ /* Copyright 2016 Software Freedom Conservancy Inc. * * This software is licensed under the GNU Lesser General Public License * (version 2.1 or later). See the COPYING file in this distribution. */ #include #include #include #include #define CORE_TYPE_TRACKER_ACCUMULATOR (core_tracker_accumulator_get_type ()) #define CORE_TRACKER_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator)) #define CORE_IS_TRACKER_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER_ACCUMULATOR)) #define CORE_TRACKER_ACCUMULATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulatorIface)) typedef struct _CoreTrackerAccumulator CoreTrackerAccumulator; typedef struct _CoreTrackerAccumulatorIface CoreTrackerAccumulatorIface; #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_ALTERATION (alteration_get_type ()) #define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) #define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) #define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) #define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) #define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) typedef struct _Alteration Alteration; typedef struct _AlterationClass AlterationClass; #define CORE_TYPE_TRACKER (core_tracker_get_type ()) #define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) #define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) #define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) #define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) #define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) typedef struct _CoreTracker CoreTracker; typedef struct _CoreTrackerClass CoreTrackerClass; typedef struct _CoreTrackerPrivate CoreTrackerPrivate; #define TYPE_DATA_COLLECTION (data_collection_get_type ()) #define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) #define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) #define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) #define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) #define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) typedef struct _DataCollection DataCollection; typedef struct _DataCollectionClass DataCollectionClass; #define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) typedef struct _CoreParamSpecTracker CoreParamSpecTracker; enum { CORE_TRACKER_UPDATED_SIGNAL, CORE_TRACKER_LAST_SIGNAL }; static guint core_tracker_signals[CORE_TRACKER_LAST_SIGNAL] = {0}; #define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) #define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) #define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) #define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) #define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) #define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) typedef struct _CoreViewTracker CoreViewTracker; typedef struct _CoreViewTrackerClass CoreViewTrackerClass; typedef struct _CoreViewTrackerPrivate CoreViewTrackerPrivate; #define CORE_VIEW_TRACKER_TYPE_MUX (core_view_tracker_mux_get_type ()) #define CORE_VIEW_TRACKER_MUX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_VIEW_TRACKER_TYPE_MUX, CoreViewTrackerMux)) #define CORE_VIEW_TRACKER_MUX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_VIEW_TRACKER_TYPE_MUX, CoreViewTrackerMuxClass)) #define CORE_VIEW_TRACKER_IS_MUX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_VIEW_TRACKER_TYPE_MUX)) #define CORE_VIEW_TRACKER_IS_MUX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_VIEW_TRACKER_TYPE_MUX)) #define CORE_VIEW_TRACKER_MUX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_VIEW_TRACKER_TYPE_MUX, CoreViewTrackerMuxClass)) typedef struct _CoreViewTrackerMux CoreViewTrackerMux; typedef struct _CoreViewTrackerMuxClass CoreViewTrackerMuxClass; #define TYPE_VIEW_COLLECTION (view_collection_get_type ()) #define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) #define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) #define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) #define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) #define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) typedef struct _ViewCollection ViewCollection; typedef struct _ViewCollectionClass ViewCollectionClass; #define TYPE_DATA_VIEW (data_view_get_type ()) #define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView)) #define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass)) #define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW)) #define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW)) #define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass)) typedef struct _DataView DataView; typedef struct _DataViewClass DataViewClass; typedef struct _CoreViewTrackerMuxPrivate CoreViewTrackerMuxPrivate; #define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); #define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } #define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } #define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); struct _CoreTrackerAccumulatorIface { GTypeInterface parent_iface; gboolean (*include) (CoreTrackerAccumulator* self, DataObject* object); gboolean (*uninclude) (CoreTrackerAccumulator* self, DataObject* object); gboolean (*altered) (CoreTrackerAccumulator* self, DataObject* object, Alteration* alteration); }; struct _CoreTracker { GTypeInstance parent_instance; volatile int ref_count; CoreTrackerPrivate * priv; }; struct _CoreTrackerClass { GTypeClass parent_class; void (*finalize) (CoreTracker *self); void (*updated) (CoreTracker* self); }; struct _CoreTrackerPrivate { DataCollection* collection; GeeCollection* initial; CoreTrackerAccumulator* acc; }; typedef gboolean (*CoreTrackerIncludeUnincludeObject) (DataObject* object, void* user_data); struct _CoreParamSpecTracker { GParamSpec parent_instance; }; struct _CoreViewTracker { CoreTracker parent_instance; CoreViewTrackerPrivate * priv; }; struct _CoreViewTrackerClass { CoreTrackerClass parent_class; }; struct _CoreViewTrackerPrivate { CoreViewTrackerMux* mux; }; struct _CoreViewTrackerMux { GObject parent_instance; CoreViewTrackerMuxPrivate * priv; CoreTrackerAccumulator* all; CoreTrackerAccumulator* visible; CoreTrackerAccumulator* selected; }; struct _CoreViewTrackerMuxClass { GObjectClass parent_class; }; static gpointer core_tracker_parent_class = NULL; static gpointer core_view_tracker_parent_class = NULL; static gpointer core_view_tracker_mux_parent_class = NULL; static CoreTrackerAccumulatorIface * core_view_tracker_mux_core_tracker_accumulator_parent_iface = NULL; GType data_object_get_type (void) G_GNUC_CONST; gpointer alteration_ref (gpointer instance); void alteration_unref (gpointer instance); GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); void value_set_alteration (GValue* value, gpointer v_object); void value_take_alteration (GValue* value, gpointer v_object); gpointer value_get_alteration (const GValue* value); GType alteration_get_type (void) G_GNUC_CONST; GType core_tracker_accumulator_get_type (void) G_GNUC_CONST; gboolean core_tracker_accumulator_include (CoreTrackerAccumulator* self, DataObject* object); gboolean core_tracker_accumulator_uninclude (CoreTrackerAccumulator* self, DataObject* object); gboolean core_tracker_accumulator_altered (CoreTrackerAccumulator* self, DataObject* object, Alteration* alteration); gpointer core_tracker_ref (gpointer instance); void core_tracker_unref (gpointer instance); GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); void core_value_set_tracker (GValue* value, gpointer v_object); void core_value_take_tracker (GValue* value, gpointer v_object); gpointer core_value_get_tracker (const GValue* value); GType core_tracker_get_type (void) G_GNUC_CONST; gpointer data_collection_ref (gpointer instance); void data_collection_unref (gpointer instance); GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); void value_set_data_collection (GValue* value, gpointer v_object); void value_take_data_collection (GValue* value, gpointer v_object); gpointer value_get_data_collection (const GValue* value); GType data_collection_get_type (void) G_GNUC_CONST; #define CORE_TRACKER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CORE_TYPE_TRACKER, CoreTrackerPrivate)) enum { CORE_TRACKER_DUMMY_PROPERTY }; static void core_tracker_on_items_added (CoreTracker* self, GeeIterable* added); static void _core_tracker_on_items_added_data_collection_items_added (DataCollection* _sender, GeeIterable* added, gpointer self); static void core_tracker_on_items_removed (CoreTracker* self, GeeIterable* removed); static void _core_tracker_on_items_removed_data_collection_items_removed (DataCollection* _sender, GeeIterable* removed, gpointer self); static void core_tracker_on_items_altered (CoreTracker* self, GeeMap* map); static void _core_tracker_on_items_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); CoreTracker* core_tracker_new (DataCollection* collection, GeeCollection* initial); CoreTracker* core_tracker_construct (GType object_type, DataCollection* collection, GeeCollection* initial); void core_tracker_start (CoreTracker* self, CoreTrackerAccumulator* acc); GeeCollection* data_collection_get_all (DataCollection* self); DataCollection* core_tracker_get_collection (CoreTracker* self); void core_tracker_include_uninclude (CoreTracker* self, GeeIterable* objects, CoreTrackerIncludeUnincludeObject cb, void* cb_target); static gboolean _core_tracker_accumulator_include_core_tracker_include_uninclude_object (DataObject* object, gpointer self); static gboolean _core_tracker_accumulator_uninclude_core_tracker_include_uninclude_object (DataObject* object, gpointer self); static void core_tracker_real_updated (CoreTracker* self); static void core_tracker_finalize (CoreTracker * obj); GType core_view_tracker_get_type (void) G_GNUC_CONST; static GType core_view_tracker_mux_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; #define CORE_VIEW_TRACKER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerPrivate)) enum { CORE_VIEW_TRACKER_DUMMY_PROPERTY }; GType view_collection_get_type (void) G_GNUC_CONST; GType data_view_get_type (void) G_GNUC_CONST; static void core_view_tracker_on_items_shown (CoreViewTracker* self, GeeCollection* shown); static void _core_view_tracker_on_items_shown_view_collection_items_shown (ViewCollection* _sender, GeeCollection* visible, gpointer self); static void core_view_tracker_on_items_hidden (CoreViewTracker* self, GeeCollection* hidden); static void _core_view_tracker_on_items_hidden_view_collection_items_hidden (ViewCollection* _sender, GeeCollection* hidden, gpointer self); static void core_view_tracker_on_items_selected (CoreViewTracker* self, GeeIterable* selected); static void _core_view_tracker_on_items_selected_view_collection_items_selected (ViewCollection* _sender, GeeIterable* selected, gpointer self); static void core_view_tracker_on_items_unselected (CoreViewTracker* self, GeeIterable* unselected); static void _core_view_tracker_on_items_unselected_view_collection_items_unselected (ViewCollection* _sender, GeeIterable* unselected, gpointer self); CoreViewTracker* core_view_tracker_new (ViewCollection* collection); CoreViewTracker* core_view_tracker_construct (GType object_type, ViewCollection* collection); GeeCollection* view_collection_get_all_unfiltered (ViewCollection* self); void core_view_tracker_start (CoreViewTracker* self, CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected); static CoreViewTrackerMux* core_view_tracker_mux_new (CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected); static CoreViewTrackerMux* core_view_tracker_mux_construct (GType object_type, CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected); enum { CORE_VIEW_TRACKER_MUX_DUMMY_PROPERTY }; static gboolean core_view_tracker_mux_real_include (CoreTrackerAccumulator* base, DataObject* object); gboolean data_view_is_visible (DataView* self); gboolean data_view_is_selected (DataView* self); static gboolean core_view_tracker_mux_real_uninclude (CoreTrackerAccumulator* base, DataObject* object); static gboolean core_view_tracker_mux_real_altered (CoreTrackerAccumulator* base, DataObject* object, Alteration* alteration); static void core_view_tracker_mux_finalize (GObject * obj); static void core_view_tracker_finalize (CoreTracker * obj); gboolean core_tracker_accumulator_include (CoreTrackerAccumulator* self, DataObject* object) { #line 13 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail (CORE_IS_TRACKER_ACCUMULATOR (self), FALSE); #line 13 "/home/jens/Source/shotwell/src/core/Tracker.vala" return CORE_TRACKER_ACCUMULATOR_GET_INTERFACE (self)->include (self, object); #line 267 "Tracker.c" } gboolean core_tracker_accumulator_uninclude (CoreTrackerAccumulator* self, DataObject* object) { #line 15 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail (CORE_IS_TRACKER_ACCUMULATOR (self), FALSE); #line 15 "/home/jens/Source/shotwell/src/core/Tracker.vala" return CORE_TRACKER_ACCUMULATOR_GET_INTERFACE (self)->uninclude (self, object); #line 276 "Tracker.c" } gboolean core_tracker_accumulator_altered (CoreTrackerAccumulator* self, DataObject* object, Alteration* alteration) { #line 17 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail (CORE_IS_TRACKER_ACCUMULATOR (self), FALSE); #line 17 "/home/jens/Source/shotwell/src/core/Tracker.vala" return CORE_TRACKER_ACCUMULATOR_GET_INTERFACE (self)->altered (self, object, alteration); #line 285 "Tracker.c" } static void core_tracker_accumulator_base_init (CoreTrackerAccumulatorIface * iface) { #line 12 "/home/jens/Source/shotwell/src/core/Tracker.vala" static gboolean initialized = FALSE; #line 12 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (!initialized) { #line 12 "/home/jens/Source/shotwell/src/core/Tracker.vala" initialized = TRUE; #line 296 "Tracker.c" } } GType core_tracker_accumulator_get_type (void) { static volatile gsize core_tracker_accumulator_type_id__volatile = 0; if (g_once_init_enter (&core_tracker_accumulator_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (CoreTrackerAccumulatorIface), (GBaseInitFunc) core_tracker_accumulator_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; GType core_tracker_accumulator_type_id; core_tracker_accumulator_type_id = g_type_register_static (G_TYPE_INTERFACE, "CoreTrackerAccumulator", &g_define_type_info, 0); g_type_interface_add_prerequisite (core_tracker_accumulator_type_id, G_TYPE_OBJECT); g_once_init_leave (&core_tracker_accumulator_type_id__volatile, core_tracker_accumulator_type_id); } return core_tracker_accumulator_type_id__volatile; } static void _core_tracker_on_items_added_data_collection_items_added (DataCollection* _sender, GeeIterable* added, gpointer self) { #line 40 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_on_items_added ((CoreTracker*) self, added); #line 317 "Tracker.c" } static void _core_tracker_on_items_removed_data_collection_items_removed (DataCollection* _sender, GeeIterable* removed, gpointer self) { #line 41 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_on_items_removed ((CoreTracker*) self, removed); #line 324 "Tracker.c" } static void _core_tracker_on_items_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { #line 42 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_on_items_altered ((CoreTracker*) self, items); #line 331 "Tracker.c" } static gpointer _data_collection_ref0 (gpointer self) { #line 34 "/home/jens/Source/shotwell/src/core/Tracker.vala" return self ? data_collection_ref (self) : NULL; #line 338 "Tracker.c" } static gpointer _g_object_ref0 (gpointer self) { #line 35 "/home/jens/Source/shotwell/src/core/Tracker.vala" return self ? g_object_ref (self) : NULL; #line 345 "Tracker.c" } CoreTracker* core_tracker_construct (GType object_type, DataCollection* collection, GeeCollection* initial) { CoreTracker* self = NULL; DataCollection* _tmp0_; DataCollection* _tmp1_; GeeCollection* _tmp2_; GeeCollection* _tmp3_; #line 33 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail (IS_DATA_COLLECTION (collection), NULL); #line 33 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail ((initial == NULL) || GEE_IS_COLLECTION (initial), NULL); #line 33 "/home/jens/Source/shotwell/src/core/Tracker.vala" self = (CoreTracker*) g_type_create_instance (object_type); #line 34 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = collection; #line 34 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = _data_collection_ref0 (_tmp0_); #line 34 "/home/jens/Source/shotwell/src/core/Tracker.vala" _data_collection_unref0 (self->priv->collection); #line 34 "/home/jens/Source/shotwell/src/core/Tracker.vala" self->priv->collection = _tmp1_; #line 35 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = initial; #line 35 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = _g_object_ref0 (_tmp2_); #line 35 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (self->priv->initial); #line 35 "/home/jens/Source/shotwell/src/core/Tracker.vala" self->priv->initial = _tmp3_; #line 33 "/home/jens/Source/shotwell/src/core/Tracker.vala" return self; #line 379 "Tracker.c" } CoreTracker* core_tracker_new (DataCollection* collection, GeeCollection* initial) { #line 33 "/home/jens/Source/shotwell/src/core/Tracker.vala" return core_tracker_construct (CORE_TYPE_TRACKER, collection, initial); #line 386 "Tracker.c" } void core_tracker_start (CoreTracker* self, CoreTrackerAccumulator* acc) { CoreTrackerAccumulator* _tmp0_; CoreTrackerAccumulator* _tmp1_; CoreTrackerAccumulator* _tmp2_; DataCollection* _tmp3_; DataCollection* _tmp4_; DataCollection* _tmp5_; gboolean _tmp6_ = FALSE; GeeCollection* _tmp7_; #line 46 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (CORE_IS_TRACKER (self)); #line 46 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (CORE_IS_TRACKER_ACCUMULATOR (acc)); #line 48 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = self->priv->acc; #line 48 "/home/jens/Source/shotwell/src/core/Tracker.vala" _vala_assert (_tmp0_ == NULL, "this.acc == null"); #line 50 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = acc; #line 50 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = _g_object_ref0 (_tmp1_); #line 50 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (self->priv->acc); #line 50 "/home/jens/Source/shotwell/src/core/Tracker.vala" self->priv->acc = _tmp2_; #line 52 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = self->priv->collection; #line 52 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_connect (_tmp3_, "items-added", (GCallback) _core_tracker_on_items_added_data_collection_items_added, self); #line 53 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp4_ = self->priv->collection; #line 53 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_connect (_tmp4_, "items-removed", (GCallback) _core_tracker_on_items_removed_data_collection_items_removed, self); #line 54 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp5_ = self->priv->collection; #line 54 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_connect (_tmp5_, "items-altered", (GCallback) _core_tracker_on_items_altered_data_collection_items_altered, self); #line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp7_ = self->priv->initial; #line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp7_ != NULL) { #line 431 "Tracker.c" GeeCollection* _tmp8_; gint _tmp9_; gint _tmp10_; #line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp8_ = self->priv->initial; #line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp9_ = gee_collection_get_size (_tmp8_); #line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp10_ = _tmp9_; #line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp6_ = _tmp10_ > 0; #line 443 "Tracker.c" } else { #line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp6_ = FALSE; #line 447 "Tracker.c" } #line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp6_) { #line 451 "Tracker.c" GeeCollection* _tmp11_; #line 57 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp11_ = self->priv->initial; #line 57 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_on_items_added (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ITERABLE, GeeIterable)); #line 457 "Tracker.c" } else { GeeCollection* _tmp12_; #line 58 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp12_ = self->priv->initial; #line 58 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp12_ == NULL) { #line 464 "Tracker.c" DataCollection* _tmp13_; GeeCollection* _tmp14_; GeeCollection* _tmp15_; #line 59 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp13_ = self->priv->collection; #line 59 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp14_ = data_collection_get_all (_tmp13_); #line 59 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp15_ = _tmp14_; #line 59 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_on_items_added (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ITERABLE, GeeIterable)); #line 59 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (_tmp15_); #line 478 "Tracker.c" } } #line 61 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (self->priv->initial); #line 61 "/home/jens/Source/shotwell/src/core/Tracker.vala" self->priv->initial = NULL; #line 485 "Tracker.c" } DataCollection* core_tracker_get_collection (CoreTracker* self) { DataCollection* result = NULL; DataCollection* _tmp0_; DataCollection* _tmp1_; #line 64 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail (CORE_IS_TRACKER (self), NULL); #line 65 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = self->priv->collection; #line 65 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = _data_collection_ref0 (_tmp0_); #line 65 "/home/jens/Source/shotwell/src/core/Tracker.vala" result = _tmp1_; #line 65 "/home/jens/Source/shotwell/src/core/Tracker.vala" return result; #line 503 "Tracker.c" } static gboolean _core_tracker_accumulator_include_core_tracker_include_uninclude_object (DataObject* object, gpointer self) { gboolean result; result = core_tracker_accumulator_include ((CoreTrackerAccumulator*) self, object); #line 69 "/home/jens/Source/shotwell/src/core/Tracker.vala" return result; #line 512 "Tracker.c" } static void core_tracker_on_items_added (CoreTracker* self, GeeIterable* added) { GeeIterable* _tmp0_; CoreTrackerAccumulator* _tmp1_; #line 68 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (CORE_IS_TRACKER (self)); #line 68 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (GEE_IS_ITERABLE (added)); #line 69 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = added; #line 69 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = self->priv->acc; #line 69 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_include_uninclude (self, _tmp0_, _core_tracker_accumulator_include_core_tracker_include_uninclude_object, _tmp1_); #line 529 "Tracker.c" } static gboolean _core_tracker_accumulator_uninclude_core_tracker_include_uninclude_object (DataObject* object, gpointer self) { gboolean result; result = core_tracker_accumulator_uninclude ((CoreTrackerAccumulator*) self, object); #line 73 "/home/jens/Source/shotwell/src/core/Tracker.vala" return result; #line 538 "Tracker.c" } static void core_tracker_on_items_removed (CoreTracker* self, GeeIterable* removed) { GeeIterable* _tmp0_; CoreTrackerAccumulator* _tmp1_; #line 72 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (CORE_IS_TRACKER (self)); #line 72 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (GEE_IS_ITERABLE (removed)); #line 73 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = removed; #line 73 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = self->priv->acc; #line 73 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_include_uninclude (self, _tmp0_, _core_tracker_accumulator_uninclude_core_tracker_include_uninclude_object, _tmp1_); #line 555 "Tracker.c" } void core_tracker_include_uninclude (CoreTracker* self, GeeIterable* objects, CoreTrackerIncludeUnincludeObject cb, void* cb_target) { gboolean fire_updated = FALSE; gboolean _tmp11_; #line 77 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (CORE_IS_TRACKER (self)); #line 77 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (GEE_IS_ITERABLE (objects)); #line 78 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = FALSE; #line 568 "Tracker.c" { GeeIterator* _object_it = NULL; GeeIterable* _tmp0_; GeeIterator* _tmp1_; #line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = objects; #line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = gee_iterable_iterator (_tmp0_); #line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" _object_it = _tmp1_; #line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" while (TRUE) { #line 581 "Tracker.c" GeeIterator* _tmp2_; gboolean _tmp3_; DataObject* object = NULL; GeeIterator* _tmp4_; gpointer _tmp5_; gboolean _tmp6_ = FALSE; CoreTrackerIncludeUnincludeObject _tmp7_; void* _tmp7__target; DataObject* _tmp8_; gboolean _tmp9_; #line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = _object_it; #line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = gee_iterator_next (_tmp2_); #line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (!_tmp3_) { #line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" break; #line 600 "Tracker.c" } #line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp4_ = _object_it; #line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp5_ = gee_iterator_get (_tmp4_); #line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" object = (DataObject*) _tmp5_; #line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp7_ = cb; #line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp7__target = cb_target; #line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp8_ = object; #line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp9_ = _tmp7_ (_tmp8_, _tmp7__target); #line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp9_) { #line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp6_ = TRUE; #line 620 "Tracker.c" } else { gboolean _tmp10_; #line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp10_ = fire_updated; #line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp6_ = _tmp10_; #line 627 "Tracker.c" } #line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = _tmp6_; #line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (object); #line 633 "Tracker.c" } #line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (_object_it); #line 637 "Tracker.c" } #line 82 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp11_ = fire_updated; #line 82 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp11_) { #line 83 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_emit (self, core_tracker_signals[CORE_TRACKER_UPDATED_SIGNAL], 0); #line 645 "Tracker.c" } } static void core_tracker_on_items_altered (CoreTracker* self, GeeMap* map) { gboolean fire_updated = FALSE; gboolean _tmp20_; #line 86 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (CORE_IS_TRACKER (self)); #line 86 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (GEE_IS_MAP (map)); #line 87 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = FALSE; #line 659 "Tracker.c" { GeeIterator* _object_it = NULL; GeeMap* _tmp0_; GeeSet* _tmp1_; GeeSet* _tmp2_; GeeSet* _tmp3_; GeeIterator* _tmp4_; GeeIterator* _tmp5_; #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = map; #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = gee_map_get_keys (_tmp0_); #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = _tmp1_; #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = _tmp2_; #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp5_ = _tmp4_; #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (_tmp3_); #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" _object_it = _tmp5_; #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" while (TRUE) { #line 686 "Tracker.c" GeeIterator* _tmp6_; gboolean _tmp7_; DataObject* object = NULL; GeeIterator* _tmp8_; gpointer _tmp9_; gboolean _tmp10_ = FALSE; CoreTrackerAccumulator* _tmp11_; DataObject* _tmp12_; GeeMap* _tmp13_; DataObject* _tmp14_; gpointer _tmp15_; Alteration* _tmp16_; gboolean _tmp17_; gboolean _tmp18_; #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp6_ = _object_it; #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp7_ = gee_iterator_next (_tmp6_); #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (!_tmp7_) { #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" break; #line 709 "Tracker.c" } #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp8_ = _object_it; #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp9_ = gee_iterator_get (_tmp8_); #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" object = (DataObject*) _tmp9_; #line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp11_ = self->priv->acc; #line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp12_ = object; #line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp13_ = map; #line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp14_ = object; #line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp15_ = gee_map_get (_tmp13_, _tmp14_); #line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp16_ = (Alteration*) _tmp15_; #line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp17_ = core_tracker_accumulator_altered (_tmp11_, _tmp12_, _tmp16_); #line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp18_ = _tmp17_; #line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" _alteration_unref0 (_tmp16_); #line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp18_) { #line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp10_ = TRUE; #line 739 "Tracker.c" } else { gboolean _tmp19_; #line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp19_ = fire_updated; #line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp10_ = _tmp19_; #line 746 "Tracker.c" } #line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = _tmp10_; #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (object); #line 752 "Tracker.c" } #line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (_object_it); #line 756 "Tracker.c" } #line 91 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp20_ = fire_updated; #line 91 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp20_) { #line 92 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_emit (self, core_tracker_signals[CORE_TRACKER_UPDATED_SIGNAL], 0); #line 764 "Tracker.c" } } static void core_tracker_real_updated (CoreTracker* self) { } static void core_value_tracker_init (GValue* value) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" value->data[0].v_pointer = NULL; #line 776 "Tracker.c" } static void core_value_tracker_free_value (GValue* value) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (value->data[0].v_pointer) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_unref (value->data[0].v_pointer); #line 785 "Tracker.c" } } static void core_value_tracker_copy_value (const GValue* src_value, GValue* dest_value) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (src_value->data[0].v_pointer) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" dest_value->data[0].v_pointer = core_tracker_ref (src_value->data[0].v_pointer); #line 795 "Tracker.c" } else { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" dest_value->data[0].v_pointer = NULL; #line 799 "Tracker.c" } } static gpointer core_value_tracker_peek_pointer (const GValue* value) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" return value->data[0].v_pointer; #line 807 "Tracker.c" } static gchar* core_value_tracker_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (collect_values[0].v_pointer) { #line 814 "Tracker.c" CoreTracker * object; object = collect_values[0].v_pointer; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (object->parent_instance.g_class == NULL) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); #line 821 "Tracker.c" } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.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 825 "Tracker.c" } #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" value->data[0].v_pointer = core_tracker_ref (object); #line 829 "Tracker.c" } else { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" value->data[0].v_pointer = NULL; #line 833 "Tracker.c" } #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" return NULL; #line 837 "Tracker.c" } static gchar* core_value_tracker_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { CoreTracker ** object_p; object_p = collect_values[0].v_pointer; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (!object_p) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); #line 848 "Tracker.c" } #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (!value->data[0].v_pointer) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" *object_p = NULL; #line 854 "Tracker.c" } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" *object_p = value->data[0].v_pointer; #line 858 "Tracker.c" } else { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" *object_p = core_tracker_ref (value->data[0].v_pointer); #line 862 "Tracker.c" } #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" return NULL; #line 866 "Tracker.c" } GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { CoreParamSpecTracker* spec; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail (g_type_is_a (object_type, CORE_TYPE_TRACKER), NULL); #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" G_PARAM_SPEC (spec)->value_type = object_type; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" return G_PARAM_SPEC (spec); #line 880 "Tracker.c" } gpointer core_value_get_tracker (const GValue* value) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, CORE_TYPE_TRACKER), NULL); #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" return value->data[0].v_pointer; #line 889 "Tracker.c" } void core_value_set_tracker (GValue* value, gpointer v_object) { CoreTracker * old; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, CORE_TYPE_TRACKER)); #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" old = value->data[0].v_pointer; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (v_object) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, CORE_TYPE_TRACKER)); #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" value->data[0].v_pointer = v_object; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_ref (value->data[0].v_pointer); #line 909 "Tracker.c" } else { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" value->data[0].v_pointer = NULL; #line 913 "Tracker.c" } #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (old) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_unref (old); #line 919 "Tracker.c" } } void core_value_take_tracker (GValue* value, gpointer v_object) { CoreTracker * old; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, CORE_TYPE_TRACKER)); #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" old = value->data[0].v_pointer; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (v_object) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, CORE_TYPE_TRACKER)); #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" value->data[0].v_pointer = v_object; #line 938 "Tracker.c" } else { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" value->data[0].v_pointer = NULL; #line 942 "Tracker.c" } #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (old) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_unref (old); #line 948 "Tracker.c" } } static void core_tracker_class_init (CoreTrackerClass * klass) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_parent_class = g_type_class_peek_parent (klass); #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" ((CoreTrackerClass *) klass)->finalize = core_tracker_finalize; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_type_class_add_private (klass, sizeof (CoreTrackerPrivate)); #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" ((CoreTrackerClass *) klass)->updated = core_tracker_real_updated; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_signals[CORE_TRACKER_UPDATED_SIGNAL] = g_signal_new ("updated", CORE_TYPE_TRACKER, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (CoreTrackerClass, updated), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #line 964 "Tracker.c" } static void core_tracker_instance_init (CoreTracker * self) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" self->priv = CORE_TRACKER_GET_PRIVATE (self); #line 28 "/home/jens/Source/shotwell/src/core/Tracker.vala" self->priv->acc = NULL; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" self->ref_count = 1; #line 975 "Tracker.c" } static void core_tracker_finalize (CoreTracker * obj) { CoreTracker * self; CoreTrackerAccumulator* _tmp0_; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, CORE_TYPE_TRACKER, CoreTracker); #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_handlers_destroy (self); #line 39 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = self->priv->acc; #line 39 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp0_ != NULL) { #line 990 "Tracker.c" DataCollection* _tmp1_; guint _tmp2_; DataCollection* _tmp3_; guint _tmp4_; DataCollection* _tmp5_; guint _tmp6_; #line 40 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = self->priv->collection; #line 40 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_parse_name ("items-added", TYPE_DATA_COLLECTION, &_tmp2_, NULL, FALSE); #line 40 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _core_tracker_on_items_added_data_collection_items_added, self); #line 41 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = self->priv->collection; #line 41 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_parse_name ("items-removed", TYPE_DATA_COLLECTION, &_tmp4_, NULL, FALSE); #line 41 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _core_tracker_on_items_removed_data_collection_items_removed, self); #line 42 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp5_ = self->priv->collection; #line 42 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp6_, NULL, FALSE); #line 42 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _core_tracker_on_items_altered_data_collection_items_altered, self); #line 1015 "Tracker.c" } #line 26 "/home/jens/Source/shotwell/src/core/Tracker.vala" _data_collection_unref0 (self->priv->collection); #line 27 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (self->priv->initial); #line 28 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (self->priv->acc); #line 1023 "Tracker.c" } GType core_tracker_get_type (void) { static volatile gsize core_tracker_type_id__volatile = 0; if (g_once_init_enter (&core_tracker_type_id__volatile)) { static const GTypeValueTable g_define_type_value_table = { core_value_tracker_init, core_value_tracker_free_value, core_value_tracker_copy_value, core_value_tracker_peek_pointer, "p", core_value_tracker_collect_value, "p", core_value_tracker_lcopy_value }; static const GTypeInfo g_define_type_info = { sizeof (CoreTrackerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) core_tracker_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CoreTracker), 0, (GInstanceInitFunc) core_tracker_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 core_tracker_type_id; core_tracker_type_id = g_type_register_fundamental (g_type_fundamental_next (), "CoreTracker", &g_define_type_info, &g_define_type_fundamental_info, 0); g_once_init_leave (&core_tracker_type_id__volatile, core_tracker_type_id); } return core_tracker_type_id__volatile; } gpointer core_tracker_ref (gpointer instance) { CoreTracker * self; self = instance; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_atomic_int_inc (&self->ref_count); #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" return instance; #line 1048 "Tracker.c" } void core_tracker_unref (gpointer instance) { CoreTracker * self; self = instance; #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (g_atomic_int_dec_and_test (&self->ref_count)) { #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" CORE_TRACKER_GET_CLASS (self)->finalize (self); #line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_type_free_instance ((GTypeInstance *) self); #line 1061 "Tracker.c" } } static void _core_view_tracker_on_items_shown_view_collection_items_shown (ViewCollection* _sender, GeeCollection* visible, gpointer self) { #line 173 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_view_tracker_on_items_shown ((CoreViewTracker*) self, visible); #line 1069 "Tracker.c" } static void _core_view_tracker_on_items_hidden_view_collection_items_hidden (ViewCollection* _sender, GeeCollection* hidden, gpointer self) { #line 174 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_view_tracker_on_items_hidden ((CoreViewTracker*) self, hidden); #line 1076 "Tracker.c" } static void _core_view_tracker_on_items_selected_view_collection_items_selected (ViewCollection* _sender, GeeIterable* selected, gpointer self) { #line 175 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_view_tracker_on_items_selected ((CoreViewTracker*) self, selected); #line 1083 "Tracker.c" } static void _core_view_tracker_on_items_unselected_view_collection_items_unselected (ViewCollection* _sender, GeeIterable* unselected, gpointer self) { #line 176 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_view_tracker_on_items_unselected ((CoreViewTracker*) self, unselected); #line 1090 "Tracker.c" } CoreViewTracker* core_view_tracker_construct (GType object_type, ViewCollection* collection) { CoreViewTracker* self = NULL; ViewCollection* _tmp0_; ViewCollection* _tmp1_; GeeCollection* _tmp2_; GeeCollection* _tmp3_; #line 165 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail (IS_VIEW_COLLECTION (collection), NULL); #line 166 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = collection; #line 166 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = collection; #line 166 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = view_collection_get_all_unfiltered (_tmp1_); #line 166 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = _tmp2_; #line 166 "/home/jens/Source/shotwell/src/core/Tracker.vala" self = (CoreViewTracker*) core_tracker_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), _tmp3_); #line 166 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (_tmp3_); #line 165 "/home/jens/Source/shotwell/src/core/Tracker.vala" return self; #line 1116 "Tracker.c" } CoreViewTracker* core_view_tracker_new (ViewCollection* collection) { #line 165 "/home/jens/Source/shotwell/src/core/Tracker.vala" return core_view_tracker_construct (CORE_TYPE_VIEW_TRACKER, collection); #line 1123 "Tracker.c" } void core_view_tracker_start (CoreViewTracker* self, CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected) { CoreViewTrackerMux* _tmp0_; CoreTrackerAccumulator* _tmp1_; CoreTrackerAccumulator* _tmp2_; CoreTrackerAccumulator* _tmp3_; CoreViewTrackerMux* _tmp4_; ViewCollection* collection = NULL; DataCollection* _tmp5_; ViewCollection* _tmp6_; CoreViewTrackerMux* _tmp7_; #line 180 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (CORE_IS_VIEW_TRACKER (self)); #line 180 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail ((all == NULL) || CORE_IS_TRACKER_ACCUMULATOR (all)); #line 180 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail ((visible == NULL) || CORE_IS_TRACKER_ACCUMULATOR (visible)); #line 180 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail ((selected == NULL) || CORE_IS_TRACKER_ACCUMULATOR (selected)); #line 181 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = self->priv->mux; #line 181 "/home/jens/Source/shotwell/src/core/Tracker.vala" _vala_assert (_tmp0_ == NULL, "mux == null"); #line 183 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = all; #line 183 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = visible; #line 183 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = selected; #line 183 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp4_ = core_view_tracker_mux_new (_tmp1_, _tmp2_, _tmp3_); #line 183 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (self->priv->mux); #line 183 "/home/jens/Source/shotwell/src/core/Tracker.vala" self->priv->mux = _tmp4_; #line 185 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp5_ = core_tracker_get_collection (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_TRACKER, CoreTracker)); #line 185 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp6_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, TYPE_VIEW_COLLECTION) ? ((ViewCollection*) _tmp5_) : NULL; #line 185 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp6_ == NULL) { #line 185 "/home/jens/Source/shotwell/src/core/Tracker.vala" _data_collection_unref0 (_tmp5_); #line 1169 "Tracker.c" } #line 185 "/home/jens/Source/shotwell/src/core/Tracker.vala" collection = _tmp6_; #line 186 "/home/jens/Source/shotwell/src/core/Tracker.vala" _vala_assert (collection != NULL, "collection != null"); #line 187 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_connect (collection, "items-shown", (GCallback) _core_view_tracker_on_items_shown_view_collection_items_shown, self); #line 188 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_connect (collection, "items-hidden", (GCallback) _core_view_tracker_on_items_hidden_view_collection_items_hidden, self); #line 189 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_connect (collection, "items-selected", (GCallback) _core_view_tracker_on_items_selected_view_collection_items_selected, self); #line 190 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_connect (collection, "items-unselected", (GCallback) _core_view_tracker_on_items_unselected_view_collection_items_unselected, self); #line 192 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp7_ = self->priv->mux; #line 192 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_start (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_TRACKER, CoreTracker), G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator)); #line 180 "/home/jens/Source/shotwell/src/core/Tracker.vala" _data_collection_unref0 (collection); #line 1189 "Tracker.c" } static void core_view_tracker_on_items_shown (CoreViewTracker* self, GeeCollection* shown) { CoreViewTrackerMux* _tmp0_; CoreTrackerAccumulator* _tmp1_; #line 195 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (CORE_IS_VIEW_TRACKER (self)); #line 195 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (GEE_IS_COLLECTION (shown)); #line 196 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = self->priv->mux; #line 196 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = _tmp0_->visible; #line 196 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp1_ != NULL) { #line 1206 "Tracker.c" GeeCollection* _tmp2_; CoreViewTrackerMux* _tmp3_; CoreTrackerAccumulator* _tmp4_; #line 197 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = shown; #line 197 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = self->priv->mux; #line 197 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp4_ = _tmp3_->visible; #line 197 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_include_uninclude (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_TRACKER, CoreTracker), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable), _core_tracker_accumulator_include_core_tracker_include_uninclude_object, _tmp4_); #line 1218 "Tracker.c" } } static void core_view_tracker_on_items_hidden (CoreViewTracker* self, GeeCollection* hidden) { CoreViewTrackerMux* _tmp0_; CoreTrackerAccumulator* _tmp1_; #line 200 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (CORE_IS_VIEW_TRACKER (self)); #line 200 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (GEE_IS_COLLECTION (hidden)); #line 201 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = self->priv->mux; #line 201 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = _tmp0_->visible; #line 201 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp1_ != NULL) { #line 1236 "Tracker.c" GeeCollection* _tmp2_; CoreViewTrackerMux* _tmp3_; CoreTrackerAccumulator* _tmp4_; #line 202 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = hidden; #line 202 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = self->priv->mux; #line 202 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp4_ = _tmp3_->visible; #line 202 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_include_uninclude (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_TRACKER, CoreTracker), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable), _core_tracker_accumulator_uninclude_core_tracker_include_uninclude_object, _tmp4_); #line 1248 "Tracker.c" } } static void core_view_tracker_on_items_selected (CoreViewTracker* self, GeeIterable* selected) { CoreViewTrackerMux* _tmp0_; CoreTrackerAccumulator* _tmp1_; #line 205 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (CORE_IS_VIEW_TRACKER (self)); #line 205 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (GEE_IS_ITERABLE (selected)); #line 206 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = self->priv->mux; #line 206 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = _tmp0_->selected; #line 206 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp1_ != NULL) { #line 1266 "Tracker.c" GeeIterable* _tmp2_; CoreViewTrackerMux* _tmp3_; CoreTrackerAccumulator* _tmp4_; #line 207 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = selected; #line 207 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = self->priv->mux; #line 207 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp4_ = _tmp3_->selected; #line 207 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_include_uninclude (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_TRACKER, CoreTracker), _tmp2_, _core_tracker_accumulator_include_core_tracker_include_uninclude_object, _tmp4_); #line 1278 "Tracker.c" } } static void core_view_tracker_on_items_unselected (CoreViewTracker* self, GeeIterable* unselected) { CoreViewTrackerMux* _tmp0_; CoreTrackerAccumulator* _tmp1_; #line 210 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (CORE_IS_VIEW_TRACKER (self)); #line 210 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_if_fail (GEE_IS_ITERABLE (unselected)); #line 211 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = self->priv->mux; #line 211 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = _tmp0_->selected; #line 211 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp1_ != NULL) { #line 1296 "Tracker.c" GeeIterable* _tmp2_; CoreViewTrackerMux* _tmp3_; CoreTrackerAccumulator* _tmp4_; #line 212 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = unselected; #line 212 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = self->priv->mux; #line 212 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp4_ = _tmp3_->selected; #line 212 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_tracker_include_uninclude (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_TRACKER, CoreTracker), _tmp2_, _core_tracker_accumulator_uninclude_core_tracker_include_uninclude_object, _tmp4_); #line 1308 "Tracker.c" } } static CoreViewTrackerMux* core_view_tracker_mux_construct (GType object_type, CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected) { CoreViewTrackerMux * self = NULL; CoreTrackerAccumulator* _tmp0_; CoreTrackerAccumulator* _tmp1_; CoreTrackerAccumulator* _tmp2_; CoreTrackerAccumulator* _tmp3_; CoreTrackerAccumulator* _tmp4_; CoreTrackerAccumulator* _tmp5_; #line 105 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail ((all == NULL) || CORE_IS_TRACKER_ACCUMULATOR (all), NULL); #line 105 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail ((visible == NULL) || CORE_IS_TRACKER_ACCUMULATOR (visible), NULL); #line 105 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail ((selected == NULL) || CORE_IS_TRACKER_ACCUMULATOR (selected), NULL); #line 105 "/home/jens/Source/shotwell/src/core/Tracker.vala" self = (CoreViewTrackerMux*) g_object_new (object_type, NULL); #line 106 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = all; #line 106 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = _g_object_ref0 (_tmp0_); #line 106 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (self->all); #line 106 "/home/jens/Source/shotwell/src/core/Tracker.vala" self->all = _tmp1_; #line 107 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = visible; #line 107 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = _g_object_ref0 (_tmp2_); #line 107 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (self->visible); #line 107 "/home/jens/Source/shotwell/src/core/Tracker.vala" self->visible = _tmp3_; #line 108 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp4_ = selected; #line 108 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp5_ = _g_object_ref0 (_tmp4_); #line 108 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (self->selected); #line 108 "/home/jens/Source/shotwell/src/core/Tracker.vala" self->selected = _tmp5_; #line 105 "/home/jens/Source/shotwell/src/core/Tracker.vala" return self; #line 1355 "Tracker.c" } static CoreViewTrackerMux* core_view_tracker_mux_new (CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected) { #line 105 "/home/jens/Source/shotwell/src/core/Tracker.vala" return core_view_tracker_mux_construct (CORE_VIEW_TRACKER_TYPE_MUX, all, visible, selected); #line 1362 "Tracker.c" } static gboolean core_view_tracker_mux_real_include (CoreTrackerAccumulator* base, DataObject* object) { CoreViewTrackerMux * self; gboolean result = FALSE; DataView* view = NULL; DataObject* _tmp0_; DataView* _tmp1_; gboolean fire_updated = FALSE; CoreTrackerAccumulator* _tmp2_; gboolean _tmp8_ = FALSE; CoreTrackerAccumulator* _tmp9_; gboolean _tmp17_ = FALSE; CoreTrackerAccumulator* _tmp18_; #line 111 "/home/jens/Source/shotwell/src/core/Tracker.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, CORE_VIEW_TRACKER_TYPE_MUX, CoreViewTrackerMux); #line 111 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); #line 112 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = object; #line 112 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); #line 112 "/home/jens/Source/shotwell/src/core/Tracker.vala" view = _tmp1_; #line 114 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = FALSE; #line 116 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = self->all; #line 116 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp2_ != NULL) { #line 1394 "Tracker.c" gboolean _tmp3_ = FALSE; CoreTrackerAccumulator* _tmp4_; DataView* _tmp5_; gboolean _tmp6_; #line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp4_ = self->all; #line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp5_ = view; #line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp6_ = core_tracker_accumulator_include (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject)); #line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp6_) { #line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = TRUE; #line 1409 "Tracker.c" } else { gboolean _tmp7_; #line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp7_ = fire_updated; #line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = _tmp7_; #line 1416 "Tracker.c" } #line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = _tmp3_; #line 1420 "Tracker.c" } #line 119 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp9_ = self->visible; #line 119 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp9_ != NULL) { #line 1426 "Tracker.c" DataView* _tmp10_; gboolean _tmp11_; #line 119 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp10_ = view; #line 119 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp11_ = data_view_is_visible (_tmp10_); #line 119 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp8_ = _tmp11_; #line 1435 "Tracker.c" } else { #line 119 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp8_ = FALSE; #line 1439 "Tracker.c" } #line 119 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp8_) { #line 1443 "Tracker.c" gboolean _tmp12_ = FALSE; CoreTrackerAccumulator* _tmp13_; DataView* _tmp14_; gboolean _tmp15_; #line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp13_ = self->visible; #line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp14_ = view; #line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp15_ = core_tracker_accumulator_include (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_OBJECT, DataObject)); #line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp15_) { #line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp12_ = TRUE; #line 1458 "Tracker.c" } else { gboolean _tmp16_; #line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp16_ = fire_updated; #line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp12_ = _tmp16_; #line 1465 "Tracker.c" } #line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = _tmp12_; #line 1469 "Tracker.c" } #line 122 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp18_ = self->selected; #line 122 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp18_ != NULL) { #line 1475 "Tracker.c" DataView* _tmp19_; gboolean _tmp20_; #line 122 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp19_ = view; #line 122 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp20_ = data_view_is_selected (_tmp19_); #line 122 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp17_ = _tmp20_; #line 1484 "Tracker.c" } else { #line 122 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp17_ = FALSE; #line 1488 "Tracker.c" } #line 122 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp17_) { #line 1492 "Tracker.c" gboolean _tmp21_ = FALSE; CoreTrackerAccumulator* _tmp22_; DataView* _tmp23_; gboolean _tmp24_; #line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp22_ = self->selected; #line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp23_ = view; #line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp24_ = core_tracker_accumulator_include (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_DATA_OBJECT, DataObject)); #line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp24_) { #line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp21_ = TRUE; #line 1507 "Tracker.c" } else { gboolean _tmp25_; #line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp25_ = fire_updated; #line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp21_ = _tmp25_; #line 1514 "Tracker.c" } #line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = _tmp21_; #line 1518 "Tracker.c" } #line 125 "/home/jens/Source/shotwell/src/core/Tracker.vala" result = fire_updated; #line 125 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (view); #line 125 "/home/jens/Source/shotwell/src/core/Tracker.vala" return result; #line 1526 "Tracker.c" } static gboolean core_view_tracker_mux_real_uninclude (CoreTrackerAccumulator* base, DataObject* object) { CoreViewTrackerMux * self; gboolean result = FALSE; DataView* view = NULL; DataObject* _tmp0_; DataView* _tmp1_; gboolean fire_updated = FALSE; CoreTrackerAccumulator* _tmp2_; gboolean _tmp8_ = FALSE; CoreTrackerAccumulator* _tmp9_; gboolean _tmp17_ = FALSE; CoreTrackerAccumulator* _tmp18_; #line 128 "/home/jens/Source/shotwell/src/core/Tracker.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, CORE_VIEW_TRACKER_TYPE_MUX, CoreViewTrackerMux); #line 128 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); #line 129 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = object; #line 129 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); #line 129 "/home/jens/Source/shotwell/src/core/Tracker.vala" view = _tmp1_; #line 131 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = FALSE; #line 133 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = self->all; #line 133 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp2_ != NULL) { #line 1558 "Tracker.c" gboolean _tmp3_ = FALSE; CoreTrackerAccumulator* _tmp4_; DataView* _tmp5_; gboolean _tmp6_; #line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp4_ = self->all; #line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp5_ = view; #line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp6_ = core_tracker_accumulator_uninclude (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject)); #line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp6_) { #line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = TRUE; #line 1573 "Tracker.c" } else { gboolean _tmp7_; #line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp7_ = fire_updated; #line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = _tmp7_; #line 1580 "Tracker.c" } #line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = _tmp3_; #line 1584 "Tracker.c" } #line 136 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp9_ = self->visible; #line 136 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp9_ != NULL) { #line 1590 "Tracker.c" DataView* _tmp10_; gboolean _tmp11_; #line 136 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp10_ = view; #line 136 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp11_ = data_view_is_visible (_tmp10_); #line 136 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp8_ = _tmp11_; #line 1599 "Tracker.c" } else { #line 136 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp8_ = FALSE; #line 1603 "Tracker.c" } #line 136 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp8_) { #line 1607 "Tracker.c" gboolean _tmp12_ = FALSE; CoreTrackerAccumulator* _tmp13_; DataView* _tmp14_; gboolean _tmp15_; #line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp13_ = self->visible; #line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp14_ = view; #line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp15_ = core_tracker_accumulator_uninclude (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_OBJECT, DataObject)); #line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp15_) { #line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp12_ = TRUE; #line 1622 "Tracker.c" } else { gboolean _tmp16_; #line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp16_ = fire_updated; #line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp12_ = _tmp16_; #line 1629 "Tracker.c" } #line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = _tmp12_; #line 1633 "Tracker.c" } #line 139 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp18_ = self->selected; #line 139 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp18_ != NULL) { #line 1639 "Tracker.c" DataView* _tmp19_; gboolean _tmp20_; #line 139 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp19_ = view; #line 139 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp20_ = data_view_is_selected (_tmp19_); #line 139 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp17_ = _tmp20_; #line 1648 "Tracker.c" } else { #line 139 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp17_ = FALSE; #line 1652 "Tracker.c" } #line 139 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp17_) { #line 1656 "Tracker.c" gboolean _tmp21_ = FALSE; CoreTrackerAccumulator* _tmp22_; DataView* _tmp23_; gboolean _tmp24_; #line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp22_ = self->selected; #line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp23_ = view; #line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp24_ = core_tracker_accumulator_uninclude (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_DATA_OBJECT, DataObject)); #line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp24_) { #line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp21_ = TRUE; #line 1671 "Tracker.c" } else { gboolean _tmp25_; #line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp25_ = fire_updated; #line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp21_ = _tmp25_; #line 1678 "Tracker.c" } #line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = _tmp21_; #line 1682 "Tracker.c" } #line 142 "/home/jens/Source/shotwell/src/core/Tracker.vala" result = fire_updated; #line 142 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (view); #line 142 "/home/jens/Source/shotwell/src/core/Tracker.vala" return result; #line 1690 "Tracker.c" } static gboolean core_view_tracker_mux_real_altered (CoreTrackerAccumulator* base, DataObject* object, Alteration* alteration) { CoreViewTrackerMux * self; gboolean result = FALSE; DataView* view = NULL; DataObject* _tmp0_; DataView* _tmp1_; gboolean fire_updated = FALSE; CoreTrackerAccumulator* _tmp2_; gboolean _tmp9_ = FALSE; CoreTrackerAccumulator* _tmp10_; gboolean _tmp19_ = FALSE; CoreTrackerAccumulator* _tmp20_; #line 145 "/home/jens/Source/shotwell/src/core/Tracker.vala" self = G_TYPE_CHECK_INSTANCE_CAST (base, CORE_VIEW_TRACKER_TYPE_MUX, CoreViewTrackerMux); #line 145 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); #line 145 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); #line 146 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = object; #line 146 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); #line 146 "/home/jens/Source/shotwell/src/core/Tracker.vala" view = _tmp1_; #line 148 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = FALSE; #line 150 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = self->all; #line 150 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp2_ != NULL) { #line 1724 "Tracker.c" gboolean _tmp3_ = FALSE; CoreTrackerAccumulator* _tmp4_; DataView* _tmp5_; Alteration* _tmp6_; gboolean _tmp7_; #line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp4_ = self->all; #line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp5_ = view; #line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp6_ = alteration; #line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp7_ = core_tracker_accumulator_altered (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject), _tmp6_); #line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp7_) { #line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = TRUE; #line 1742 "Tracker.c" } else { gboolean _tmp8_; #line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp8_ = fire_updated; #line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = _tmp8_; #line 1749 "Tracker.c" } #line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = _tmp3_; #line 1753 "Tracker.c" } #line 153 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp10_ = self->visible; #line 153 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp10_ != NULL) { #line 1759 "Tracker.c" DataView* _tmp11_; gboolean _tmp12_; #line 153 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp11_ = view; #line 153 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp12_ = data_view_is_visible (_tmp11_); #line 153 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp9_ = _tmp12_; #line 1768 "Tracker.c" } else { #line 153 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp9_ = FALSE; #line 1772 "Tracker.c" } #line 153 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp9_) { #line 1776 "Tracker.c" gboolean _tmp13_ = FALSE; CoreTrackerAccumulator* _tmp14_; DataView* _tmp15_; Alteration* _tmp16_; gboolean _tmp17_; #line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp14_ = self->visible; #line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp15_ = view; #line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp16_ = alteration; #line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp17_ = core_tracker_accumulator_altered (_tmp14_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_OBJECT, DataObject), _tmp16_); #line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp17_) { #line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp13_ = TRUE; #line 1794 "Tracker.c" } else { gboolean _tmp18_; #line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp18_ = fire_updated; #line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp13_ = _tmp18_; #line 1801 "Tracker.c" } #line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = _tmp13_; #line 1805 "Tracker.c" } #line 156 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp20_ = self->selected; #line 156 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp20_ != NULL) { #line 1811 "Tracker.c" DataView* _tmp21_; gboolean _tmp22_; #line 156 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp21_ = view; #line 156 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp22_ = data_view_is_selected (_tmp21_); #line 156 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp19_ = _tmp22_; #line 1820 "Tracker.c" } else { #line 156 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp19_ = FALSE; #line 1824 "Tracker.c" } #line 156 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp19_) { #line 1828 "Tracker.c" gboolean _tmp23_ = FALSE; CoreTrackerAccumulator* _tmp24_; DataView* _tmp25_; Alteration* _tmp26_; gboolean _tmp27_; #line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp24_ = self->selected; #line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp25_ = view; #line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp26_ = alteration; #line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp27_ = core_tracker_accumulator_altered (_tmp24_, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_OBJECT, DataObject), _tmp26_); #line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp27_) { #line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp23_ = TRUE; #line 1846 "Tracker.c" } else { gboolean _tmp28_; #line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp28_ = fire_updated; #line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp23_ = _tmp28_; #line 1853 "Tracker.c" } #line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" fire_updated = _tmp23_; #line 1857 "Tracker.c" } #line 159 "/home/jens/Source/shotwell/src/core/Tracker.vala" result = fire_updated; #line 159 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (view); #line 159 "/home/jens/Source/shotwell/src/core/Tracker.vala" return result; #line 1865 "Tracker.c" } static void core_view_tracker_mux_class_init (CoreViewTrackerMuxClass * klass) { #line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_view_tracker_mux_parent_class = g_type_class_peek_parent (klass); #line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" G_OBJECT_CLASS (klass)->finalize = core_view_tracker_mux_finalize; #line 1874 "Tracker.c" } static void core_view_tracker_mux_core_tracker_accumulator_interface_init (CoreTrackerAccumulatorIface * iface) { #line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_view_tracker_mux_core_tracker_accumulator_parent_iface = g_type_interface_peek_parent (iface); #line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" iface->include = (gboolean (*) (CoreTrackerAccumulator *, DataObject*)) core_view_tracker_mux_real_include; #line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" iface->uninclude = (gboolean (*) (CoreTrackerAccumulator *, DataObject*)) core_view_tracker_mux_real_uninclude; #line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" iface->altered = (gboolean (*) (CoreTrackerAccumulator *, DataObject*, Alteration*)) core_view_tracker_mux_real_altered; #line 1887 "Tracker.c" } static void core_view_tracker_mux_instance_init (CoreViewTrackerMux * self) { } static void core_view_tracker_mux_finalize (GObject * obj) { CoreViewTrackerMux * self; #line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, CORE_VIEW_TRACKER_TYPE_MUX, CoreViewTrackerMux); #line 101 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (self->all); #line 102 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (self->visible); #line 103 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (self->selected); #line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" G_OBJECT_CLASS (core_view_tracker_mux_parent_class)->finalize (obj); #line 1907 "Tracker.c" } static GType core_view_tracker_mux_get_type (void) { static volatile gsize core_view_tracker_mux_type_id__volatile = 0; if (g_once_init_enter (&core_view_tracker_mux_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (CoreViewTrackerMuxClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) core_view_tracker_mux_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CoreViewTrackerMux), 0, (GInstanceInitFunc) core_view_tracker_mux_instance_init, NULL }; static const GInterfaceInfo core_tracker_accumulator_info = { (GInterfaceInitFunc) core_view_tracker_mux_core_tracker_accumulator_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; GType core_view_tracker_mux_type_id; core_view_tracker_mux_type_id = g_type_register_static (G_TYPE_OBJECT, "CoreViewTrackerMux", &g_define_type_info, 0); g_type_add_interface_static (core_view_tracker_mux_type_id, CORE_TYPE_TRACKER_ACCUMULATOR, &core_tracker_accumulator_info); g_once_init_leave (&core_view_tracker_mux_type_id__volatile, core_view_tracker_mux_type_id); } return core_view_tracker_mux_type_id__volatile; } static void core_view_tracker_class_init (CoreViewTrackerClass * klass) { #line 99 "/home/jens/Source/shotwell/src/core/Tracker.vala" core_view_tracker_parent_class = g_type_class_peek_parent (klass); #line 99 "/home/jens/Source/shotwell/src/core/Tracker.vala" ((CoreTrackerClass *) klass)->finalize = core_view_tracker_finalize; #line 99 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_type_class_add_private (klass, sizeof (CoreViewTrackerPrivate)); #line 1932 "Tracker.c" } static void core_view_tracker_instance_init (CoreViewTracker * self) { #line 99 "/home/jens/Source/shotwell/src/core/Tracker.vala" self->priv = CORE_VIEW_TRACKER_GET_PRIVATE (self); #line 163 "/home/jens/Source/shotwell/src/core/Tracker.vala" self->priv->mux = NULL; #line 1941 "Tracker.c" } static void core_view_tracker_finalize (CoreTracker * obj) { CoreViewTracker * self; CoreViewTrackerMux* _tmp0_; #line 99 "/home/jens/Source/shotwell/src/core/Tracker.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, CORE_TYPE_VIEW_TRACKER, CoreViewTracker); #line 170 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp0_ = self->priv->mux; #line 170 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp0_ != NULL) { #line 1954 "Tracker.c" ViewCollection* collection = NULL; DataCollection* _tmp1_; ViewCollection* _tmp2_; ViewCollection* _tmp3_; ViewCollection* _tmp4_; guint _tmp5_; ViewCollection* _tmp6_; guint _tmp7_; ViewCollection* _tmp8_; guint _tmp9_; ViewCollection* _tmp10_; guint _tmp11_; #line 171 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp1_ = core_tracker_get_collection (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_TRACKER, CoreTracker)); #line 171 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_VIEW_COLLECTION) ? ((ViewCollection*) _tmp1_) : NULL; #line 171 "/home/jens/Source/shotwell/src/core/Tracker.vala" if (_tmp2_ == NULL) { #line 171 "/home/jens/Source/shotwell/src/core/Tracker.vala" _data_collection_unref0 (_tmp1_); #line 1975 "Tracker.c" } #line 171 "/home/jens/Source/shotwell/src/core/Tracker.vala" collection = _tmp2_; #line 172 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp3_ = collection; #line 172 "/home/jens/Source/shotwell/src/core/Tracker.vala" _vala_assert (_tmp3_ != NULL, "collection != null"); #line 173 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp4_ = collection; #line 173 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_parse_name ("items-shown", TYPE_VIEW_COLLECTION, &_tmp5_, NULL, FALSE); #line 173 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _core_view_tracker_on_items_shown_view_collection_items_shown, self); #line 174 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp6_ = collection; #line 174 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_parse_name ("items-hidden", TYPE_VIEW_COLLECTION, &_tmp7_, NULL, FALSE); #line 174 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _core_view_tracker_on_items_hidden_view_collection_items_hidden, self); #line 175 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp8_ = collection; #line 175 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_parse_name ("items-selected", TYPE_VIEW_COLLECTION, &_tmp9_, NULL, FALSE); #line 175 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _core_view_tracker_on_items_selected_view_collection_items_selected, self); #line 176 "/home/jens/Source/shotwell/src/core/Tracker.vala" _tmp10_ = collection; #line 176 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_parse_name ("items-unselected", TYPE_VIEW_COLLECTION, &_tmp11_, NULL, FALSE); #line 176 "/home/jens/Source/shotwell/src/core/Tracker.vala" g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _core_view_tracker_on_items_unselected_view_collection_items_unselected, self); #line 170 "/home/jens/Source/shotwell/src/core/Tracker.vala" _data_collection_unref0 (collection); #line 2009 "Tracker.c" } #line 163 "/home/jens/Source/shotwell/src/core/Tracker.vala" _g_object_unref0 (self->priv->mux); #line 99 "/home/jens/Source/shotwell/src/core/Tracker.vala" CORE_TRACKER_CLASS (core_view_tracker_parent_class)->finalize (obj); #line 2015 "Tracker.c" } GType core_view_tracker_get_type (void) { static volatile gsize core_view_tracker_type_id__volatile = 0; if (g_once_init_enter (&core_view_tracker_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (CoreViewTrackerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) core_view_tracker_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CoreViewTracker), 0, (GInstanceInitFunc) core_view_tracker_instance_init, NULL }; GType core_view_tracker_type_id; core_view_tracker_type_id = g_type_register_static (CORE_TYPE_TRACKER, "CoreViewTracker", &g_define_type_info, 0); g_once_init_leave (&core_view_tracker_type_id__volatile, core_view_tracker_type_id); } return core_view_tracker_type_id__volatile; }