From 143bfc9f801c84428074312d661f8e08803df83b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 20 Aug 2016 15:09:31 +0200 Subject: Imported Upstream version 0.23.5 --- src/MediaViewTracker.c | 1023 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1023 insertions(+) create mode 100644 src/MediaViewTracker.c (limited to 'src/MediaViewTracker.c') diff --git a/src/MediaViewTracker.c b/src/MediaViewTracker.c new file mode 100644 index 0000000..3187c83 --- /dev/null +++ b/src/MediaViewTracker.c @@ -0,0 +1,1023 @@ +/* MediaViewTracker.c generated by valac 0.32.1, the Vala compiler + * generated from MediaViewTracker.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 (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 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 TYPE_MEDIA_VIEW_TRACKER (media_view_tracker_get_type ()) +#define MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTracker)) +#define MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass)) +#define IS_MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_VIEW_TRACKER)) +#define IS_MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_VIEW_TRACKER)) +#define MEDIA_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass)) + +typedef struct _MediaViewTracker MediaViewTracker; +typedef struct _MediaViewTrackerClass MediaViewTrackerClass; +typedef struct _MediaViewTrackerPrivate MediaViewTrackerPrivate; + +#define TYPE_MEDIA_ACCUMULATOR (media_accumulator_get_type ()) +#define MEDIA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_ACCUMULATOR, MediaAccumulator)) +#define MEDIA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_ACCUMULATOR, MediaAccumulatorClass)) +#define IS_MEDIA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_ACCUMULATOR)) +#define IS_MEDIA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_ACCUMULATOR)) +#define MEDIA_ACCUMULATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_ACCUMULATOR, MediaAccumulatorClass)) + +typedef struct _MediaAccumulator MediaAccumulator; +typedef struct _MediaAccumulatorClass MediaAccumulatorClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_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 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; +typedef struct _MediaAccumulatorPrivate MediaAccumulatorPrivate; + +#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_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; + +#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_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_FLAGGABLE (flaggable_get_type ()) +#define FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGABLE, Flaggable)) +#define IS_FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGABLE)) +#define FLAGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_FLAGGABLE, FlaggableIface)) + +typedef struct _Flaggable Flaggable; +typedef struct _FlaggableIface FlaggableIface; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; +#define _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 _CoreTracker { + GTypeInstance parent_instance; + volatile int ref_count; + CoreTrackerPrivate * priv; +}; + +struct _CoreTrackerClass { + GTypeClass parent_class; + void (*finalize) (CoreTracker *self); + void (*updated) (CoreTracker* self); +}; + +struct _CoreViewTracker { + CoreTracker parent_instance; + CoreViewTrackerPrivate * priv; +}; + +struct _CoreViewTrackerClass { + CoreTrackerClass parent_class; +}; + +struct _MediaViewTracker { + CoreViewTracker parent_instance; + MediaViewTrackerPrivate * priv; + MediaAccumulator* all; + MediaAccumulator* visible; + MediaAccumulator* selected; +}; + +struct _MediaViewTrackerClass { + CoreViewTrackerClass parent_class; +}; + +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 _MediaAccumulator { + GObject parent_instance; + MediaAccumulatorPrivate * priv; + gint total; + gint photos; + gint videos; + gint raw; + gint flagged; +}; + +struct _MediaAccumulatorClass { + GObjectClass parent_class; +}; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _FlaggableIface { + GTypeInterface parent_iface; + gboolean (*is_flagged) (Flaggable* self); + void (*mark_flagged) (Flaggable* self); + void (*mark_unflagged) (Flaggable* self); +}; + + +static gpointer media_view_tracker_parent_class = NULL; +static gpointer media_accumulator_parent_class = NULL; +static CoreTrackerAccumulatorIface* media_accumulator_core_tracker_accumulator_parent_iface = NULL; + +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; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType media_view_tracker_get_type (void) G_GNUC_CONST; +GType media_accumulator_get_type (void) G_GNUC_CONST; +enum { + MEDIA_VIEW_TRACKER_DUMMY_PROPERTY +}; +MediaAccumulator* media_accumulator_new (void); +MediaAccumulator* media_accumulator_construct (GType object_type); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType view_collection_get_type (void) G_GNUC_CONST; +MediaViewTracker* media_view_tracker_new (ViewCollection* collection); +MediaViewTracker* media_view_tracker_construct (GType object_type, ViewCollection* collection); +CoreViewTracker* core_view_tracker_new (ViewCollection* collection); +CoreViewTracker* core_view_tracker_construct (GType object_type, ViewCollection* collection); +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; +void core_view_tracker_start (CoreViewTracker* self, CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected); +static void media_view_tracker_finalize (CoreTracker* obj); +enum { + MEDIA_ACCUMULATOR_DUMMY_PROPERTY +}; +static gboolean media_accumulator_real_include (CoreTrackerAccumulator* base, DataObject* object); +GType data_source_get_type (void) G_GNUC_CONST; +GType data_view_get_type (void) G_GNUC_CONST; +DataSource* data_view_get_source (DataView* self); +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; +GType photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat photo_get_master_file_format (Photo* self); +GType raw_developer_get_type (void) G_GNUC_CONST; +gboolean photo_is_raw_developer_available (Photo* self, RawDeveloper d); +GType video_source_get_type (void) G_GNUC_CONST; +GType flaggable_get_type (void) G_GNUC_CONST; +gboolean flaggable_is_flagged (Flaggable* self); +static gboolean media_accumulator_real_uninclude (CoreTrackerAccumulator* base, DataObject* object); +gchar* data_object_to_string (DataObject* self); +gchar* media_accumulator_to_string (MediaAccumulator* self); +GType video_get_type (void) G_GNUC_CONST; +static gboolean media_accumulator_real_altered (CoreTrackerAccumulator* base, DataObject* object, Alteration* alteration); +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail); +static void media_accumulator_finalize (GObject* obj); + + +MediaViewTracker* media_view_tracker_construct (GType object_type, ViewCollection* collection) { + MediaViewTracker* self = NULL; + ViewCollection* _tmp0_ = NULL; + MediaAccumulator* _tmp1_ = NULL; + MediaAccumulator* _tmp2_ = NULL; + MediaAccumulator* _tmp3_ = NULL; +#line 12 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (collection), NULL); +#line 13 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp0_ = collection; +#line 13 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self = (MediaViewTracker*) core_view_tracker_construct (object_type, _tmp0_); +#line 15 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp1_ = self->all; +#line 15 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp2_ = self->visible; +#line 15 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp3_ = self->selected; +#line 15 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + core_view_tracker_start (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_VIEW_TRACKER, CoreViewTracker), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator), G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator)); +#line 12 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return self; +#line 375 "MediaViewTracker.c" +} + + +MediaViewTracker* media_view_tracker_new (ViewCollection* collection) { +#line 12 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return media_view_tracker_construct (TYPE_MEDIA_VIEW_TRACKER, collection); +#line 382 "MediaViewTracker.c" +} + + +static void media_view_tracker_class_init (MediaViewTrackerClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + media_view_tracker_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + ((CoreTrackerClass *) klass)->finalize = media_view_tracker_finalize; +#line 391 "MediaViewTracker.c" +} + + +static void media_view_tracker_instance_init (MediaViewTracker * self) { + MediaAccumulator* _tmp0_ = NULL; + MediaAccumulator* _tmp1_ = NULL; + MediaAccumulator* _tmp2_ = NULL; +#line 8 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp0_ = media_accumulator_new (); +#line 8 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->all = _tmp0_; +#line 9 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp1_ = media_accumulator_new (); +#line 9 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->visible = _tmp1_; +#line 10 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp2_ = media_accumulator_new (); +#line 10 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->selected = _tmp2_; +#line 411 "MediaViewTracker.c" +} + + +static void media_view_tracker_finalize (CoreTracker* obj) { + MediaViewTracker * self; +#line 7 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MEDIA_VIEW_TRACKER, MediaViewTracker); +#line 8 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (self->all); +#line 9 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (self->visible); +#line 10 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (self->selected); +#line 7 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + CORE_TRACKER_CLASS (media_view_tracker_parent_class)->finalize (obj); +#line 427 "MediaViewTracker.c" +} + + +GType media_view_tracker_get_type (void) { + static volatile gsize media_view_tracker_type_id__volatile = 0; + if (g_once_init_enter (&media_view_tracker_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MediaViewTrackerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) media_view_tracker_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MediaViewTracker), 0, (GInstanceInitFunc) media_view_tracker_instance_init, NULL }; + GType media_view_tracker_type_id; + media_view_tracker_type_id = g_type_register_static (CORE_TYPE_VIEW_TRACKER, "MediaViewTracker", &g_define_type_info, 0); + g_once_init_leave (&media_view_tracker_type_id__volatile, media_view_tracker_type_id); + } + return media_view_tracker_type_id__volatile; +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 31 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return self ? g_object_ref (self) : NULL; +#line 446 "MediaViewTracker.c" +} + + +static gboolean media_accumulator_real_include (CoreTrackerAccumulator* base, DataObject* object) { + MediaAccumulator * self; + gboolean result = FALSE; + DataSource* source = NULL; + DataObject* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + gint _tmp2_ = 0; + Photo* photo = NULL; + DataSource* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + Flaggable* flaggable = NULL; + DataSource* _tmp17_ = NULL; + Flaggable* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + Flaggable* _tmp20_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_ACCUMULATOR, MediaAccumulator); +#line 26 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 27 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp0_ = object; +#line 27 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp1_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); +#line 27 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + source = _tmp1_; +#line 29 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp2_ = self->total; +#line 29 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->total = _tmp2_ + 1; +#line 31 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp3_ = source; +#line 31 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_PHOTO) ? ((Photo*) _tmp3_) : NULL); +#line 31 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + photo = _tmp4_; +#line 32 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp5_ = photo; +#line 32 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp5_ != NULL) { +#line 490 "MediaViewTracker.c" + Photo* _tmp6_ = NULL; + PhotoFileFormat _tmp7_ = 0; + gboolean _tmp9_ = FALSE; + Photo* _tmp10_ = NULL; + PhotoFileFormat _tmp11_ = 0; +#line 33 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp6_ = photo; +#line 33 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp7_ = photo_get_master_file_format (_tmp6_); +#line 33 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp7_ == PHOTO_FILE_FORMAT_RAW) { +#line 502 "MediaViewTracker.c" + gint _tmp8_ = 0; +#line 34 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp8_ = self->raw; +#line 34 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->raw = _tmp8_ + 1; +#line 508 "MediaViewTracker.c" + } +#line 37 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp10_ = photo; +#line 37 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp11_ = photo_get_master_file_format (_tmp10_); +#line 37 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp11_ != PHOTO_FILE_FORMAT_RAW) { +#line 37 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp9_ = TRUE; +#line 518 "MediaViewTracker.c" + } else { + Photo* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 38 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp12_ = photo; +#line 38 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp13_ = photo_is_raw_developer_available (_tmp12_, RAW_DEVELOPER_CAMERA); +#line 38 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp9_ = _tmp13_; +#line 528 "MediaViewTracker.c" + } +#line 37 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp9_) { +#line 532 "MediaViewTracker.c" + gint _tmp14_ = 0; +#line 39 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp14_ = self->photos; +#line 39 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->photos = _tmp14_ + 1; +#line 538 "MediaViewTracker.c" + } + } else { + DataSource* _tmp15_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp15_ = source; +#line 41 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp15_, TYPE_VIDEO_SOURCE)) { +#line 546 "MediaViewTracker.c" + gint _tmp16_ = 0; +#line 42 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp16_ = self->videos; +#line 42 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->videos = _tmp16_ + 1; +#line 552 "MediaViewTracker.c" + } + } +#line 45 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp17_ = source; +#line 45 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp18_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp17_, TYPE_FLAGGABLE) ? ((Flaggable*) _tmp17_) : NULL); +#line 45 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + flaggable = _tmp18_; +#line 46 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp20_ = flaggable; +#line 46 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp20_ != NULL) { +#line 565 "MediaViewTracker.c" + Flaggable* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 46 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp21_ = flaggable; +#line 46 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp22_ = flaggable_is_flagged (_tmp21_); +#line 46 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp19_ = _tmp22_; +#line 574 "MediaViewTracker.c" + } else { +#line 46 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp19_ = FALSE; +#line 578 "MediaViewTracker.c" + } +#line 46 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp19_) { +#line 582 "MediaViewTracker.c" + gint _tmp23_ = 0; +#line 47 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp23_ = self->flagged; +#line 47 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->flagged = _tmp23_ + 1; +#line 588 "MediaViewTracker.c" + } +#line 50 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + result = TRUE; +#line 50 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (flaggable); +#line 50 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (photo); +#line 50 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (source); +#line 50 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return result; +#line 600 "MediaViewTracker.c" +} + + +static gboolean media_accumulator_real_uninclude (CoreTrackerAccumulator* base, DataObject* object) { + MediaAccumulator * self; + gboolean result = FALSE; + DataSource* source = NULL; + DataObject* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp12_ = 0; + Photo* photo = NULL; + DataSource* _tmp13_ = NULL; + Photo* _tmp14_ = NULL; + Photo* _tmp15_ = NULL; + Flaggable* flaggable = NULL; + DataSource* _tmp30_ = NULL; + Flaggable* _tmp31_ = NULL; + gboolean _tmp32_ = FALSE; + Flaggable* _tmp33_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_ACCUMULATOR, MediaAccumulator); +#line 53 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 54 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp0_ = object; +#line 54 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp1_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); +#line 54 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + source = _tmp1_; +#line 56 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp2_ = self->total; +#line 56 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp2_ < 1) { +#line 635 "MediaViewTracker.c" + DataObject* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GType _tmp6_ = 0UL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp3_ = object; +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp4_ = data_object_to_string (_tmp3_); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp5_ = _tmp4_; +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp6_ = G_TYPE_FROM_INSTANCE (G_TYPE_CHECK_INSTANCE_CAST (self, G_TYPE_OBJECT, GObject)); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp7_ = g_type_name (_tmp6_); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp8_ = media_accumulator_to_string (self); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp9_ = _tmp8_; +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp10_ = g_strdup_printf ("Tried to remove DataObject %s from empty %s (%s)", _tmp5_, _tmp7_, _tmp9_); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp11_ = _tmp10_; +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + g_warning ("MediaViewTracker.vala:57: %s", _tmp11_); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_free0 (_tmp11_); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_free0 (_tmp9_); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_free0 (_tmp5_); +#line 59 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + result = FALSE; +#line 59 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (source); +#line 59 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return result; +#line 677 "MediaViewTracker.c" + } +#line 61 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp12_ = self->total; +#line 61 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->total = _tmp12_ - 1; +#line 63 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp13_ = source; +#line 63 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, TYPE_PHOTO) ? ((Photo*) _tmp13_) : NULL); +#line 63 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + photo = _tmp14_; +#line 64 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp15_ = photo; +#line 64 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp15_ != NULL) { +#line 693 "MediaViewTracker.c" + Photo* _tmp16_ = NULL; + PhotoFileFormat _tmp17_ = 0; + gboolean _tmp20_ = FALSE; + Photo* _tmp21_ = NULL; + PhotoFileFormat _tmp22_ = 0; +#line 65 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp16_ = photo; +#line 65 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp17_ = photo_get_master_file_format (_tmp16_); +#line 65 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp17_ == PHOTO_FILE_FORMAT_RAW) { +#line 705 "MediaViewTracker.c" + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 66 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp18_ = self->raw; +#line 66 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _vala_assert (_tmp18_ > 0, "raw > 0"); +#line 67 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp19_ = self->raw; +#line 67 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->raw = _tmp19_ - 1; +#line 716 "MediaViewTracker.c" + } +#line 70 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp21_ = photo; +#line 70 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp22_ = photo_get_master_file_format (_tmp21_); +#line 70 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp22_ != PHOTO_FILE_FORMAT_RAW) { +#line 70 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp20_ = TRUE; +#line 726 "MediaViewTracker.c" + } else { + Photo* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 71 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp23_ = photo; +#line 71 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp24_ = photo_is_raw_developer_available (_tmp23_, RAW_DEVELOPER_CAMERA); +#line 71 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp20_ = _tmp24_; +#line 736 "MediaViewTracker.c" + } +#line 70 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp20_) { +#line 740 "MediaViewTracker.c" + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 72 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp25_ = self->photos; +#line 72 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _vala_assert (_tmp25_ > 0, "photos > 0"); +#line 73 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp26_ = self->photos; +#line 73 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->photos = _tmp26_ - 1; +#line 751 "MediaViewTracker.c" + } + } else { + DataSource* _tmp27_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp27_ = source; +#line 75 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, TYPE_VIDEO)) { +#line 759 "MediaViewTracker.c" + gint _tmp28_ = 0; + gint _tmp29_ = 0; +#line 76 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp28_ = self->videos; +#line 76 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _vala_assert (_tmp28_ > 0, "videos > 0"); +#line 77 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp29_ = self->videos; +#line 77 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->videos = _tmp29_ - 1; +#line 770 "MediaViewTracker.c" + } + } +#line 80 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp30_ = source; +#line 80 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp31_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp30_, TYPE_FLAGGABLE) ? ((Flaggable*) _tmp30_) : NULL); +#line 80 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + flaggable = _tmp31_; +#line 81 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp33_ = flaggable; +#line 81 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp33_ != NULL) { +#line 783 "MediaViewTracker.c" + Flaggable* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; +#line 81 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp34_ = flaggable; +#line 81 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp35_ = flaggable_is_flagged (_tmp34_); +#line 81 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp32_ = _tmp35_; +#line 792 "MediaViewTracker.c" + } else { +#line 81 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp32_ = FALSE; +#line 796 "MediaViewTracker.c" + } +#line 81 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp32_) { +#line 800 "MediaViewTracker.c" + gint _tmp36_ = 0; + gint _tmp37_ = 0; +#line 82 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp36_ = self->flagged; +#line 82 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _vala_assert (_tmp36_ > 0, "flagged > 0"); +#line 83 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp37_ = self->flagged; +#line 83 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->flagged = _tmp37_ - 1; +#line 811 "MediaViewTracker.c" + } +#line 87 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + result = TRUE; +#line 87 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (flaggable); +#line 87 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (photo); +#line 87 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (source); +#line 87 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return result; +#line 823 "MediaViewTracker.c" +} + + +static gboolean media_accumulator_real_altered (CoreTrackerAccumulator* base, DataObject* object, Alteration* alteration) { + MediaAccumulator * self; + gboolean result = FALSE; + Alteration* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + Flaggable* flaggable = NULL; + DataObject* _tmp2_ = NULL; + DataSource* _tmp3_ = NULL; + Flaggable* _tmp4_ = NULL; + Flaggable* _tmp5_ = NULL; + Flaggable* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 90 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_ACCUMULATOR, MediaAccumulator); +#line 90 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 90 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 93 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp0_ = alteration; +#line 93 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp1_ = alteration_has_detail (_tmp0_, "metadata", "flagged"); +#line 93 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (!_tmp1_) { +#line 94 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + result = FALSE; +#line 94 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return result; +#line 855 "MediaViewTracker.c" + } +#line 96 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp2_ = object; +#line 96 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp3_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_VIEW, DataView)); +#line 96 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_FLAGGABLE) ? ((Flaggable*) _tmp3_) : NULL; +#line 96 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp4_ == NULL) { +#line 96 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (_tmp3_); +#line 867 "MediaViewTracker.c" + } +#line 96 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + flaggable = _tmp4_; +#line 97 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp5_ = flaggable; +#line 97 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp5_ == NULL) { +#line 98 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + result = FALSE; +#line 98 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (flaggable); +#line 98 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return result; +#line 881 "MediaViewTracker.c" + } +#line 100 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp6_ = flaggable; +#line 100 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp7_ = flaggable_is_flagged (_tmp6_); +#line 100 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp7_) { +#line 889 "MediaViewTracker.c" + gint _tmp8_ = 0; +#line 101 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp8_ = self->flagged; +#line 101 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->flagged = _tmp8_ + 1; +#line 895 "MediaViewTracker.c" + } else { + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 103 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp9_ = self->flagged; +#line 103 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _vala_assert (_tmp9_ > 0, "flagged > 0"); +#line 104 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp10_ = self->flagged; +#line 104 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->flagged = _tmp10_ - 1; +#line 907 "MediaViewTracker.c" + } +#line 107 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + result = TRUE; +#line 107 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (flaggable); +#line 107 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return result; +#line 915 "MediaViewTracker.c" +} + + +gchar* media_accumulator_to_string (MediaAccumulator* self) { + gchar* result = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gchar* _tmp4_ = NULL; +#line 110 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + g_return_val_if_fail (IS_MEDIA_ACCUMULATOR (self), NULL); +#line 111 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp0_ = self->photos; +#line 111 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp1_ = self->videos; +#line 111 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp2_ = self->raw; +#line 111 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp3_ = self->flagged; +#line 111 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp4_ = g_strdup_printf ("%d photos/%d videos/%d raw/%d flagged", _tmp0_, _tmp1_, _tmp2_, _tmp3_); +#line 111 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + result = _tmp4_; +#line 111 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return result; +#line 942 "MediaViewTracker.c" +} + + +MediaAccumulator* media_accumulator_construct (GType object_type) { + MediaAccumulator * self = NULL; +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self = (MediaAccumulator*) g_object_new (object_type, NULL); +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return self; +#line 952 "MediaViewTracker.c" +} + + +MediaAccumulator* media_accumulator_new (void) { +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return media_accumulator_construct (TYPE_MEDIA_ACCUMULATOR); +#line 959 "MediaViewTracker.c" +} + + +static void media_accumulator_class_init (MediaAccumulatorClass * klass) { +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + media_accumulator_parent_class = g_type_class_peek_parent (klass); +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + G_OBJECT_CLASS (klass)->finalize = media_accumulator_finalize; +#line 968 "MediaViewTracker.c" +} + + +static void media_accumulator_core_tracker_accumulator_interface_init (CoreTrackerAccumulatorIface * iface) { +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + media_accumulator_core_tracker_accumulator_parent_iface = g_type_interface_peek_parent (iface); +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + iface->include = (gboolean (*)(CoreTrackerAccumulator*, DataObject*)) media_accumulator_real_include; +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + iface->uninclude = (gboolean (*)(CoreTrackerAccumulator*, DataObject*)) media_accumulator_real_uninclude; +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + iface->altered = (gboolean (*)(CoreTrackerAccumulator*, DataObject*, Alteration*)) media_accumulator_real_altered; +#line 981 "MediaViewTracker.c" +} + + +static void media_accumulator_instance_init (MediaAccumulator * self) { +#line 20 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->total = 0; +#line 21 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->photos = 0; +#line 22 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->videos = 0; +#line 23 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->raw = 0; +#line 24 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->flagged = 0; +#line 996 "MediaViewTracker.c" +} + + +static void media_accumulator_finalize (GObject* obj) { + MediaAccumulator * self; +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MEDIA_ACCUMULATOR, MediaAccumulator); +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + G_OBJECT_CLASS (media_accumulator_parent_class)->finalize (obj); +#line 1006 "MediaViewTracker.c" +} + + +GType media_accumulator_get_type (void) { + static volatile gsize media_accumulator_type_id__volatile = 0; + if (g_once_init_enter (&media_accumulator_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MediaAccumulatorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) media_accumulator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MediaAccumulator), 0, (GInstanceInitFunc) media_accumulator_instance_init, NULL }; + static const GInterfaceInfo core_tracker_accumulator_info = { (GInterfaceInitFunc) media_accumulator_core_tracker_accumulator_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType media_accumulator_type_id; + media_accumulator_type_id = g_type_register_static (G_TYPE_OBJECT, "MediaAccumulator", &g_define_type_info, 0); + g_type_add_interface_static (media_accumulator_type_id, CORE_TYPE_TRACKER_ACCUMULATOR, &core_tracker_accumulator_info); + g_once_init_leave (&media_accumulator_type_id__volatile, media_accumulator_type_id); + } + return media_accumulator_type_id__volatile; +} + + + -- cgit v1.2.3