summaryrefslogtreecommitdiff
path: root/src/core/DataSourceTypes.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/DataSourceTypes.c')
-rw-r--r--src/core/DataSourceTypes.c1127
1 files changed, 1127 insertions, 0 deletions
diff --git a/src/core/DataSourceTypes.c b/src/core/DataSourceTypes.c
new file mode 100644
index 0000000..0abd6e8
--- /dev/null
+++ b/src/core/DataSourceTypes.c
@@ -0,0 +1,1127 @@
+/* DataSourceTypes.c generated by valac 0.32.1, the Vala compiler
+ * generated from DataSourceTypes.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.
+ */
+/**/
+/* Media sources*/
+/**/
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#include <gio/gio.h>
+#include <time.h>
+#include <gee.h>
+
+
+#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;
+typedef struct _DataObjectPrivate DataObjectPrivate;
+
+#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 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_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;
+typedef struct _DataSourcePrivate DataSourcePrivate;
+
+#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ())
+#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank))
+#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass))
+#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK))
+#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK))
+#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass))
+
+typedef struct _SourceHoldingTank SourceHoldingTank;
+typedef struct _SourceHoldingTankClass SourceHoldingTankClass;
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_SOURCE_SNAPSHOT (source_snapshot_get_type ())
+#define SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshot))
+#define SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass))
+#define IS_SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_SNAPSHOT))
+#define IS_SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_SNAPSHOT))
+#define SOURCE_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass))
+
+typedef struct _SourceSnapshot SourceSnapshot;
+typedef struct _SourceSnapshotClass SourceSnapshotClass;
+
+#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;
+typedef struct _ThumbnailSourcePrivate ThumbnailSourcePrivate;
+
+#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ())
+
+#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_VIEW (thumbnail_view_get_type ())
+#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView))
+#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW))
+#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW))
+#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+
+typedef struct _ThumbnailView ThumbnailView;
+typedef struct _ThumbnailViewClass ThumbnailViewClass;
+
+#define TYPE_INDEXABLE (indexable_get_type ())
+#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable))
+#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE))
+#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface))
+
+typedef struct _Indexable Indexable;
+typedef struct _IndexableIface IndexableIface;
+
+#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;
+typedef struct _MediaSourcePrivate MediaSourcePrivate;
+
+#define TYPE_EVENT_ID (event_id_get_type ())
+typedef struct _EventID EventID;
+
+#define TYPE_BACKING_FILE_STATE (backing_file_state_get_type ())
+#define BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_FILE_STATE, BackingFileState))
+#define BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_FILE_STATE, BackingFileStateClass))
+#define IS_BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_FILE_STATE))
+#define IS_BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_FILE_STATE))
+#define BACKING_FILE_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_FILE_STATE, BackingFileStateClass))
+
+typedef struct _BackingFileState BackingFileState;
+typedef struct _BackingFileStateClass BackingFileStateClass;
+
+#define TYPE_RATING (rating_get_type ())
+
+#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ())
+
+#define TYPE_DIMENSIONS (dimensions_get_type ())
+typedef struct _Dimensions Dimensions;
+
+#define TYPE_SCALING (scaling_get_type ())
+
+#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ())
+typedef struct _Scaling Scaling;
+
+#define TYPE_IMPORT_ID (import_id_get_type ())
+typedef struct _ImportID ImportID;
+
+#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;
+typedef struct _PhotoSourcePrivate PhotoSourcePrivate;
+
+#define TYPE_MEDIA_METADATA (media_metadata_get_type ())
+#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata))
+#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass))
+#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA))
+#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA))
+#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass))
+
+typedef struct _MediaMetadata MediaMetadata;
+typedef struct _MediaMetadataClass MediaMetadataClass;
+
+#define TYPE_PHOTO_METADATA (photo_metadata_get_type ())
+#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata))
+#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass))
+#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA))
+#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA))
+#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass))
+
+typedef struct _PhotoMetadata PhotoMetadata;
+typedef struct _PhotoMetadataClass PhotoMetadataClass;
+
+#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;
+typedef struct _VideoSourcePrivate VideoSourcePrivate;
+
+#define TYPE_EVENT_SOURCE (event_source_get_type ())
+#define EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE, EventSource))
+#define EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE, EventSourceClass))
+#define IS_EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE))
+#define IS_EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE))
+#define EVENT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE, EventSourceClass))
+
+typedef struct _EventSource EventSource;
+typedef struct _EventSourceClass EventSourceClass;
+typedef struct _EventSourcePrivate EventSourcePrivate;
+
+#define TYPE_CONTAINER_SOURCE (container_source_get_type ())
+#define CONTAINER_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE, ContainerSource))
+#define IS_CONTAINER_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE))
+#define CONTAINER_SOURCE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_CONTAINER_SOURCE, ContainerSourceIface))
+
+typedef struct _ContainerSource ContainerSource;
+typedef struct _ContainerSourceIface ContainerSourceIface;
+
+#define TYPE_SOURCE_BACKLINK (source_backlink_get_type ())
+#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink))
+#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass))
+#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK))
+#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK))
+#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass))
+
+typedef struct _SourceBacklink SourceBacklink;
+typedef struct _SourceBacklinkClass SourceBacklinkClass;
+
+struct _DataObject {
+ GObject parent_instance;
+ DataObjectPrivate * priv;
+};
+
+struct _DataObjectClass {
+ GObjectClass parent_class;
+ void (*notify_altered) (DataObject* self, Alteration* alteration);
+ void (*notify_membership_changed) (DataObject* self, DataCollection* collection);
+ void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val);
+ void (*notify_collection_property_cleared) (DataObject* self, const gchar* name);
+ gchar* (*get_name) (DataObject* self);
+ gchar* (*to_string) (DataObject* self);
+};
+
+struct _DataSource {
+ DataObject parent_instance;
+ DataSourcePrivate * priv;
+};
+
+struct _DataSourceClass {
+ DataObjectClass parent_class;
+ void (*notify_held_in_tank) (DataSource* self, SourceHoldingTank* holding_tank);
+ void (*notify_unlinking) (DataSource* self, SourceCollection* collection);
+ void (*notify_unlinked) (DataSource* self);
+ void (*notify_relinking) (DataSource* self, SourceCollection* collection);
+ void (*notify_relinked) (DataSource* self);
+ gchar* (*get_typename) (DataSource* self);
+ gint64 (*get_instance_id) (DataSource* self);
+ gchar* (*get_source_id) (DataSource* self);
+ void (*commit_backlinks) (DataSource* self, SourceCollection* sources, const gchar* dehydrated);
+ SourceSnapshot* (*save_snapshot) (DataSource* self);
+ gboolean (*internal_delete_backing) (DataSource* self, GError** error);
+ gboolean (*equals) (DataSource* self, DataSource* source);
+ void (*destroy) (DataSource* self);
+ void (*unlinked) (DataSource* self, SourceCollection* sources);
+ void (*relinked) (DataSource* self, SourceCollection* sources);
+ void (*destroyed) (DataSource* self);
+};
+
+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;
+
+struct _ThumbnailSource {
+ DataSource parent_instance;
+ ThumbnailSourcePrivate * priv;
+};
+
+struct _ThumbnailSourceClass {
+ DataSourceClass parent_class;
+ void (*notify_thumbnail_altered) (ThumbnailSource* self);
+ GdkPixbuf* (*get_thumbnail) (ThumbnailSource* self, gint scale, GError** error);
+ GdkPixbuf* (*create_thumbnail) (ThumbnailSource* self, gint scale, GError** error);
+ gchar* (*get_representative_id) (ThumbnailSource* self);
+ PhotoFileFormat (*get_preferred_thumbnail_format) (ThumbnailSource* self);
+ void (*thumbnail_altered) (ThumbnailSource* self);
+};
+
+typedef void (*DataSourceContactSubscriber) (DataView* view, void* user_data);
+struct _IndexableIface {
+ GTypeInterface parent_iface;
+ const gchar* (*get_indexable_keywords) (Indexable* self);
+};
+
+struct _EventID {
+ gint64 id;
+};
+
+typedef enum {
+ RATING_REJECTED = -1,
+ RATING_UNRATED = 0,
+ RATING_ONE = 1,
+ RATING_TWO = 2,
+ RATING_THREE = 3,
+ RATING_FOUR = 4,
+ RATING_FIVE = 5
+} Rating;
+
+typedef enum {
+ PHOTO_EXCEPTION_NONE = 0,
+ PHOTO_EXCEPTION_ORIENTATION = 1 << 0,
+ PHOTO_EXCEPTION_CROP = 1 << 1,
+ PHOTO_EXCEPTION_REDEYE = 1 << 2,
+ PHOTO_EXCEPTION_ADJUST = 1 << 3,
+ PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4,
+ PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL
+} PhotoException;
+
+struct _Dimensions {
+ gint width;
+ gint height;
+};
+
+typedef enum {
+ SCALE_CONSTRAINT_ORIGINAL,
+ SCALE_CONSTRAINT_DIMENSIONS,
+ SCALE_CONSTRAINT_WIDTH,
+ SCALE_CONSTRAINT_HEIGHT,
+ SCALE_CONSTRAINT_FILL_VIEWPORT
+} ScaleConstraint;
+
+struct _Scaling {
+ ScaleConstraint constraint;
+ gint scale;
+ Dimensions viewport;
+ gboolean scale_up;
+};
+
+struct _ImportID {
+ gint64 id;
+};
+
+struct _MediaSource {
+ ThumbnailSource parent_instance;
+ MediaSourcePrivate * priv;
+};
+
+struct _MediaSourceClass {
+ ThumbnailSourceClass parent_class;
+ void (*notify_master_replaced) (MediaSource* self, GFile* old_file, GFile* new_file);
+ gboolean (*set_event_id) (MediaSource* self, EventID* id);
+ gchar* (*get_basename) (MediaSource* self);
+ GFile* (*get_file) (MediaSource* self);
+ GFile* (*get_master_file) (MediaSource* self);
+ guint64 (*get_master_filesize) (MediaSource* self);
+ guint64 (*get_filesize) (MediaSource* self);
+ time_t (*get_timestamp) (MediaSource* self);
+ BackingFileState** (*get_backing_files_state) (MediaSource* self, int* result_length1);
+ gchar* (*get_title) (MediaSource* self);
+ gchar* (*get_comment) (MediaSource* self);
+ void (*set_title) (MediaSource* self, const gchar* title);
+ gboolean (*set_comment) (MediaSource* self, const gchar* comment);
+ Rating (*get_rating) (MediaSource* self);
+ void (*set_rating) (MediaSource* self, Rating rating);
+ void (*increase_rating) (MediaSource* self);
+ void (*decrease_rating) (MediaSource* self);
+ void (*get_dimensions) (MediaSource* self, PhotoException disallowed_steps, Dimensions* result);
+ GdkPixbuf* (*get_preview_pixbuf) (MediaSource* self, Scaling* scaling, GError** error);
+ gboolean (*is_trashed) (MediaSource* self);
+ void (*trash) (MediaSource* self);
+ void (*untrash) (MediaSource* self);
+ gboolean (*is_offline) (MediaSource* self);
+ void (*mark_offline) (MediaSource* self);
+ void (*mark_online) (MediaSource* self);
+ gchar* (*get_master_md5) (MediaSource* self);
+ void (*get_event_id) (MediaSource* self, EventID* result);
+ time_t (*get_exposure_time) (MediaSource* self);
+ void (*get_import_id) (MediaSource* self, ImportID* result);
+ void (*master_replaced) (MediaSource* self, GFile* old_file, GFile* new_file);
+};
+
+struct _PhotoSource {
+ MediaSource parent_instance;
+ PhotoSourcePrivate * priv;
+};
+
+struct _PhotoSourceClass {
+ MediaSourceClass parent_class;
+ PhotoMetadata* (*get_metadata) (PhotoSource* self);
+ GdkPixbuf* (*get_pixbuf) (PhotoSource* self, Scaling* scaling, GError** error);
+};
+
+struct _VideoSource {
+ MediaSource parent_instance;
+ VideoSourcePrivate * priv;
+};
+
+struct _VideoSourceClass {
+ MediaSourceClass parent_class;
+};
+
+struct _EventSource {
+ ThumbnailSource parent_instance;
+ EventSourcePrivate * priv;
+};
+
+struct _EventSourceClass {
+ ThumbnailSourceClass parent_class;
+ time_t (*get_start_time) (EventSource* self);
+ time_t (*get_end_time) (EventSource* self);
+ guint64 (*get_total_filesize) (EventSource* self);
+ gint (*get_media_count) (EventSource* self);
+ GeeCollection* (*get_media) (EventSource* self);
+ gchar* (*get_comment) (EventSource* self);
+ gboolean (*set_comment) (EventSource* self, const gchar* comment);
+};
+
+struct _ContainerSourceIface {
+ GTypeInterface parent_iface;
+ gboolean (*has_links) (ContainerSource* self);
+ SourceBacklink* (*get_backlink) (ContainerSource* self);
+ void (*break_link) (ContainerSource* self, DataSource* source);
+ void (*break_link_many) (ContainerSource* self, GeeCollection* sources);
+ void (*establish_link) (ContainerSource* self, DataSource* source);
+ void (*establish_link_many) (ContainerSource* self, GeeCollection* sources);
+};
+
+
+static gpointer thumbnail_source_parent_class = NULL;
+static gpointer photo_source_parent_class = NULL;
+static gpointer video_source_parent_class = NULL;
+static gpointer event_source_parent_class = 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;
+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 data_source_get_type (void) G_GNUC_CONST;
+gpointer source_holding_tank_ref (gpointer instance);
+void source_holding_tank_unref (gpointer instance);
+GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_source_holding_tank (GValue* value, gpointer v_object);
+void value_take_source_holding_tank (GValue* value, gpointer v_object);
+gpointer value_get_source_holding_tank (const GValue* value);
+GType source_holding_tank_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+gpointer source_snapshot_ref (gpointer instance);
+void source_snapshot_unref (gpointer instance);
+GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_source_snapshot (GValue* value, gpointer v_object);
+void value_take_source_snapshot (GValue* value, gpointer v_object);
+gpointer value_get_source_snapshot (const GValue* value);
+GType source_snapshot_get_type (void) G_GNUC_CONST;
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+GType photo_file_format_get_type (void) G_GNUC_CONST;
+enum {
+ THUMBNAIL_SOURCE_DUMMY_PROPERTY
+};
+ThumbnailSource* thumbnail_source_construct (GType object_type, gint64 object_id);
+DataSource* data_source_construct (GType object_type, gint64 object_id);
+void thumbnail_source_notify_thumbnail_altered (ThumbnailSource* self);
+static void thumbnail_source_real_notify_thumbnail_altered (ThumbnailSource* self);
+GType data_view_get_type (void) G_GNUC_CONST;
+void data_source_contact_subscribers (DataSource* self, DataSourceContactSubscriber contact_subscriber, void* contact_subscriber_target);
+static void thumbnail_source_subscriber_thumbnail_altered (ThumbnailSource* self, DataView* view);
+static void _thumbnail_source_subscriber_thumbnail_altered_data_source_contact_subscriber (DataView* view, gpointer self);
+GType thumbnail_view_get_type (void) G_GNUC_CONST;
+void thumbnail_view_notify_thumbnail_altered (ThumbnailView* self);
+GdkPixbuf* thumbnail_source_get_thumbnail (ThumbnailSource* self, gint scale, GError** error);
+static GdkPixbuf* thumbnail_source_real_get_thumbnail (ThumbnailSource* self, gint scale, GError** error);
+GdkPixbuf* thumbnail_source_create_thumbnail (ThumbnailSource* self, gint scale, GError** error);
+static GdkPixbuf* thumbnail_source_real_create_thumbnail (ThumbnailSource* self, gint scale, GError** error);
+gchar* thumbnail_source_get_representative_id (ThumbnailSource* self);
+static gchar* thumbnail_source_real_get_representative_id (ThumbnailSource* self);
+gchar* data_source_get_source_id (DataSource* self);
+PhotoFileFormat thumbnail_source_get_preferred_thumbnail_format (ThumbnailSource* self);
+static PhotoFileFormat thumbnail_source_real_get_preferred_thumbnail_format (ThumbnailSource* self);
+static void thumbnail_source_real_thumbnail_altered (ThumbnailSource* self);
+GType indexable_get_type (void) G_GNUC_CONST;
+GType media_source_get_type (void) G_GNUC_CONST;
+GType event_id_get_type (void) G_GNUC_CONST;
+EventID* event_id_dup (const EventID* self);
+void event_id_free (EventID* self);
+gpointer backing_file_state_ref (gpointer instance);
+void backing_file_state_unref (gpointer instance);
+GParamSpec* param_spec_backing_file_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_backing_file_state (GValue* value, gpointer v_object);
+void value_take_backing_file_state (GValue* value, gpointer v_object);
+gpointer value_get_backing_file_state (const GValue* value);
+GType backing_file_state_get_type (void) G_GNUC_CONST;
+GType rating_get_type (void) G_GNUC_CONST;
+GType photo_exception_get_type (void) G_GNUC_CONST;
+GType dimensions_get_type (void) G_GNUC_CONST;
+Dimensions* dimensions_dup (const Dimensions* self);
+void dimensions_free (Dimensions* self);
+GType scaling_get_type (void) G_GNUC_CONST;
+GType scale_constraint_get_type (void) G_GNUC_CONST;
+Scaling* scaling_dup (const Scaling* self);
+void scaling_free (Scaling* self);
+GType import_id_get_type (void) G_GNUC_CONST;
+ImportID* import_id_dup (const ImportID* self);
+void import_id_free (ImportID* self);
+GType photo_source_get_type (void) G_GNUC_CONST;
+gpointer media_metadata_ref (gpointer instance);
+void media_metadata_unref (gpointer instance);
+GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_media_metadata (GValue* value, gpointer v_object);
+void value_take_media_metadata (GValue* value, gpointer v_object);
+gpointer value_get_media_metadata (const GValue* value);
+GType media_metadata_get_type (void) G_GNUC_CONST;
+GType photo_metadata_get_type (void) G_GNUC_CONST;
+enum {
+ PHOTO_SOURCE_DUMMY_PROPERTY
+};
+PhotoSource* photo_source_construct (GType object_type, gint64 object_id);
+MediaSource* media_source_construct (GType object_type, gint64 object_id);
+PhotoMetadata* photo_source_get_metadata (PhotoSource* self);
+static PhotoMetadata* photo_source_real_get_metadata (PhotoSource* self);
+GdkPixbuf* photo_source_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error);
+static GdkPixbuf* photo_source_real_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error);
+GType video_source_get_type (void) G_GNUC_CONST;
+enum {
+ VIDEO_SOURCE_DUMMY_PROPERTY
+};
+VideoSource* video_source_construct (GType object_type);
+#define DATA_OBJECT_INVALID_OBJECT_ID ((gint64) -1)
+GType event_source_get_type (void) G_GNUC_CONST;
+enum {
+ EVENT_SOURCE_DUMMY_PROPERTY
+};
+EventSource* event_source_construct (GType object_type, gint64 object_id);
+time_t event_source_get_start_time (EventSource* self);
+static time_t event_source_real_get_start_time (EventSource* self);
+time_t event_source_get_end_time (EventSource* self);
+static time_t event_source_real_get_end_time (EventSource* self);
+guint64 event_source_get_total_filesize (EventSource* self);
+static guint64 event_source_real_get_total_filesize (EventSource* self);
+gint event_source_get_media_count (EventSource* self);
+static gint event_source_real_get_media_count (EventSource* self);
+GeeCollection* event_source_get_media (EventSource* self);
+static GeeCollection* event_source_real_get_media (EventSource* self);
+gchar* event_source_get_comment (EventSource* self);
+static gchar* event_source_real_get_comment (EventSource* self);
+gboolean event_source_set_comment (EventSource* self, const gchar* comment);
+static gboolean event_source_real_set_comment (EventSource* self, const gchar* comment);
+gpointer source_backlink_ref (gpointer instance);
+void source_backlink_unref (gpointer instance);
+GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_source_backlink (GValue* value, gpointer v_object);
+void value_take_source_backlink (GValue* value, gpointer v_object);
+gpointer value_get_source_backlink (const GValue* value);
+GType source_backlink_get_type (void) G_GNUC_CONST;
+GType container_source_get_type (void) G_GNUC_CONST;
+gboolean container_source_has_links (ContainerSource* self);
+SourceBacklink* container_source_get_backlink (ContainerSource* self);
+void container_source_break_link (ContainerSource* self, DataSource* source);
+void container_source_break_link_many (ContainerSource* self, GeeCollection* sources);
+void container_source_establish_link (ContainerSource* self, DataSource* source);
+void container_source_establish_link_many (ContainerSource* self, GeeCollection* sources);
+
+
+ThumbnailSource* thumbnail_source_construct (GType object_type, gint64 object_id) {
+ ThumbnailSource * self = NULL;
+ gint64 _tmp0_ = 0LL;
+#line 16 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ _tmp0_ = object_id;
+#line 16 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ self = (ThumbnailSource*) data_source_construct (object_type, _tmp0_);
+#line 15 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return self;
+#line 604 "DataSourceTypes.c"
+}
+
+
+static void _thumbnail_source_subscriber_thumbnail_altered_data_source_contact_subscriber (DataView* view, gpointer self) {
+#line 24 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ thumbnail_source_subscriber_thumbnail_altered ((ThumbnailSource*) self, view);
+#line 611 "DataSourceTypes.c"
+}
+
+
+static void thumbnail_source_real_notify_thumbnail_altered (ThumbnailSource* self) {
+#line 21 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_signal_emit_by_name (self, "thumbnail-altered");
+#line 24 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ data_source_contact_subscribers (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource), _thumbnail_source_subscriber_thumbnail_altered_data_source_contact_subscriber, self);
+#line 620 "DataSourceTypes.c"
+}
+
+
+void thumbnail_source_notify_thumbnail_altered (ThumbnailSource* self) {
+#line 19 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_if_fail (IS_THUMBNAIL_SOURCE (self));
+#line 19 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ THUMBNAIL_SOURCE_GET_CLASS (self)->notify_thumbnail_altered (self);
+#line 629 "DataSourceTypes.c"
+}
+
+
+static void thumbnail_source_subscriber_thumbnail_altered (ThumbnailSource* self, DataView* view) {
+ DataView* _tmp0_ = NULL;
+#line 27 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_if_fail (IS_THUMBNAIL_SOURCE (self));
+#line 27 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_if_fail (IS_DATA_VIEW (view));
+#line 28 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ _tmp0_ = view;
+#line 28 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ thumbnail_view_notify_thumbnail_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_THUMBNAIL_VIEW, ThumbnailView));
+#line 643 "DataSourceTypes.c"
+}
+
+
+static GdkPixbuf* thumbnail_source_real_get_thumbnail (ThumbnailSource* self, gint scale, GError** error) {
+#line 31 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_critical ("Type `%s' does not implement abstract method `thumbnail_source_get_thumbnail'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 31 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return NULL;
+#line 652 "DataSourceTypes.c"
+}
+
+
+GdkPixbuf* thumbnail_source_get_thumbnail (ThumbnailSource* self, gint scale, GError** error) {
+#line 31 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_THUMBNAIL_SOURCE (self), NULL);
+#line 31 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return THUMBNAIL_SOURCE_GET_CLASS (self)->get_thumbnail (self, scale, error);
+#line 661 "DataSourceTypes.c"
+}
+
+
+static GdkPixbuf* thumbnail_source_real_create_thumbnail (ThumbnailSource* self, gint scale, GError** error) {
+#line 35 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_critical ("Type `%s' does not implement abstract method `thumbnail_source_create_thumbnail'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 35 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return NULL;
+#line 670 "DataSourceTypes.c"
+}
+
+
+GdkPixbuf* thumbnail_source_create_thumbnail (ThumbnailSource* self, gint scale, GError** error) {
+#line 35 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_THUMBNAIL_SOURCE (self), NULL);
+#line 35 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return THUMBNAIL_SOURCE_GET_CLASS (self)->create_thumbnail (self, scale, error);
+#line 679 "DataSourceTypes.c"
+}
+
+
+static gchar* thumbnail_source_real_get_representative_id (ThumbnailSource* self) {
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 47 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ _tmp0_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource));
+#line 47 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ result = _tmp0_;
+#line 47 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return result;
+#line 692 "DataSourceTypes.c"
+}
+
+
+gchar* thumbnail_source_get_representative_id (ThumbnailSource* self) {
+#line 46 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_THUMBNAIL_SOURCE (self), NULL);
+#line 46 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return THUMBNAIL_SOURCE_GET_CLASS (self)->get_representative_id (self);
+#line 701 "DataSourceTypes.c"
+}
+
+
+static PhotoFileFormat thumbnail_source_real_get_preferred_thumbnail_format (ThumbnailSource* self) {
+#line 50 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_critical ("Type `%s' does not implement abstract method `thumbnail_source_get_preferred_thumbnail_format'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 50 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return 0;
+#line 710 "DataSourceTypes.c"
+}
+
+
+PhotoFileFormat thumbnail_source_get_preferred_thumbnail_format (ThumbnailSource* self) {
+#line 50 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_THUMBNAIL_SOURCE (self), 0);
+#line 50 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return THUMBNAIL_SOURCE_GET_CLASS (self)->get_preferred_thumbnail_format (self);
+#line 719 "DataSourceTypes.c"
+}
+
+
+static void thumbnail_source_real_thumbnail_altered (ThumbnailSource* self) {
+}
+
+
+static void thumbnail_source_class_init (ThumbnailSourceClass * klass) {
+#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ thumbnail_source_parent_class = g_type_class_peek_parent (klass);
+#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((ThumbnailSourceClass *) klass)->notify_thumbnail_altered = thumbnail_source_real_notify_thumbnail_altered;
+#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((ThumbnailSourceClass *) klass)->get_thumbnail = thumbnail_source_real_get_thumbnail;
+#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((ThumbnailSourceClass *) klass)->create_thumbnail = thumbnail_source_real_create_thumbnail;
+#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((ThumbnailSourceClass *) klass)->get_representative_id = thumbnail_source_real_get_representative_id;
+#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((ThumbnailSourceClass *) klass)->get_preferred_thumbnail_format = thumbnail_source_real_get_preferred_thumbnail_format;
+#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((ThumbnailSourceClass *) klass)->thumbnail_altered = thumbnail_source_real_thumbnail_altered;
+#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_signal_new ("thumbnail_altered", TYPE_THUMBNAIL_SOURCE, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ThumbnailSourceClass, thumbnail_altered), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+#line 744 "DataSourceTypes.c"
+}
+
+
+static void thumbnail_source_instance_init (ThumbnailSource * self) {
+}
+
+
+GType thumbnail_source_get_type (void) {
+ static volatile gsize thumbnail_source_type_id__volatile = 0;
+ if (g_once_init_enter (&thumbnail_source_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (ThumbnailSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) thumbnail_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ThumbnailSource), 0, (GInstanceInitFunc) thumbnail_source_instance_init, NULL };
+ GType thumbnail_source_type_id;
+ thumbnail_source_type_id = g_type_register_static (TYPE_DATA_SOURCE, "ThumbnailSource", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
+ g_once_init_leave (&thumbnail_source_type_id__volatile, thumbnail_source_type_id);
+ }
+ return thumbnail_source_type_id__volatile;
+}
+
+
+PhotoSource* photo_source_construct (GType object_type, gint64 object_id) {
+ PhotoSource * self = NULL;
+ gint64 _tmp0_ = 0LL;
+#line 55 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ _tmp0_ = object_id;
+#line 55 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ self = (PhotoSource*) media_source_construct (object_type, _tmp0_);
+#line 54 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return self;
+#line 773 "DataSourceTypes.c"
+}
+
+
+static PhotoMetadata* photo_source_real_get_metadata (PhotoSource* self) {
+#line 58 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_critical ("Type `%s' does not implement abstract method `photo_source_get_metadata'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 58 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return NULL;
+#line 782 "DataSourceTypes.c"
+}
+
+
+PhotoMetadata* photo_source_get_metadata (PhotoSource* self) {
+#line 58 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_PHOTO_SOURCE (self), NULL);
+#line 58 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return PHOTO_SOURCE_GET_CLASS (self)->get_metadata (self);
+#line 791 "DataSourceTypes.c"
+}
+
+
+static GdkPixbuf* photo_source_real_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error) {
+#line 60 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_critical ("Type `%s' does not implement abstract method `photo_source_get_pixbuf'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 60 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return NULL;
+#line 800 "DataSourceTypes.c"
+}
+
+
+GdkPixbuf* photo_source_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error) {
+#line 60 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_PHOTO_SOURCE (self), NULL);
+#line 60 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return PHOTO_SOURCE_GET_CLASS (self)->get_pixbuf (self, scaling, error);
+#line 809 "DataSourceTypes.c"
+}
+
+
+static void photo_source_class_init (PhotoSourceClass * klass) {
+#line 53 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ photo_source_parent_class = g_type_class_peek_parent (klass);
+#line 53 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((PhotoSourceClass *) klass)->get_metadata = photo_source_real_get_metadata;
+#line 53 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((PhotoSourceClass *) klass)->get_pixbuf = photo_source_real_get_pixbuf;
+#line 820 "DataSourceTypes.c"
+}
+
+
+static void photo_source_instance_init (PhotoSource * self) {
+}
+
+
+GType photo_source_get_type (void) {
+ static volatile gsize photo_source_type_id__volatile = 0;
+ if (g_once_init_enter (&photo_source_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (PhotoSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoSource), 0, (GInstanceInitFunc) photo_source_instance_init, NULL };
+ GType photo_source_type_id;
+ photo_source_type_id = g_type_register_static (TYPE_MEDIA_SOURCE, "PhotoSource", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
+ g_once_init_leave (&photo_source_type_id__volatile, photo_source_type_id);
+ }
+ return photo_source_type_id__volatile;
+}
+
+
+VideoSource* video_source_construct (GType object_type) {
+ VideoSource * self = NULL;
+#line 63 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ self = (VideoSource*) media_source_construct (object_type, DATA_OBJECT_INVALID_OBJECT_ID);
+#line 63 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return self;
+#line 846 "DataSourceTypes.c"
+}
+
+
+static void video_source_class_init (VideoSourceClass * klass) {
+#line 63 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ video_source_parent_class = g_type_class_peek_parent (klass);
+#line 853 "DataSourceTypes.c"
+}
+
+
+static void video_source_instance_init (VideoSource * self) {
+}
+
+
+GType video_source_get_type (void) {
+ static volatile gsize video_source_type_id__volatile = 0;
+ if (g_once_init_enter (&video_source_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (VideoSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoSource), 0, (GInstanceInitFunc) video_source_instance_init, NULL };
+ GType video_source_type_id;
+ video_source_type_id = g_type_register_static (TYPE_MEDIA_SOURCE, "VideoSource", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
+ g_once_init_leave (&video_source_type_id__volatile, video_source_type_id);
+ }
+ return video_source_type_id__volatile;
+}
+
+
+EventSource* event_source_construct (GType object_type, gint64 object_id) {
+ EventSource * self = NULL;
+ gint64 _tmp0_ = 0LL;
+#line 72 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ _tmp0_ = object_id;
+#line 72 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ self = (EventSource*) thumbnail_source_construct (object_type, _tmp0_);
+#line 71 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return self;
+#line 882 "DataSourceTypes.c"
+}
+
+
+static time_t event_source_real_get_start_time (EventSource* self) {
+#line 75 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_critical ("Type `%s' does not implement abstract method `event_source_get_start_time'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 75 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return 0;
+#line 891 "DataSourceTypes.c"
+}
+
+
+time_t event_source_get_start_time (EventSource* self) {
+#line 75 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_EVENT_SOURCE (self), 0);
+#line 75 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return EVENT_SOURCE_GET_CLASS (self)->get_start_time (self);
+#line 900 "DataSourceTypes.c"
+}
+
+
+static time_t event_source_real_get_end_time (EventSource* self) {
+#line 77 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_critical ("Type `%s' does not implement abstract method `event_source_get_end_time'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 77 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return 0;
+#line 909 "DataSourceTypes.c"
+}
+
+
+time_t event_source_get_end_time (EventSource* self) {
+#line 77 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_EVENT_SOURCE (self), 0);
+#line 77 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return EVENT_SOURCE_GET_CLASS (self)->get_end_time (self);
+#line 918 "DataSourceTypes.c"
+}
+
+
+static guint64 event_source_real_get_total_filesize (EventSource* self) {
+#line 79 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_critical ("Type `%s' does not implement abstract method `event_source_get_total_filesize'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 79 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return 0ULL;
+#line 927 "DataSourceTypes.c"
+}
+
+
+guint64 event_source_get_total_filesize (EventSource* self) {
+#line 79 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_EVENT_SOURCE (self), 0ULL);
+#line 79 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return EVENT_SOURCE_GET_CLASS (self)->get_total_filesize (self);
+#line 936 "DataSourceTypes.c"
+}
+
+
+static gint event_source_real_get_media_count (EventSource* self) {
+#line 81 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_critical ("Type `%s' does not implement abstract method `event_source_get_media_count'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 81 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return 0;
+#line 945 "DataSourceTypes.c"
+}
+
+
+gint event_source_get_media_count (EventSource* self) {
+#line 81 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_EVENT_SOURCE (self), 0);
+#line 81 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return EVENT_SOURCE_GET_CLASS (self)->get_media_count (self);
+#line 954 "DataSourceTypes.c"
+}
+
+
+static GeeCollection* event_source_real_get_media (EventSource* self) {
+#line 83 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_critical ("Type `%s' does not implement abstract method `event_source_get_media'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 83 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return NULL;
+#line 963 "DataSourceTypes.c"
+}
+
+
+GeeCollection* event_source_get_media (EventSource* self) {
+#line 83 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_EVENT_SOURCE (self), NULL);
+#line 83 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return EVENT_SOURCE_GET_CLASS (self)->get_media (self);
+#line 972 "DataSourceTypes.c"
+}
+
+
+static gchar* event_source_real_get_comment (EventSource* self) {
+#line 85 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_critical ("Type `%s' does not implement abstract method `event_source_get_comment'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 85 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return NULL;
+#line 981 "DataSourceTypes.c"
+}
+
+
+gchar* event_source_get_comment (EventSource* self) {
+#line 85 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_EVENT_SOURCE (self), NULL);
+#line 85 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return EVENT_SOURCE_GET_CLASS (self)->get_comment (self);
+#line 990 "DataSourceTypes.c"
+}
+
+
+static gboolean event_source_real_set_comment (EventSource* self, const gchar* comment) {
+#line 87 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_critical ("Type `%s' does not implement abstract method `event_source_set_comment'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 87 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return FALSE;
+#line 999 "DataSourceTypes.c"
+}
+
+
+gboolean event_source_set_comment (EventSource* self, const gchar* comment) {
+#line 87 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_EVENT_SOURCE (self), FALSE);
+#line 87 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return EVENT_SOURCE_GET_CLASS (self)->set_comment (self, comment);
+#line 1008 "DataSourceTypes.c"
+}
+
+
+static void event_source_class_init (EventSourceClass * klass) {
+#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ event_source_parent_class = g_type_class_peek_parent (klass);
+#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((EventSourceClass *) klass)->get_start_time = event_source_real_get_start_time;
+#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((EventSourceClass *) klass)->get_end_time = event_source_real_get_end_time;
+#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((EventSourceClass *) klass)->get_total_filesize = event_source_real_get_total_filesize;
+#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((EventSourceClass *) klass)->get_media_count = event_source_real_get_media_count;
+#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((EventSourceClass *) klass)->get_media = event_source_real_get_media;
+#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((EventSourceClass *) klass)->get_comment = event_source_real_get_comment;
+#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ ((EventSourceClass *) klass)->set_comment = event_source_real_set_comment;
+#line 1029 "DataSourceTypes.c"
+}
+
+
+static void event_source_instance_init (EventSource * self) {
+}
+
+
+GType event_source_get_type (void) {
+ static volatile gsize event_source_type_id__volatile = 0;
+ if (g_once_init_enter (&event_source_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (EventSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventSource), 0, (GInstanceInitFunc) event_source_instance_init, NULL };
+ GType event_source_type_id;
+ event_source_type_id = g_type_register_static (TYPE_THUMBNAIL_SOURCE, "EventSource", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
+ g_once_init_leave (&event_source_type_id__volatile, event_source_type_id);
+ }
+ return event_source_type_id__volatile;
+}
+
+
+gboolean container_source_has_links (ContainerSource* self) {
+#line 95 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_CONTAINER_SOURCE (self), FALSE);
+#line 95 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return CONTAINER_SOURCE_GET_INTERFACE (self)->has_links (self);
+#line 1054 "DataSourceTypes.c"
+}
+
+
+SourceBacklink* container_source_get_backlink (ContainerSource* self) {
+#line 97 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_val_if_fail (IS_CONTAINER_SOURCE (self), NULL);
+#line 97 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ return CONTAINER_SOURCE_GET_INTERFACE (self)->get_backlink (self);
+#line 1063 "DataSourceTypes.c"
+}
+
+
+void container_source_break_link (ContainerSource* self, DataSource* source) {
+#line 99 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_if_fail (IS_CONTAINER_SOURCE (self));
+#line 99 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ CONTAINER_SOURCE_GET_INTERFACE (self)->break_link (self, source);
+#line 1072 "DataSourceTypes.c"
+}
+
+
+void container_source_break_link_many (ContainerSource* self, GeeCollection* sources) {
+#line 101 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_if_fail (IS_CONTAINER_SOURCE (self));
+#line 101 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ CONTAINER_SOURCE_GET_INTERFACE (self)->break_link_many (self, sources);
+#line 1081 "DataSourceTypes.c"
+}
+
+
+void container_source_establish_link (ContainerSource* self, DataSource* source) {
+#line 103 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_if_fail (IS_CONTAINER_SOURCE (self));
+#line 103 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ CONTAINER_SOURCE_GET_INTERFACE (self)->establish_link (self, source);
+#line 1090 "DataSourceTypes.c"
+}
+
+
+void container_source_establish_link_many (ContainerSource* self, GeeCollection* sources) {
+#line 105 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ g_return_if_fail (IS_CONTAINER_SOURCE (self));
+#line 105 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ CONTAINER_SOURCE_GET_INTERFACE (self)->establish_link_many (self, sources);
+#line 1099 "DataSourceTypes.c"
+}
+
+
+static void container_source_base_init (ContainerSourceIface * iface) {
+#line 94 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ static gboolean initialized = FALSE;
+#line 94 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ if (!initialized) {
+#line 94 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala"
+ initialized = TRUE;
+#line 1110 "DataSourceTypes.c"
+ }
+}
+
+
+GType container_source_get_type (void) {
+ static volatile gsize container_source_type_id__volatile = 0;
+ if (g_once_init_enter (&container_source_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (ContainerSourceIface), (GBaseInitFunc) container_source_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
+ GType container_source_type_id;
+ container_source_type_id = g_type_register_static (G_TYPE_INTERFACE, "ContainerSource", &g_define_type_info, 0);
+ g_type_interface_add_prerequisite (container_source_type_id, TYPE_DATA_SOURCE);
+ g_once_init_leave (&container_source_type_id__volatile, container_source_type_id);
+ }
+ return container_source_type_id__volatile;
+}
+
+
+